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サイトをご覧ください。