リアルタイムのデータ インサイトを活用して価格を最適化し、競争優位を獲得します。
業種: 小売
製品: MongoDB Atlas
パートナー: Google Cloud
ソリューション概要
動的価格(需要に応じた価格調整)は、市場環境に基づいて価格をリアルタイムで調整する手法であり、収益の最大化と競争優位の確保を目指す企業にとって重要な戦略となっています。動的価格設定を効果的に実現するには、堅牢な技術基盤が不可欠です。このソリューションは、MongoDB Atlasと Google Cloud Vertex AI を統合し、リアルタイムの動的価格設定マイクロサービスを作成します。Google Cloud Pub/Sub による高速なデータ取り込み、Vertex AI Notebooks、および TensorFlow モデルを活用することで、顧客行動を分析し、価格戦略の最適化を実現します。MongoDB Atlas は、複雑な価格データに対応する柔軟なフィーチャー・ストアとして機能し、Google Cloud の強力な計算リソースは、高度な計算処理とホスティングを支えます。
その結果、スケーラブルかつ適応性の高い価格設定システムが実現し、市場の最新動向に基づいて即時に価格調整を行うことが可能になります。この統合により、大規模なデータセットや複雑な価格シナリオを効率的に処理する運用効率が向上します。継続的なモデル再学習により、精度と市場競争力の維持が保証されます。
参照アーキテクチャ
動的価格設定マイクロサービスのアーキテクチャは、MongoDB と Google Cloud Vertex AI を統合し、リアルタイムのデータ処理と柔軟な価格調整を実現します。中核となるのは、Google Cloud Pub/Sub が顧客行動データの取り込みと配信を担い、スケーラブルかつ効率的なメッセージ処理を実現している点です。このデータはまず Vertex AI Notebooks 上でクレンジングおよび処理されます。次に、TensorFlow を用いて機械学習モデルが構築され、過去のデータに見られるパターンに基づいて最適な価格が予測されます。
MongoDB Atlas は、複雑な価格データを保存し、機械学習モデルを支える中核的なデータリポジトリおよび機能ストアとして機能します。MongoDB のドキュメント モデルにより、価格データを柔軟かつ動的に管理・更新することが可能になります。Google Cloud Functions は、ワークフロー全体をオーケストレーションし、顧客イベントを処理してテンソルに変換し、モデルの予測結果が MongoDB Atlas の製品カタログにリアルタイムで反映されるようにします。アーキテクチャ図では、青いデータフローにより、顧客イベント データが Pub/Sub トピックに取り込まれ、Cloud Function をトリガーするプッシュ型のサブスクリプションへとつながる仕組みが示されています。この関数は、生データのイベントをテンソルに変換し、予測された価格を MongoDB の製品カタログに更新します。
このアーキテクチャ設計により、生のイベントスレッドを分離し、リアルタイムでの動的価格設定向けサービスの開発や、モデル学習を非同期で実行するサービスの開発が可能になります。コンポーネント間の結合を疎に保つことで、システム全体の回復性が高まり、一部のコンポーネントに問題が生じても、全体の停止を回避できます。発行者と購読者はそれぞれ独立して処理を継続できるため、継続的な運用とシームレスな更新を支える堅牢かつ柔軟なシステムが実現します。
図 1。さまざまな Google Cloud コンポーネントと MongoDB Atlas を機能ストアとして統合する動的価格設定アーキテクチャ
ソリューションを構築する
GitHubリポジトリでは、このソリューションを構築する方法に関する詳細な手順が記載されています。
MongoDB Atlas の設定
MongoDB Atlasにサインインして、新しいクラスターを作成します。
最適なパフォーマンスを得るために、ユーザーベースに最も近いリージョンを選択してください。
セキュリティを構成する手順は、次のとおりです。
特定のロールを持つデータベースユーザーを作成します。
データベース接続を保護するためにIPアクセスを有効にします。
アプリケーション統合のために Atlas が提供する接続文字列を使用して、クラスターに接続してください。
Google Cloud の設定
Google Cloud コンソールにログインし、マイクロサービスの新しいプロジェクトを作成します。
プロジェクト用に必要な APIが有効になっていることを確認してください。
Google Cloud CLI をインストールし、初期化します。
Google Cloud アカウントで認証します。
プロジェクトをデフォルトとして設定します。
マイクロサービスとモデルの開発
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 をイベント モデリングに活用する利点
テンソルを追加することで、すべての機能を単一のコレクションに集約したイベント駆動型アーキテクチャが可能になり、データの取得や処理の効率化が図れます。ただし、慎重な管理が求められる大規模かつ複雑なドキュメントにより、パフォーマンスへの影響が生じる可能性もあります。MongoDB のこの柔軟性により、オペレーションデータと機能ストアの両方を同一のコレクションに格納でき、統合されたデータ分析やリアルタイムの意思決定を促進します。一方で、ストレージコストやデータ管理の複雑性が増す可能性もあります。
図2。MongoDBの白いソックスのシミュレートされたユーザービューを表すイベントコレクション内のデータ構造、価格情報を含む
独自の動的マイクロサービスを構築する方法の詳細については、ブログ記事『Building a Dynamic Pricing Microservice with Vertex AI and MongoDB Atlas(Vertex AI と MongoDB Atlas を使用した動的価格設定マイクロサービスの構築)』をご覧ください。
キーポイント
一元化された機能ストア: MongoDB は機能ストアとして機能し、機械学習(ML)モデル向けに特化して設計された、機能の保存・管理・提供を行う集中型リポジトリとして活用できます。ポリモーフィック機能により、さまざまなデータタイプを単一のインターフェースで表現できる柔軟性が実現します。これは、新たな機能の導入や価格モデルの進化に応じて、MongoDB が同一システム内で多様なデータ型を適切に管理できることを意味します。動的価格設定の文脈では、この柔軟性により、新たな価格要因や変数を既存のデータ構造や処理に影響を与えることなくシームレスに組み込むことが可能になります。
スケーラビリティと効率性: Google Cloud Pub/Subは、大量の顧客データを効率的に処理でき、実環境でのアプリケーションにおけるスケーラビリティを確保します。このマイクロサービスは 3 秒ごとに 25 件の顧客イベントのみをシミュレートしていますが、Pub/Sub ははるかに大規模なデータストリームの処理にも対応可能です。
リアルタイム価格更新: クラウドファンクション が TensorFlowモデルをトリガーし、カスタマーの行動に基づいて動的な価格を生成します。生成された価格は、MongoDB 内の商品カタログ コレクションにアップサート(追加または更新)されます。これにより、e コマース アプリケーションでは、同じコレクションからフロントエンドが直接データを取得できるため、リアルタイムでの価格調整が可能になります。
使用した技術と製品
MongoDB 開発者データ プラットフォーム
提携技術
著者
Francesco Baldissera, MongoDB
Sebastian Rojas Arbulu, MongoDB