リアルタイムのデータ インサイトを活用して価格を最適化し、競争優位を獲得します。
業種: 小売
製品: MongoDB Atlas、 MongoDB Atlasコレクション、 MongoDB Atlasクラスター
パートナー: Google Cloud, Vertex AI, Cloud Functions
ソリューション概要
動的価格設定は、マーケット条件に基づいてリアルタイムで価格を調整する手法であり、収益を最大化し、競合能力を構築するための重要な戦略です。動的価格設定を効果的に実装するには、堅牢な技術インフラストラクチャが必要です。このソリューションは、MongoDB AtlasとGoogle Cloud Platform Vertex AIを統合し、リアルタイムの動的価格設定マイクロサービスを作成します。Vertex AIノートブックと tenorFlow モデルは、カスタマー動作を分析し、価格戦略を最適化するために、 Google Cloud Platform Pub/Sub を使用して迅速なデータ取り込みを行います。 MongoDB Atlas は複雑な価格設定データの柔軟な機能ストアとして機能し、Google Cloud Platform の堅牢な計算リソースは複雑な計算とホスティングを強化します。
その結果、スケーラブルかつ適応性の高い価格設定システムが実現し、市場の最新動向に基づいて即時に価格調整を行うことが可能になります。この統合により、大規模なデータセットや複雑な価格シナリオを効率的に処理する運用効率が向上します。
参照アーキテクチャ
動的価格設定マイクロサービスのアーキテクチャは、 MongoDBとGoogle Cloud Platform Vertex AIを統合し、リアルタイムのデータ処理と応答性の高い価格調整を容易にします。 Google Cloud Platform Pub/Sub は、カスタマー動作データの取り込みと分散を処理するため、スケーラブルで効率的なメッセージ処理を可能にします。 このデータはその後、Vertex AIノートブックでクリーン化および処理されます。ここでは、TENorFlow は履歴データで識別されたパターンに基づいて最適な価格を予測するための機械学習モデルを開発します。
MongoDB Atlas は、複雑な価格データを保存し、機械学習モデルを支える中核的なデータリポジトリおよび機能ストアとして機能します。MongoDB のドキュメント モデルにより、価格データを柔軟かつ動的に管理・更新することが可能になります。Google Cloud Functions は、ワークフロー全体をオーケストレーションし、顧客イベントを処理してテンソルに変換し、モデルの予測結果が MongoDB Atlas の製品カタログにリアルタイムで反映されるようにします。アーキテクチャ図では、青いデータフローにより、顧客イベント データが Pub/Sub トピックに取り込まれ、Cloud Function をトリガーするプッシュ型のサブスクリプションへとつながる仕組みが示されています。この関数は、生データのイベントをテンソルに変換し、予測された価格を MongoDB の製品カタログに更新します。
このアーキテクチャ設計により、生のイベントスレッドを分離し、リアルタイムでの動的価格設定向けサービスの開発や、モデル学習を非同期で実行するサービスの開発が可能になります。コンポーネント間の結合を疎に保つことで、システム全体の回復性が高まり、一部のコンポーネントに問題が生じても、全体の停止を回避できます。発行者と購読者はそれぞれ独立して処理を継続できるため、継続的な運用とシームレスな更新を支える堅牢かつ柔軟なシステムが実現します。
図 1。さまざまな Google Cloud コンポーネントと MongoDB Atlas を機能ストアとして統合する動的価格設定アーキテクチャ
MongoDB をイベント モデリングに活用する利点
MongoDB、テナントと関連機能を単一のコレクションにまとめて保存し、イベント駆動型アーキテクチャをサポートできます。このアプローチによりデータの取得と処理が簡素化されますが、ドキュメントが大きいとパフォーマンスに影響可能性があるため、慎重な管理が必要です。この柔軟性により、統合データ分析とリアルタイムの決定が容易になります。
図2。MongoDBの白いソックスのシミュレートされたユーザービューを表すイベントコレクション内のデータ構造、価格情報を含む
独自の動的マイクロサービスを構築する方法の詳細については、ブログ記事『Building a Dynamic Pricing Microservice with Vertex AI and MongoDB Atlas(Vertex AI と MongoDB Atlas を使用した動的価格設定マイクロサービスの構築)』をご覧ください。
ソリューションのビルド
Githubリポジトリには、このソリューションを構築する方法に関する詳細な手順が記載されています。
MongoDB Atlas のセットアップ
MongoDB Atlasにサインインして、新しいクラスターを作成します。
最適なパフォーマンスを得るために、ユーザーベースに最も近いリージョンを選択してください。
次のようにセキュリティを構成します。
特定のロールを持つデータベースユーザーを作成します。
データベース接続を保護するには、 IPアクセスを有効にします。
アプリケーション統合のために Atlas が提供する接続文字列を使用して、クラスターに接続してください。
Google Cloud Platformを設定する
Google Cloud Platformコンソールにログインし、マイクロサービスの新しいプロジェクトを作成します。
プロジェクト用に必要な APIが有効になっていることを確認してください。
Google Cloud CLI をインストールし、初期化します。
Google Cloud アカウントで認証します。
プロジェクトをデフォルトとして設定します。
マイクロサービスとモデルの開発
リポジトリをクローンし、 snapshot Manager のマイクロサービスディレクトリに移動します。
pip を使用して必要な Python パッケージをインストールします。
MongoDB Atlas、Google Cloud の認証情報、および Pub/Sub の環境変数を設定します。
Google Cloud で Pub/Sub トピックを設定します。
ダイナミックプライシングサービスの価格設定ロジックを開発してください。
Vertex AIを使用して、 MongoDBに接続し、モデルを訓練するための新しいノートを作成します。
データのクレンジング、モデルの構築、および学習を行い、TensorFlow モデルを学習させます。
学習済みモデルを Google Cloud Storage に保存・アップロードします。
モデルを Vertex AI に登録し、管理および配置に備えます。
モデルのエンドポイントへの配置
モデルを配置します。
Retrieve Endpoint ID.
Vertex AI の[Endpoints(エンドポイント)]に移動し、Cloud Function の構成で使用する Endpoint ID をメモしておきます。
Cloud Function を構成します。
Google Cloud に新しい Cloud Function を作成します。
関数のトリガーを、作成済みの Pub/Sub トピックに設定します。
イベントデータを前処理し、Vertex AI モデルを呼び出して予測を実行し、その結果を MongoDB に反映させるコードを関数に実装します。
依存関係を準備します。
requirements.txt ファイルに、Cloud Function に必要なすべてのライブラリが含まれていることを確認します。
顧客イベントをシミュレーションします。
提供されたスクリプトを使用して、合成された顧客行動データを生成します。
このデータを MongoDB および Pub/Sub にプッシュし、モデルとマイクロサービスの統合をテストします。
シミュレーションを実行します。
スクリプトを実行して、完全なエンドツーエンドシステムを検証してください。
キーポイント
一元化された機能ストア: MongoDB は機能ストアとして機能し、機械学習(ML)モデルの機能を保存、管理、処理するための集約リポジトリとして機能します。その多形機能により、単一のインターフェースを使用してさまざまなタイプのデータを表すため、新機能を組み込み、価格モデルを調整できます。動的価格設定のコンテキストでは、この機能により、操作を中断することなく、新しい価格要素または変数の組み込みが容易になります。
スケーラビリティと効率性: Google Cloud Pub/Subは、大量の顧客データを効率的に処理でき、実環境でのアプリケーションにおけるスケーラビリティを確保します。
リアルタイム価格更新: Cloud 関数 は tenorFlow モデルをトリガーし、カスタマーの動作に基づいて動的価格を生成します。これらの生成された価格は、その後MongoDBの製品カタログコレクションに挿入または更新(アップサート)され、 eコマースアプリケーションでリアルタイムの調整が可能になります。
作成者
Francesco Baldissera, MongoDB
Sebastian Rojas Arbulu, MongoDB