利用实时数据见解来优化价格,获得竞争优势。
行业: 零售
产品: MongoDB Atlas、MongoDB Atlas集合、MongoDB Atlas集群
合作伙伴: Google Cloud, Vertex AI, Cloud Functions
解决方案概述
动态定价是根据市场状况实时调整价格的艺术,对于旨在最大限度地提高收入和获得竞争优势的企业来说是一项至关重要的策略。为了有效地实现动态定价,强大的技术基础设施至关重要。该解决方案集成了MongoDB Atlas和Google Cloud Platform Vertex AI ,以创建实时动态定价微服务。Vertex AI Notebooks 和 TensorFlow 模型利用Google Cloud Platform Pub/Sub 进行快速数据摄取,以分析客户行为并优化定价策略。 MongoDB Atlas可作为复杂定价数据的灵活功能存储,而 Google Cloud Platform 强大的计算资源则可为复杂的计算和托管提供支持。
最终将产生一个可扩展且适用性强的定价系统,能够根据最新的市场情报实时调整价格。此集成通过有效处理大型数据集和复杂的定价场景来提升运营效率。
参考架构
动态定价微服务的架构集成了MongoDB和Google Cloud Platform Vertex AI ,以促进实时数据处理和响应式定价调整。 Google Cloud Platform Pub/Sub 负责处理客户行为数据的摄取和分发,从而实现可扩展的且高效的消息处理。 然后,这些数据在 Vertex AI Notebooks 中进行清理和处理,其中 TensorFlow 开发机器学习模型,根据历史数据中识别的模式预测最佳价格。
MongoDB Atlas 作为中央数据存储库和特征存储库,用于存储复杂的定价数据并支持机器学习模型。MongoDB 的文档模型提供了管理和动态更新定价数据所需的灵活性。Google Cloud Functions 会编排整个工作流程、处理客户事件、将事件转换为张量,并确保模型预测在 MongoDB Atlas 产品目录中实时更新。在架构图中,蓝色数据流展示了如何将客户事件数据摄入 Pub/Sub 主题,进而通过推送订阅触发云函数。此函数将原始事件转换为张量,并更新 MongoDB 产品目录中的预测价格。
这种架构方法允许隔离原始事件线程,从而能够开发各种服务,这些服务可以实时响应动态定价,或以异步方式运行以进行模型训练。通过保持组件之间的松散耦合,系统将保持弹性,并避免在某个部件出现问题时引发整体崩溃。发布者和订阅者可以继续独立处理其逻辑,确保系统强大且灵活,支持持续运营和无缝更新。
图1。动态定价架构,集成不同的 Google Cloud 组件和 MongoDB Atlas 作为功能存储
MongoDB 在事件建模中的优势
MongoDB允许您将张量和相关特征一起存储在单个集合中,以支持事件驱动的架构。这种方法简化了数据检索和处理,但需要仔细管理,因为大型文档会影响性能。这种灵活性还促进了集成数据分析和实时决策。
图2。事件集合中的数据结构,用于表示对MongoDB白袜子的模拟用户视图,包括价格信息。
有关如何构建自己的动态微服务的更多详细信息,请参阅我们的博客文章《使用 Vertex AI 和 MongoDB Atlas 构建动态定价微服务》。
构建解决方案
Github存储库包含有关如何构建此解决方案的详细说明。
设置 MongoDB Atlas
请登录 MongoDB Atlas 并创建一个新的集群。
选择最接近用户群的区域,以实现最佳性能。
按如下方式配置安全性:
创建具有特定角色的数据库用户。
启用IP访问权限以保护数据库连接。
使用 Atlas 提供的连接字符串连接到您的集群,以实现应用程序集成。
设置Google Cloud Platform
登录 Google Cloud 控制台,为您的微服务创建一个新项目。
确保为您的项目启用必要的 API。
安装并初始化 Google Cloud CLI。
使用您的 Google Cloud 帐户进行身份验证。
将您的项目设置为默认项目。
开发微服务和模型
克隆存储库并导航到 dynamicPricing 微服务目录。
使用 pip 安装所需的 Python 包。
为 MongoDB Atlas、Google Cloud 凭证和 Pub/Sub 设置环境变量。
在 Google Cloud 中配置 Pub/Sub 主题。
为 dynamicPricing 服务开发定价逻辑。
使用 Vertex AI 来创建一个新的笔记本,以便连接到 MongoDB 并训练模型。
通过清理数据、构建模型并进行训练,训练一个 TensorFlow 模型。
将训练好的模型保存并上传到 Google Cloud 存储。
在 Vertex AI 中注册模型以进行管理和部署。
将模型部署到终结点
部署模型。
在 Google Cloud 控制台中访问 Vertex AI 部分。
定位并选择您要部署的模型。
单击“部署和测试”标签页下的“部署到终结点”。
通过配置模型设置和监控来完成部署设置。
Retrieve Endpoint ID.
转至 Vertex AI 中的“终结点”并记下终结点 ID,以便在云函数配置中使用。
配置云函数。
在 Google Cloud 中创建一个新的云函数。
将函数的触发器设置为您创建的 Pub/Sub 主题。
在函数中实现代码以预处理事件数据,调用 Vertex AI 模型进行预测,并使用结果更新 MongoDB。
准备依赖项。
确保 requirements.txt 文件包含云函数所需的所有库。
模拟客户事件。
使用提供的脚本生成合成客户行为数据。
将此数据推送到 MongoDB 和 Pub/Sub,以测试模型和微服务集成。
运行模拟。
执行脚本以验证整个端到端系统。
关键要点
集中式功能存储: MongoDB充当功能存储,充当用于存储、管理和处理机器学习(ML) 模型的特征的集中存储库。其多态功能使用单个接口表示各种类型的数据,使您能够纳入新功能并调整定价模型。在动态定价的背景下,此功能有助于纳入新的定价因素或变量,而不会造成运营中断。
可扩展性和效率: Google Cloud Pub/Sub 能够高效处理海量客户数据,确保现实应用程序的可扩展性。
实时价格更新: 云函数 触发 TensorFlow 模型,根据客户行为生成动态价格。然后,将这些生成的价格插入或更新(更新插入)回MongoDB中的产品目录集合,从而实现在电子商务应用程序中的实时调整。
作者
Francesco Baldissera, MongoDB
Sebastian Rojas Arbulu, MongoDB