fbpx

MongoDB AtlasとCogniflareのCustomer 360で、顧客を一元的に把握できる環境を構築する #MongoDB #MongoDBAtlas

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「MongoDB」社のブログで2021年10月14日に公開された「Build a Single View of Your Customers with MongoDB Atlas and Cogniflare's Customer 360」の日本語翻訳です。

長期間にわたり顧客との良好な関係を続けていくためには、顧客をよく知ることが欠かせません。顧客のことを徹底的に把握し、顧客のニーズや顧客が求めている事柄を理解すれば、顧客に提供すべき適切な商品を、また、適切な提供のタイミングと方法を特定することができます。しかし、ほとんどのB2C企業では、断片化した大量のデータが存在するために、顧客を一元的に把握する環境を構築するには大きな困難が伴います。

企業は、eコマースプラットフォーム、CRM、ERP、ロイヤルティプログラム、決済ポータル、Webアプリ、モバイルアプリをはじめとする複数のロケーションから顧客のデータを収集しています。個々のデータセットは構造化されているものもあれば、一部構成されているもの、まったく構造化されていないものもあります。そして、ストリームとして提供される場合もあれば、バッチ処理が必要な場合もあります。これらは、すでに断片化している顧客データの取りまとめをさらに複雑にする要因となっています。この結果、一部の組織では、オーダーメイドのソリューションを導入するようになりましたが、そのようなソリューションでも顧客のことを部分的にしか把握できないのが現実です。

データセットが分断されていると、カスタマーサービスやターゲットマーケティング、高度な分析(チャーン予測や推奨事項の把握)などの業務がきわめて困難になります。一方で、顧客をあらゆる視点から理解できる場合にのみ、顧客のニーズ、顧客が求めている事柄、顧客の要件を、また、顧客の満足度を高める方法も詳しく理解できます。そのため、顧客との長期間にわたる関係を維持するには、包括的なデータを一元的に把握することが不可欠になるのです。

このブログ記事では、顧客を一元的に把握できる環境をMongoDBのデータベースとCogniflareのCalledio Customer 360ツールで構築する方法を順を追ってご説明します。また、感情分析に主眼を置いて、実際のユースケースについても考察します。

Calleido Customer 360で、顧客を一元的に把握できる環境を構築する

Customer 360のデータベースでは、顧客とのさまざまなやり取りやタッチポイントの情報を個別に入手して分析できるので、顧客のことを包括的に理解することが可能です。これを実現するには、数多くの異なるソースからデータを取得する必要があります。ただし、このようなデータを転送、変換するためのプロセスは複雑であり、処理には時間がかかります。

一般に、既存のビッグデータツールの多くは、クラウド環境と互換性がありません。このような課題を解決したいとの思いから、Cogniflareは、Calleidoを開発しました。

Figure 1: Calleido Customer 360 Use Case Architecture

図1:Calleido Customer 360のユースケースアーキテクチャ

Calleidoは、Apache NiFiをはじめとした実績のあるオープンソースツールを基盤に構築されたデータ処理プラットフォームです。Calleidoには300を超えるプロセッサが搭載されているため、構造化されたデータと構造化されていないデータをさまざまなロケーションの間で移動できます。バッチとリアルタイムの更新を円滑に処理することが可能で、単純なデータの変換にも対応します。

特に注目すべきCalleidoの特長として、Google Cloudとシームレスに連携できる点と、ワンクリックで展開できる点が挙げられます。CalleidoはGoogle Kubernetes Engineを活用し、需要の変化に応じてスケーリングを行います。また、直感的に操作のできる使いやすいローコードの開発環境も提供します。

Figure 2: Calleido Data Pipeline to Copy Customers From PostgreSQL to MongoDB

図2:Calleidoのデータパイプラインで、PostgreSQLからMongoDBへ顧客のデータをコピー

実際のユースケース:顧客のメールの感情分析

