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 – 履歴データ処理

  1. ワークフロー設定の初日(Day 0)として、エンゲージメントシステム(ソースシステム)に AWS Entity Resolution で解決される消費者に関する履歴データが含まれています。
  2. バッチデータ取り込みサービスまたは AWS Data Connector Solution を使用して、履歴データが Amazon Simple Storage Service(Amazon S3)の Raw Zone にロードされます。詳細については、AWS Cloud Data Ingestion Patterns and Practices を参照してください。
  3. AWS Entity Resolution 用に履歴データを準備するために、Amazon EventBridge ルールを使って AWS Step Functions Standard workflow を実行し、データエンジニアリングパイプラインをオーケストレーションします。Amazon EventBridge ルールは、バッチデータソースを処理するために特定の頻度で起動するようにスケジュールできます。
  4. AWS Step Functions Standard workflow 内で、AWS Glue ジョブが Raw Zone(Amazon S3 ロケーション)に格納されたデータを変換します。この手順を使って、個人を特定できる情報(PII)を検証、正規化、保護します。
    1. カスタマイズされたデータ正規化ワークフローの構築については、Guidance for Customizing Normalization Library for AWS Entity Resolution を参照してください。
    2. データの検証と標準化を含むデータ準備ワークフローの作成については、Guidance for Preparing and Validating Records for Entity Resolution on AWS を参照してください。
  5. 正規化および検証されたデータは、Clean Zone S3バケット内に CSV または parquet 形式で保存され、AWS Glue Catalog で AWS Glue テーブルとしてカタログ化されます。
  6. Clean Zone S3 バケットを設定し、EventBridge 通知を生成します。詳細については、Use Amazon S3 Event Notifications with Amazon EventBridge を参照してください。
  7. ルールベースのマッチング技術を使用し、自動処理のケイデンスで動作する AWS Entity Resolution マッチングワークフローを作成します。これにより、Clean Zone に到着する様々なデータセットから ID を解決できます。AWS Entity Resolution は、レコードをリンクおよびマッチングして、MatchGroup と呼ばれるユニークなプロファイルを作成します。各 MatchGroup には一意の永続的 ID(MatchId)が割り当てられます。

Step II – ニアリアルタイムの検索

  1. Amazon API Gateway を使用して、エンゲージメントシステムのニアリアルタイムな ID 解決検索ニーズに対応する REST API をホストします。
  2. AWS Step Functions Synchronous Express Workflows を使用して、既存のエンティティ検索やその他のビジネスルール検証をニアリアルタイムで実現するためのマイクロサービスをオーケストレーションします。Amazon API Gateway を組み合わせて Synchronous Express Workflow を作成する詳細な手順については、New Synchronous Express Workflows for AWS Step Functions を参照してください。
  3. AWS Step Functions ワークフローは、電子メール、住所、電話番号などの PII データを検証するために、1 つ以上の AWS Lambda 関数を順次または並列に呼び出します。
  4. 正規化および検証された PII データは、以前に作成された MatchGroup と照合するための入力として、AWS Entity Resolution の GetMatchId アクションで送信されます。例えば、AnyCompany は、サイト訪問者が既知の消費者であるかどうかを知り、コンテキストに応じた体験を提供したいと考えるかもしれません。この場合、ファーストパーティ(1P)クッキーによって収集されたデータは、GetMatchId API を通じて AWS Entity Resolution に送信され、既知の MatchGroup と照合されます。一致した場合、対応する MatchId が応答として返されます。

Step III – 継続した増分処理

  1. データが一致した場合、エンゲージメントシステムは MatchId を使用し、アプリケーションの意思決定に活用します。この ID はアプリケーションデータベースに保存されるか、ダウンストリームの非同期処理のために生成されるイベントデータを強化するために使用されます。
  2. 関連するソース(バッチまたはリアルタイム)からの新たな増分データフィードは全て、MatchGroup を最新の状態に保つために AWS Entity Resolution に送信されます。ニアリアルタイムの検索フローでは、入力された検索リクエストを Amazon Kinesis Data Streams に送信するよう Lambda 関数が設定されています。
  3. Amazon Data Firehose を使用して、ストリーミングデータを S3 バケットに書き込みます。このデータは、履歴処理時に設定されたものと同じワークフローで処理されます。増分データは、以前に作成された MatchGroup と照合するために AWS Entity Resolution に渡されます。増分データが既存の MatchGroup で解決される場合、同じ MatchId を継承し、そうでない場合は独自の MatchId を持つ新しい MatchGroup を作成する可能性があります。増分実行の一部として既存のデータが更新されるシナリオでは、新しい情報が既存の MatchGroup に対して評価され、情報の変更に基づいて、新しい MatchGroup に分割されるか、既存の MatchGroup を維持するかが決まります。
  4. AWS Entity Resolution は、S3 バケットに出力ファイルを生成します。これはパッケージ化され、AWS Glue を使用してアクティベーションとパーソナライゼーションのためにエンゲージメントシステムに送信されます。このポスト処理では、他の処理と共に、複数のソースからのレコードを単一のゴールデンレコードにマージする場合があります。ポスト処理には、人間による分類のためにサービスが生成する、ワークフローエラーファイルの処理も含まれます。

