[Amazon Connect]CTR(問い合わせレコードデータモデル)を活用する際に気をつけるポイントを整理してみた

Amazon ConnectのCTRを活用する際に気をつけるポイントを紹介します
2023.05.30

こんにちは、洲崎です。
Amazon ConnectにあるCTR(問い合わせレコードデータモデル)を活用する際、気をつけるポイントがありましたので紹介します。

CTR(問い合わせレコードデータモデル)とは

CTR(問い合わせレコードデータモデル)とは、Amazon Connectの通話で発生するイベントをキャプチャしたデータです。
1通話に少なくとも1回配信されます。
CTRに関連づけられた問い合わせ内容はAmazon Connect コンソールの「コンタクトの検索」から検索することができます。(仕様として24ヶ月分まで保存されます)
エージェント、お客様情報、キュー、録音ファイルの保存先など様々な通話情報が保存されるため、QuickSight・OpenSearch Serviceや外部のサードパーティ製品などで分析用のデータとして活用できます。

ここからはAmazon ConnectのCTRについて気をつけるポイントを3つ紹介します。

Amazon Connectに保存されているCTRデータは取り出すことができない

2023/5現在、Amazon Connectに溜まっているCTRデータは外部から接続するAPIが公開されておらずAmazon Connectから取り出すことはできません。
Amazon Connectの「コンタクトの検索」でCTRの一部項目(ContactId等)を確認することができますが、24ヶ月までしか保存されないのと、そこから生のCTRデータをダウンロードする機能はありません。
その為、Amazon Connectを運用し始めて、後から既存のCTRデータ含めて活用したいとなっても取り出すことができず、あくまでCTRデータの出力設定をした後のデータしか活用できない形となります。

もし、今後CTRデータを分析に利用したり、24ヶ月以上の録音データの再生を行いたい要件がある場合は、かならずAmazon Connectの導入前にAmazon ConnectからKinesisで外部にCTRデータを出力する設定を行いましょう。
Amazon S3に貯める場合はAmazon Connect→Kinesis Data Firehose→Amazon S3といった構成で出力設定を行うことが可能です。

Kinesis Data Firehoseで複数のCTRデータが1行のJSONに繋がってしまう

Amazon ConnectからS3にCTRデータを出力する際、間にAmazon Kinesis Data Firehoseを利用する形になります。
Amazon Connectに限らない話ですが、Kinesis Data Firehoseは一定間隔でファイルをS3に出力する際、その間の複数のjsonを1行で繋げて出力します。
もしこのCTRをAthenaやQuickSightで分析したい場合、1ファイルごとに改行(パース)を入れないと処理することができません。
CTRの出力設定時にFirehoseを利用する場合、パース処理を入れる設定を行うようにしましょう。

すでにKinesis Data Firehoseをデフォルトの設定のまま進めて、1行に繋がってしまってるデータが存在している場合はこちらの記事も有効です。

通話パターンによって項目で「Null」がある

CTRを分析する際、通話パターンによって項目で「Null」が存在します。
例えばQuickSightのフィルターとかで「Nullを除く」を設定した際、意図しない項目で「Null」があった場合、分析に支障をきたす可能性があります。
問い合わせが開始された記録を残すタイムスタンプは「InitiationTimestamp」と「ConnectedToSystemTimestamp」がありますが、発信時に通話が発生しなかった場合は「ConnectedToSystemTimestamp」はNullになります。
(着信時は通話のあり・なし関わらず「InitiationTimestamp」と「ConnectedToSystemTimestamp」は同じ時刻で記録されます)

CTRは段階的に機能がアップデートされる為、CTRを活用してデータ分析を行う場合は事前にドキュメントを目に通しておくようにしましょう。

テストコールの実施

事前に通話パターンごとにテストコールを実施して、どういった情報がCTRで出力されるのか確認することをおすすめします。
Amazon Connect→Kinesis Data Firehose →Amazon S3にデータを格納する場合、Firehoseで登録したインデックスにCTRデータが格納されます。

Amazon Connectの設定
Amazon Connectの「データストリーミングの有効化」でKinesis Data FirehoseかKinesis Data Streamsに出力する設定を行うことができます。

Kinesis Data Firehoseの設定
「送信先の設定」でS3バケットの指定と、格納する際のプレフィックスを指定することができます。

Amazon S3の中身
通話を行うと、Firehoseの設定した時間の間隔でS3にCTRデータが格納されます。
CTRの中身を確認する際は「S3 Selectを使用したクエリ」を利用すると便利です。

「形式」と「出力設定」をJSONで指定し「SQLクエリの実行」をクリックすると、CTRの中身を確認することができます。

最後に

Amazon ConnectのCTRを活用するときに気をつけるべきポイントをご紹介しました。
CTRは1通話ごとに様々なイベントや情報を保存する為、通話のデータを分析する際は非常に便利です。
一方、Amazon Connectから生のCTRデータをダウンロードできなかったり、Firehoseを経由させるときは追加で設定が必要だったりするので気をつけておきましょう。

ではまた!コンサルティング部の洲崎でした。