CogniflareのCalleidoMongoDB Atlas、Customer 360ビューで何ができるのかをご説明するために、ここでは、顧客のメールで感情分析を行う事例を検討します。

Customer 360データベースの構築を簡素化するために、Cogniflareのチームは、データパイプラインを数秒で実装できるフローテンプレートを開発しました。次のセクションでは、Customer 360のユースケースにおける最も一般的なデータ移動のパターンを順を追ってご説明すると共に、ダッシュボードのサンプルもご紹介します。

Figure 3: Sample Customer Dashboard

図3:カスタマーダッシュボードのサンプル

  1. このフローでは、まず、メールサーバー(ConsumeIMAP)からプロセッサがIMAPメッセージを取り込みます。新しいメールが個々に任意の受信トレイ(例:カスタマーサービス)に届くと、イベントが起動されます。
  2. 次に、このプロセスでは、メールのヘッダーを抽出し、メールの内容に関する重要な情報が記載されていないかどうかを判断します(ExtractEmailHeaders)。
  3. 届いたメールから、Calleidoが顧客を識別(UpdateAttribute)します。そして、スクリプトを実行(ExecuteScript)し、メールの本文すべてを抽出します。
  4. すべてのデータが収集されると、メッセージペイロードが準備され、ダウンストリームフローなどのサービスで利用できるよう、Google Cloud Platform (GCP) Pub/Subを通じて公開されます(Kafkaを使用することもできます)。
  5. Figure 4: Translating Emails to Cloud PubSub Messages

    図4:メールをCloud PubSubメッセージに翻訳

  6. 次に、前のフローのGCP Pub/Subメッセージを処理します(ConsumeGCPPubSub)。MongoDBデータベースで個々の送信者を検証します(GetMongo)。ここでは、MongoDB Atlasの連携機能が使用されます。システムに顧客が存在する場合は、メールのデータを次のフローに渡します。他のメールは無視されます。
  7. Figure 5: Validating Customer Email with MongoDB and Calleido

    図5:顧客のメールをMongoDBとCalleidoで検証

  8. 次に、メール本文のコピーの分析を行います。このフローでは、本文を要求するリクエストを準備するプロセッサを使用します。リクエストはGoogle Cloud Natural Language AIに送られ、Google Cloud Natural Language AIはメッセージのトーンとセンチメントを評価します。
  9. 言語処理APIから得られた結果は直接、MongoDB Atlasに送られます。この情報はダッシュボードに取り込むことが可能です。
  10. Figure 6: Making Cloud AutoML Call with Calleido

    図6:CalleidoでCloud AutoMLをコール


    ダッシュボードに表示された最終結果

Customer 360データベースは、内部のバックオフィスシステムでカスタマーサポートのサービスを補完したり、サービスに情報を提供したりする際に利用できます。状況を一元的に把握できるようになれば、トラブルシューティングや返信処理、クレーム処理ですばやく効果的な対応が可能になります。

また、顧客と以前に交わした会話の情報を活用できるので、個々の顧客に合わせて最も適切かつ確実な応対ができます。これらのデータセットは分析システムに送り、学習や最適化のために利用することが可能です。たとえば、ネガティブな感情をチャーンレートと関連付けた分析ができます。

MongoDBのドキュメントデータベースのメリット

上記の例では、Calleidoがビジネスソースシステムからデータをコピーして、オペレーショナルデータストア(ODS)であるMongoDB Atlasに渡しています。

MongoDBのデータ構造が柔軟であるために、データはオリジナルの形式のままで転送でき、必要なその後のスキーマの変換も反復的に実行できます。複雑なスキーママイグレーションを実行する必要はありません。この結果、単一ビューのデータベースをすばやく展開することが可能です。

Figures 7 & 8: Calleido Data Pipelines to Copy Products and Orders From PostgreSQL to MongoDB Atlas

