Amazon Connect の分散ブロックを使ってみた

アノテーションのスライマンです。
Amazon Connect のお問い合わせフローに A/B テストに活用することができる分散ブロックが存在しています。
このブロックを利用することで、設定した割合 (%) を元にフローはルーティングされます。
実際にどのように設定をして、どのようにルーティングされているかを紹介していきます。

お問い合わせフロー

分散ブロック自体は以下のフローに対応しておりますが、今回はインバウンドフローのブロックとして、利用していきます。

  • インバウンドフロー(Inbound Flow)
  • 顧客キューフロー(Customer queue flow)
  • 発信ウィスパーフロー(Outbound Whisper flow)
  • エージェントへの転送フロー(Transfer to Agent flow)
  • キューへの転送フロー(Transfer to Queue flow)

今回利用するお問い合わせフローは以下の通りとなります。

分散ブロックに、3つの項目を追加して、それぞれ違うブロックへ進むように設定します。

  • Test1 は 50% でキューへ転送のブロックへ進み顧客との電話に繋がります。
  • Test2 は 30% でプロンプトの再生ブロックへ進み、「Test2 です。」と音声が鳴り、その後電話は切断されます。
  • Test3 は 19% でプロンプトの再生ブロックへ進み、音楽が鳴り、その後電話は切断されます。

合計で 99% となっておりますが、残りの 1% はデフォルトのブランチと自動的に分散されます。
そのため、自分で設定した項目で 100% にすることはできませんでした。
最低でも 1% デフォルトのブランチ用に残す必要があります。

また、お問い合わせプローのログを確認したいので、ログ記録動作の設定のブロックを設定して、有効化を選択します。

実際にやってみた

既に設定されているインバウンドフローの電話番号に実際に電話を発信しました。
試しに分散ブロックに存在する全ての項目にルーティングされるまで発信をしました。
その後、CloudWatch Logs に保存されているお問い合わせフローログにどのようにルーティングが記録されているかを確認しました。

結果は合計 8 回の電話で Test1、Test2、Test3 の全てにルーティングされました。
割合は以下のようになりました。Test3 にルーティングされた時点で検証を止めましたので、もっと電話をすると設定した割合に近い可能性があります。

  • Test1 :5回(62,5%)
  • Test2 :2回(25%)
  • Test3 :1回(12,5%)

それぞれの項目の分散ブロックのログは以下となります。
ブロック名は DistributeByPercentage です。
分散された項目は Allocation 内に数字で記録されております。
Test1(1)、Test2(2)、Test3(4)、デフォルト(1) となります。
ルーティングの結果は Results より確認します。

  • Test1
    {
        "Results": "1",
        "ContactId": "ea2f190c-a101-420a-af17-XXXXXXXXXXXX",
        "ContactFlowId": "arn:aws:connect:us-east-1:123456789012:instance/e013010d-c287-401c-8e59-XXXXXXXXXXXX/contact-flow/f1abc29d-3835-4f37-XXXX-XXXXXXXXXXXX",
        "ContactFlowName": "Test Window 3",
        "ContactFlowModuleType": "DistributeByPercentage",
        "Timestamp": "2022-09-29T13:38:08.181Z",
        "Parameters": {
            "Allocation": {
                "1": "50",
                "2": "30",
                "3": "1",
                "4": "19"
            }
        }
    }

  • Test2

    {
        "Results": "2",
        "ContactId": "49c5e951-5bc4-4e8d-a22b-XXXXXXXXXXXX",
        "ContactFlowId": "arn:aws:connect:us-east-1:123456789012:instance/e013010d-c287-401c-8e59-XXXXXXXXXXXX/contact-flow/f1abc29d-3835-4f37-XXXX-XXXXXXXXXXXX",
        "ContactFlowName": "Test Window 3",
        "ContactFlowModuleType": "DistributeByPercentage",
        "Timestamp": "2022-09-29T13:38:25.259Z",
        "Parameters": {
            "Allocation": {
                "1": "50",
                "2": "30",
                "3": "1",
                "4": "19"
            }
        }
    }

  • Test3

    {
        "Results": "4",
        "ContactId": "f5da0b98-59d0-49dc-9180-XXXXXXXXXXXX",
        "ContactFlowId": "arn:aws:connect:us-east-1:123456789012:instance/e013010d-c287-401c-8e59-XXXXXXXXXXXX/contact-flow/f1abc29d-3835-4f37-XXXX-XXXXXXXXXXXX",
        "ContactFlowName": "Test Window 3",
        "ContactFlowModuleType": "DistributeByPercentage",
        "Timestamp": "2022-09-29T13:44:07.549Z",
        "Parameters": {
            "Allocation": {
                "1": "50",
                "2": "30",
                "3": "1",
                "4": "19"
            }
        }
    }

最後に

実際に使ってみると、お問い合わせフローログと一緒に確認するとどのようにルーティングされるかを把握することができました。 利用する機会は比較的に少ないかも知れないのですが、ぜひ使ってみてください。

参考

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。