セキュリティ

以下の AWS サービスを使用して、セキュリティとアクセス制御を実装します:

  1. AWS Identity and Access Management(IAM): 特定のリソースとオペレーションへの最小特権アクセス
  2. AWS Key Management Service(AWS KMS): 保存中、および転送中のデータを保護するために使用される暗号化キーのライフサイクル管理
  3. AWS Secrets Manager : パスワードや API キーなどの秘密情報を安全に保存
  4. Amazon CloudWatch : このソリューションで使用されるすべてのサービスのログやメトリクスを一元管理

結論

本記事では、AnyCompany のユースケースを例にし、消費者にパーソナライズされた体験を提供するために、AWS サービスを使用してサーバーレスのエンティティ解決ワークフローを構築する方法を紹介しました。その中で、データマッチングワークフローを構築できる AWS Entity Resolution の 3 つの主要機能を紹介しました。

  1. ニアリアルタイムのエンティティ検索
  2. 自動増分処理
  3. オンデマンドバッチワークフロー

詳細については、AWS Entity Resolution の機能をご覧ください。

また、ニアリアルタイムのシステム統合とバッチデータ処理ワークフローのためのマイクロサービスオーケストレーションを構築するために、他の AWS サーバーレスサービスをどのように組み合わせることができるかについても説明しました。詳細については、AWS Entity Resolution resources をご覧ください。

Ranjith Krishnamoorthy

Ranjith Krishnamoorthy

Ranjith は、広告およびマーケティングテクノロジー業界ソリューションチームにおけるデータプラットフォームのワールドワイドの責任者です。この役割において、彼の焦点は、AWS のサービス、AWS ソリューション、ソリューションガイダンス、およびパートナーソリューションを使用して、AWS の顧客が広告およびマーケティングのビジネス目標を達成するのを支援することにあります。彼は、大手企業(通信、小売、製造)、独立系ソフトウェアベンダー、システムインテグレーターでの 20 年以上にわたる幅広い国際経験を活かし、顧客の課題解決に取り組んでいます。彼の目標は、深く掘り下げて公平な視点を提供し、顧客がビジネスおよび技術的課題に対応するための適切なクラウドおよびデータ分析技術 / アーキテクチャを選択するのを支援することです。現在、プライバシー強化データコラボレーション、オーディエンスおよび顧客データ管理、リアルタイム広告ソリューション分野のユースケースに対応する AWS ソリューションの市場投入に取り組んでいます。

Punit Shah

Punit Shah

Punit は、アマゾン ウェブ サービスのシニアソリューションアーキテクトです。彼の役割は、顧客がクラウド上でデータおよび分析戦略を構築するのを支援することに焦点を当てています。現在の職務では、AWS Entity Resolution、Amazon Connect、Amazon Neptune などの AWS サービスを使用して、広告およびマーケティングのユースケースを解決するための強固なデータ基盤の構築を顧客に支援しています。彼は大規模なデータレイクの構築において 15 年以上の業界経験を持っています。

Shobhit Gupta

Shobhit Gupta

Shobhit は、アマゾン ウェブ サービスのプロダクト責任者です。彼は、ヘルスケア、小売、金融サービス、公共部門などの業界にまたがる機械学習のためのデータ管理サービスの構築に関する専門知識を持っています。AWS では、AWS Clean Rooms、Amazon Connect、AWS Entity Resolution、Amazon Personalize など、データと機械学習が交差するチームと協力しています。彼は連続起業家であり、モバイルアプリケーション、ビッグデータ、モノのインターネット(IoT)分野で企業をスケールさせた 10 年以上の経験を持っています。また、経営コンサルティングにも携わり、公共部門、ヘルスケア、小売の顧客にアドバイスを提供してきました。

本稿の翻訳は、ソリューションアーキテクトの髙橋が担当しました。原文はこちら