図7および8:Calleidoのデータパイプラインで、PostgreSQLからMongoDB Atlasへ商品と注文のデータをコピー

Calleidoではこの移行の処理をいくつかのシンプルな手順で完了できます。

  1. このツールはカスタムのSQLクエリ(ExecuteSQL)を実行します。このクエリは、外部のテーブルから必要なデータをすべて収集して結合し、その結果をコンパイルして、並列処理ができるようにします。
  2. データはAvro形式で届きます。CalleidoがこれをJSONに変換(ConvertAvroToJSON)し、MongoDB用に設計されたスキーマに変換(JoltTransformJSON)します。

Customer 360ダッシュボードに表示された最終の結果

MongoDB Atlasは、Customer 360データベースに使用できるソリューションとして市場をリードする存在です。MongoDB Atlasがワールドクラスの基準を満たしている主要な理由を以下に示します。

  • MongoDBは、レガシーのシステムから取得された非標準のスキーマを効率的に処理できます。また、どのカスタムの属性も効率的に保存することが可能です。
  • データモデルには、ネストされたドキュメントとして、関連するすべてのデータを含めることができます。複雑な結合クエリは記述が難しくパフォーマンスが低いので、SQLデータベースとは異なり、MongoDBでは使用しません。
  • MongoDBは処理が高速です。キャッシュレイヤーを導入しなくても、更新情報は数ミリ秒で表示されます。
  • 柔軟性の高いMongoDBのスキーマモデルでは、反復アプローチの活用で俊敏性を高めています。データははじめの抽出の段階でほぼオリジナルと同じかたちにコピーできます。この結果、遅延の発生が大幅に抑えられます。その後のフェーズでは、スキーマは標準化されます。複雑なSQLマイグレーションを実行しなくても、データの品質が向上します。
  • MongoDBは、数十テラバイトのデータを複数のデータセンターに分散して保存できます。また、MongoDBでは、水平スケーリングも容易です。
  • データは複数のリージョンで共有できるので、コンプライアンスの要件に柔軟に対応できます。
  • アナリティクスノードは、運用システムとは別に設定できるため、運用システムにパフォーマンス上の影響が生じるのを防ぐことができます。
  • MongoDBは単一ビューのデータベースとして確かな実績があります。レガシーのシステムを利用している大企業でも、プロトタイプを2週間で稼働させ、1四半期以内に運用環境での使用を開始できます。
  • MongoDB Atlasでは、導入するだけですぐにオートスケーリングの機能を利用できるため、コストが削減されピーク時のトラフィックを適切に処理できます。
  • 移動するときも保存するときもデータは暗号化されるので、GDPRやHIPAA、PCI-DSS、FERPAなどのセキュリティ標準やプライバシー標準の遵守が容易になります。

おすすめの商品を顧客にアップセル

今日のビジネスでは、アップセルが重要な役割を果たします。しかしこれを成功させるには、販売活動よりも顧客の啓蒙活動に注力することが肝要です。重要なのは、顧客がカスタマージャーニーのどのポイントにいるのか、顧客が求めているものは何か、顧客のニーズを満たすのはどの商品やサービスかといった事柄をデータを活用して把握することです。

Calleidoでは、顧客の購買履歴を利用して、おすすめの商品の情報を準備できます。具体的には、購買履歴のデータをBigQuery MLなどの適切なツールに渡します。おすすめの商品の情報は、コールセンターやマーケティングチームを通じて、Webやモバイルのアプリから提供します。

ここでの目的を達成するうえで必要な2つのフローがあります。トレーニングデータの準備おすすめの商品の情報の生成です。

