Amazon Web Services ブログ
AWS でサーバーレスなエンティティ解決ワークフローを構築する方法
この記事は How to build serverless entity resolution workflows on AWS (記事公開日: 2024 年 1 月 8 日) を翻訳したものです。
消費者は、チャネルに関係なく、企業が高度に関連性のあるパーソナライズされた方法で自分たちとやり取りすることを期待しています。Twilio が行った調査では、消費者の 60% がパーソナライズされた体験の後にリピート購入すると述べています。McKinsey & Company の調査によると、70% 以上の消費者がパーソナライズされたジャーニーを期待しており、パーソナライゼーションを実施している組織は 10 〜 15% の収益増加を実現しています。
今日、マーケターや広告主は、ウェブ、モバイル、コンタクトセンター、ソーシャルメディアチャネルにわたってパーソナライズされたマーケティングや広告キャンペーンを展開するために、消費者データの統合ビューを必要としています。例えば、消費者がブランドのウェブサイトで商品を購入した直後に、同じ商品のプロモーションメールを送信することは避け、代わりに補完的な商品を提案することで、消費者のエンゲージメント、ロイヤリティ、ブランドへの信頼を高めたいと考えています。しかし、マーケターは多くの場合、様々なチャネル、事業部門、パートナー間で異なっている消費者データを最適化しなければなりません。これらのデータには、情報が不足していたり、スペルミスがあったり、不正確または古い情報が含まれているため、最適化が困難です。Experian の推定によると、94% もの組織が、自社の消費者や見込み客のデータが不正確である可能性を疑っています。この数値には、データ品質イニシアチブを実施していない企業で 10 〜 30% の重複率が含まれます。これらの課題に対処するために、企業は使いやすく、設定可能で、安全なエンティティ解決機能を必要としており、それによって消費者データを正確にマッチング、リンク、強化することができます。
このブログ記事では、AWS Entity Resolution を使用してサーバーレスにエンドツーエンドのエンティティ解決ソリューションを構築するのに役立つ、組み合わせ可能なアーキテクチャパターンについて説明します。AWS Entity Resolution は、柔軟で設定可能なワークフローを使用して、複数のアプリケーション、チャネル、データストアにわたる関連データのマッチング、リンク、強化を支援します。この記事では、AWS Entity Resolution を使用して、データの取り込みと準備(ニアリアルタイムおよびバッチベース)、マッチングの実行、ニアリアルタイムでマッチング結果を取得できる自動化されたデータパイプラインの構築に焦点を当てています。顧客は、80 以上の SaaS アプリケーションデータコネクタからのデータ取り込み、重複プロファイルを削除するためのエンティティ解決を含む統合プロファイルの作成、Amazon Connect Customer Profiles を使用した低レイテンシーのデータアクセスなど、エンドツーエンドのデータ管理ニーズにマネージドサービスも利用できます。関連する顧客情報の完全なビューを 1 か所で得ることで、企業はよりパーソナライズされた顧客サービスを提供し、関連性の高いキャンペーンを展開し、顧客満足度を向上させることができます。Amazon Connect で統合顧客プロファイルを構築する方法を読むか、Choice Hotels が統合旅行者プロファイルを構築するために Customer Profiles をどのように使用したかをご覧いただけます。
ハイレベルな例
提案するソリューションのコンテキストとして、大手 e コマースブランドである AnyCompany の例を使用しましょう。AnyCompany は、消費財(CPG)、電子機器、旅行など、100 以上のサブブランドを持っています。彼らは顧客にパーソナライズされた体験を提供し、顧客ロイヤルティを構築したいと考えています。組み合わせ可能なアーキテクチャパターンを使用して、AnyCompany は複数のソース(顧客関係管理(CRM)、顧客データプラットフォーム(CDP)、コンテンツ管理システム(CMS)、マスターデータ管理(MDM)システム)からレコードを取り込み、顧客の統合ビューを作成するサーバーレスソリューションを構築します。
ソリューションのアーキテクチャ
以下のアーキテクチャと説明は、様々な目的に特化したサーバーレス AWS サービスを使用したデータの取り込み、準備、解決のためのエンドツーエンドのフローの概要を提供します。
Step I – 履歴データ処理
- ワークフロー設定の初日(Day 0)として、エンゲージメントシステム(ソースシステム)に AWS Entity Resolution で解決される消費者に関する履歴データが含まれています。
- バッチデータ取り込みサービスまたは AWS Data Connector Solution を使用して、履歴データが Amazon Simple Storage Service(Amazon S3)の Raw Zone にロードされます。詳細については、AWS Cloud Data Ingestion Patterns and Practices を参照してください。
- AWS Entity Resolution 用に履歴データを準備するために、Amazon EventBridge ルールを使って AWS Step Functions Standard workflow を実行し、データエンジニアリングパイプラインをオーケストレーションします。Amazon EventBridge ルールは、バッチデータソースを処理するために特定の頻度で起動するようにスケジュールできます。
- AWS Step Functions Standard workflow 内で、AWS Glue ジョブが Raw Zone(Amazon S3 ロケーション)に格納されたデータを変換します。この手順を使って、個人を特定できる情報(PII)を検証、正規化、保護します。
- カスタマイズされたデータ正規化ワークフローの構築については、Guidance for Customizing Normalization Library for AWS Entity Resolution を参照してください。
- データの検証と標準化を含むデータ準備ワークフローの作成については、Guidance for Preparing and Validating Records for Entity Resolution on AWS を参照してください。
- 正規化および検証されたデータは、Clean Zone S3バケット内に CSV または parquet 形式で保存され、AWS Glue Catalog で AWS Glue テーブルとしてカタログ化されます。
- Clean Zone S3 バケットを設定し、EventBridge 通知を生成します。詳細については、Use Amazon S3 Event Notifications with Amazon EventBridge を参照してください。
- ルールベースのマッチング技術を使用し、自動処理のケイデンスで動作する AWS Entity Resolution マッチングワークフローを作成します。これにより、Clean Zone に到着する様々なデータセットから ID を解決できます。AWS Entity Resolution は、レコードをリンクおよびマッチングして、MatchGroup と呼ばれるユニークなプロファイルを作成します。各 MatchGroup には一意の永続的 ID(MatchId)が割り当てられます。
Step II – ニアリアルタイムの検索
- Amazon API Gateway を使用して、エンゲージメントシステムのニアリアルタイムな ID 解決検索ニーズに対応する REST API をホストします。
- AWS Step Functions Synchronous Express Workflows を使用して、既存のエンティティ検索やその他のビジネスルール検証をニアリアルタイムで実現するためのマイクロサービスをオーケストレーションします。Amazon API Gateway を組み合わせて Synchronous Express Workflow を作成する詳細な手順については、New Synchronous Express Workflows for AWS Step Functions を参照してください。
- AWS Step Functions ワークフローは、電子メール、住所、電話番号などの PII データを検証するために、1 つ以上の AWS Lambda 関数を順次または並列に呼び出します。
- 正規化および検証された PII データは、以前に作成された MatchGroup と照合するための入力として、AWS Entity Resolution の GetMatchId アクションで送信されます。例えば、AnyCompany は、サイト訪問者が既知の消費者であるかどうかを知り、コンテキストに応じた体験を提供したいと考えるかもしれません。この場合、ファーストパーティ(1P)クッキーによって収集されたデータは、GetMatchId API を通じて AWS Entity Resolution に送信され、既知の MatchGroup と照合されます。一致した場合、対応する MatchId が応答として返されます。
Step III – 継続した増分処理
- データが一致した場合、エンゲージメントシステムは MatchId を使用し、アプリケーションの意思決定に活用します。この ID はアプリケーションデータベースに保存されるか、ダウンストリームの非同期処理のために生成されるイベントデータを強化するために使用されます。
- 関連するソース(バッチまたはリアルタイム)からの新たな増分データフィードは全て、MatchGroup を最新の状態に保つために AWS Entity Resolution に送信されます。ニアリアルタイムの検索フローでは、入力された検索リクエストを Amazon Kinesis Data Streams に送信するよう Lambda 関数が設定されています。
- Amazon Data Firehose を使用して、ストリーミングデータを S3 バケットに書き込みます。このデータは、履歴処理時に設定されたものと同じワークフローで処理されます。増分データは、以前に作成された MatchGroup と照合するために AWS Entity Resolution に渡されます。増分データが既存の MatchGroup で解決される場合、同じ MatchId を継承し、そうでない場合は独自の MatchId を持つ新しい MatchGroup を作成する可能性があります。増分実行の一部として既存のデータが更新されるシナリオでは、新しい情報が既存の MatchGroup に対して評価され、情報の変更に基づいて、新しい MatchGroup に分割されるか、既存の MatchGroup を維持するかが決まります。
- AWS Entity Resolution は、S3 バケットに出力ファイルを生成します。これはパッケージ化され、AWS Glue を使用してアクティベーションとパーソナライゼーションのためにエンゲージメントシステムに送信されます。このポスト処理では、他の処理と共に、複数のソースからのレコードを単一のゴールデンレコードにマージする場合があります。ポスト処理には、人間による分類のためにサービスが生成する、ワークフローエラーファイルの処理も含まれます。
セキュリティ
以下の AWS サービスを使用して、セキュリティとアクセス制御を実装します:
- AWS Identity and Access Management(IAM): 特定のリソースとオペレーションへの最小特権アクセス
- AWS Key Management Service(AWS KMS): 保存中、および転送中のデータを保護するために使用される暗号化キーのライフサイクル管理
- AWS Secrets Manager : パスワードや API キーなどの秘密情報を安全に保存
- Amazon CloudWatch : このソリューションで使用されるすべてのサービスのログやメトリクスを一元管理
結論
本記事では、AnyCompany のユースケースを例にし、消費者にパーソナライズされた体験を提供するために、AWS サービスを使用してサーバーレスのエンティティ解決ワークフローを構築する方法を紹介しました。その中で、データマッチングワークフローを構築できる AWS Entity Resolution の 3 つの主要機能を紹介しました。
- ニアリアルタイムのエンティティ検索
- 自動増分処理
- オンデマンドバッチワークフロー
詳細については、AWS Entity Resolution の機能をご覧ください。
また、ニアリアルタイムのシステム統合とバッチデータ処理ワークフローのためのマイクロサービスオーケストレーションを構築するために、他の AWS サーバーレスサービスをどのように組み合わせることができるかについても説明しました。詳細については、AWS Entity Resolution resources をご覧ください。
本稿の翻訳は、ソリューションアーキテクトの髙橋が担当しました。原文はこちら。