トレーニングデータの準備

  1. まずはじめに、適切なデータをPostgreSQLからBigQueryへとExecuteSQLプロセッサで移行します。データパイプラインは周期的に実行されます。
  2. 次のステップでは、適切なデータをPostgreSQLからフェッチします。データは、ExecuteSQLRecordプロセッサで、1Kの行のチャンクに分割します。
  3. これらのファイルは次のプロセッサに渡されます。次のプロセッサでは、利用可能なすべてのノードを使うように設定された負荷分散機能が使用されます。
  4. 次に、これらのデータすべてをPutBigQueryStreamingプロセッサでBigQueryのテーブルに挿入します。
図9:Calleidoで、PostgreSQLからBigQueryへデータをコピー

図9:Calleidoで、PostgreSQLからBigQueryへデータをコピー

おすすめの商品の情報を生成
次に、おすすめの商品の情報を生成するフローに移行します。

  1. はじめに、Big Queryのキャパシティスロットを購入します。これは、最もコストを抑えてBigQuery MLの機能を利用できる方法です。
  2. ここでは、CalleidoがExecuteSQLプロセッサでSQLプロシージャを起動し、リクエストされたBigQueryキャパシティが利用できる状態を整えます。
  3. 次のプロセッサ(ExecuteSQL)がSQLクエリを実行します。このクエリは最初のフローでコピーしたデータでMatrix Factorization MLモデルを生成、トレーニングする役割を担います。
  4. 次に、このキューで、CalleidoはExecuteSQLプロセッサを使用し、トレーニング済みのモデルを照会し、予想結果のすべてを取得して、専用のBigQueryテーブルに保存します。
  5. 最後に、不要になったキャパシティスロットが削除されるのをWaitプロセッサが見届けます。
  6. Figure 10 & 11: Generating Product Recommendations with Calleido

    図10および11:Calleidoで、おすすめの商品の情報を生成

  7. 2つのプロセッサを使用し、おすすめの商品の古い情報を削除します。はじめに、受け取ったフローファイルの内容をReplaceTextプロセッサで更新し、クエリの本体を設定します。DeleteMongoプロセッサはこれを使用して削除のアクションを実行します。
  8. Figure 12: Remove Old Recommendations

    図12:おすすめの商品の古い情報を削除

  9. おすすめの商品の情報をMongoDBにコピーして、すべてのフローが完了します。ExecuteSQLプロセッサが上位10のおすすめの商品の情報をフェッチしてユーザーごとにまとめます。情報はすべて1Kの行のチャンクになります。そして、ConvertAvroToJSONとExecuteScriptという2つのプロセッサが、PutMongoRecordプロセッサでMongoDBコレクションに挿入するデータを準備します。
Figure 13: Copy Recommendations to MongoDB

図13:おすすめの商品の情報をMongoDBにコピー

Customer 360ダッシュボードに表示された最終の結果(この例で使用しているデータは自動で生成されています)

MongoDB AtlasでCalleido Customer 360データベースを利用するメリット

MongoDBのような一元化された運用データストアでデータが利用できるようになると、Calleidoを使用して、Google BigQueryなどのアナリティクスデータストアとデータを同期できます。Customer 360データベースのおかげで、社内のステークホルダーは、データを活用して以下を実現できます。

  • セグメンテーションとターゲットマーケティングによって顧客満足度を高められる
  • コンプライアンス監査の内容を正確かつ容易に評価できる
  • 需要予測の計画を立てることができ、市場のトレンドを分析できる
  • 顧客ロイヤルティが維持され、チャーンを減らすことができる

結局のところ、単一のビューで顧客の状況を把握できるようになれば、見込み客に適切なメッセージを届けられるようになるので、ブランド認知の段階にいる顧客をコンバージョンの段階へと導くことが可能になります。また、顧客の定着率を高められるほか、販売後のアフターケアも効果的に行うことができます。

これまで、顧客の状況を包括的に把握するプロセスは、断片化された状態で行われてきました。また、その作業は複雑でした。しかし、CogniflareのCalleidoとMongoDB Atlasを活用すれば、Customer 360データベースを、きわめて強力かつ効率的なデータ管理スタックとして利用できるようになります。

新規CTA