Aproveite os insights de dados em tempo real para otimizar preços e conseguir uma vantagem competitiva.
Casos de uso: Personalização, IA generativa
Setores: Varejo
Produtos: MongoDB Atlas
Parceiros: Google cloud
Visão Geral da Solução
A precificação dinâmica, a arte de ajustar preços em tempo real com base nas condições de mercado, tornou-se uma estratégia crucial para empresas que buscam maximizar a receita e ter uma vantagem competitiva. Para implementar efetivamente a precificação dinâmica, é essencial uma infraestrutura tecnológica robusta. Esta solução integra o MongoDB Atlas e a Google Cloud Vertex AI para criar um microsserviço de precificação dinâmica em tempo real. Utilizando o Google Cloud Pub/Sub para a rápida ingestão de dados, os notebooks da Vertex AI e os modelos do TensorFlow analisam o comportamento dos clientes para otimizar as estratégias de precificação. O MongoDB Atlas serve como um repositório de recursos flexível para dados complexos de preços, enquanto os robustos recursos computacionais do Google Cloud viabilizam cálculos complexos e a hospedagem.
O resultado é um sistema de precificação dimensionável e adaptável que proporciona ajustes instantâneos de preços com base na inteligência de mercado mais recente. Essa integração aumenta a eficiência operacional ao lidar de modo eficaz com grandes conjuntos de dados e cenários de preços complexos. O treinamento contínuo do modelo garante precisão constante e competitividade no mercado.
Arquiteturas de referência
A arquitetura de um microsserviço para precificação dinâmica integra o MongoDB e a Google Cloud Vertex AI para facilitar o processamento de dados em tempo real e ajustes de preços ágeis. No seu núcleo, o Google Cloud Pub/Sub lida com a ingestão e distribuição de dados de comportamento do cliente, permitindo um processamento de mensagens dimensionável e eficiente. Esses dados são então limpos e processados em notebooks da Vertex AI, em que modelos de aprendizado de máquina são desenvolvidos com o uso do TensorFlow para prever os melhores preços com base em padrões identificados nos dados históricos.
O MongoDB Atlas serve como o repositório central de dados e armazenamento de recursos, armazenando dados complexos de preços e dando suporte aos modelos de aprendizado de máquina. O document model do MongoDB fornece a flexibilidade necessária para gerenciar e atualizar dados de preços dinamicamente. O Google Cloud Functions orquestra todo o fluxo de trabalho, processando eventos de cliente, convertendo-os em tensores e garantindo que as previsões do modelo sejam atualizadas em tempo real no catálogo de produtos do MongoDB Atlas. No diagrama de arquitetura, o fluxo de dados azul ilustra como os dados de eventos de cliente são ingeridos em um tópico do Pub/Sub, resultando em uma assinatura push que aciona a função de nuvem. Essa função transforma eventos brutos em tensores e atualiza os preços previstos no catálogo de produtos do MongoDB.
Essa abordagem de arquitetura permite o isolamento de threads de eventos brutos, possibilitando o desenvolvimento de vários serviços que podem reagir em tempo real para precificação dinâmica ou operar de maneira assíncrona para treinamento de modelos. Mantendo um acoplamento flexível entre os componentes, o sistema é resiliente e evita falhas completas se uma parte apresentar problemas. Editores e assinantes podem continuar processando sua lógica de modo independente, garantindo um sistema robusto e flexível que oferece suporte a operação contínua e atualizações perfeitas.
Figura 1. Arquitetura de preços dinâmicos integrando diferentes componentes do Google Cloud e o MongoDB Atlas como um repositório de funcionalidades
Construindo a Solução
No repositório do GitHub, você encontrará instruções detalhadas sobre como criar esta solução.
Configurando o MongoDB Atlas
Faça login no MongoDB Atlas e crie um novo cluster.
Escolha uma região mais próxima da sua base de usuários para obter o melhor desempenho possível.
Configure a segurança:
Criando usuários de banco de dados com funções específicas.
Habilitando o acesso IP para garantir a segurança da conexão do banco de dados.
Conecte-se ao seu cluster usando a string de conexão fornecida pelo Atlas para integração de aplicativos.
Configurando o Google Cloud
Faça log in no console do Google Cloud e crie um novo projeto para o seu microsserviço.
Certifique-se de que as APIs necessárias estejam habilitadas para o seu projeto.
Instale e inicialize a CLI do Google Cloud.
Faça a autenticação com sua conta do Google Cloud.
Defina seu projeto como o padrão.
Desenvolver o microsserviço e o modelo
Clone o repositório e navegue até o diretório do microsserviço dynamicPricing.
Instale os pacotes necessários do Python usando o pip.
Configure as variáveis de ambiente para o MongoDB Atlas, credenciais do Google Cloud e Pub/Sub.
Configure um tópico do Pub/Sub no Google Cloud.
Desenvolva a lógica de precificação para o serviço dynamicPricing.
Use a Vertex AI para criar um novo notebook para conectar ao MongoDB e treinar o modelo.
Treine um modelo do TensorFlow limpando dados, criando o modelo e o treinando.
Salve e carregue o modelo treinado no Google Cloud Storage.
Registre o modelo na Vertex AI para gerenciamento e implantação.
Implantar um modelo em um ponto de extremidade
Implante o modelo.
Acesse a seção Vertex AI no console do Google Cloud.
Localize e selecione o modelo que você quer implantar.
Clique em "Deploy to endpoint" na aba "Deploy & Test".
Conclua a configuração de implantação ajustando as definições do modelo e o monitoramento.
Retrieve Endpoint ID.
Vá para "Endpoints" na Vertex AI e anote o ID do ponto de extremidade para usar na configuração da função de nuvem.
Configure a função de nuvem.
Crie uma nova função de nuvem no Google Cloud.
Defina o trigger da função para o tópico do Pub/Sub que você criou.
Implemente o código na função para pré-processar os dados do evento, invocar o modelo da Vertex AI para previsões e atualizar o MongoDB com os resultados.
Prepare as dependências.
Certifique-se de que o arquivo requirements.txt inclua todas as bibliotecas necessárias para a função de nuvem.
Simule eventos do cliente.
Utilize um script fornecido para gerar dados sintéticos de comportamento de clientes.
Envie esses dados para o MongoDB e o Pub/Sub para testar o modelo e a integração de microsserviços.
Execute a simulação.
Execute o script para validar o sistema completo de ponta a ponta.
Vantagens do MongoDB para modelagem de eventos
Adicionar um tensor possibilita uma arquitetura orientada a eventos com todos os recursos em uma única coleção, o que pode otimizar a recuperação e o processamento de dados, mas pode resultar em documentos grandes e complexos que exigem um gerenciamento cuidadoso para manter o desempenho. Essa flexibilidade permite que o MongoDB armazene tanto dados operacionais quanto um repositório de funcionalidades na mesma coleção, facilitando a análise integrada de dados e a tomada de decisões em tempo real, ao mesmo tempo que pode aumentar os custos de armazenamento e a complexidade no gerenciamento de dados.
Figura 2. Estrutura de dados na coleção de eventos representando uma visualização simulada de usuário do MongoDB White Socks, incluindo informações de preço
Para instruções mais detalhadas sobre como criar seu próprio microsserviço dinâmico, consulte nossa publicação no blog, Criar um microsserviço de preços dinâmicos com Vertex AI e MongoDB Atlas.
Principais Aprendizados
Armazenamento centralizado de recursos: o MongoDB serve como um armazenamento de recursos, funcionando como um repositório centralizado projetado especificamente para armazenar, gerenciar e fornecer recursos para modelos de aprendizado de máquina (ML). Suas capacidades polimórficas permitem a utilização de uma única interface para representar vários tipos de dados. Isso implica que, à medida que novos recursos são introduzidos ou os modelos de preços evoluem, o MongoDB pode gerenciar habilmente diversos tipos de dados dentro do mesmo sistema. No contexto de precificação dinâmica, essa funcionalidade facilita a incorporação perfeita de novos fatores ou variáveis de preços sem causar interrupções nas estruturas ou operações de dados existentes.
Escalabilidade e eficiência: O Google Cloud Pub/Sub pode lidar com volumes massivos de dados de cliente de forma eficiente, garantindo a escalabilidade para aplicativos do mundo real. Enquanto esse microsserviço simula apenas 25 eventos de cliente a cada três segundos, o Pub/Sub é capaz de processar fluxos de dados muito maiores.
Atualizações de preços em tempo real: As funções da nuvem acionam os modelos TensorFlow para gerar preços dinâmicos com base no comportamento do cliente . Em seguida, esses preços gerados são inseridos ou atualizados (upserted) de volta à coleção do catálogo de produtos no MongoDB . Isso permite ajustes em tempo real no aplicação e-commerce, pois o front-end do aplicativo recupera dados diretamente da mesma collection.
Tecnologias e produtos utilizados
Plataforma de dados para desenvolvedores MongoDB
Tecnologias de parceiros
Autor(a)
Francesco Baldissera, MongoDB
Sebastian Rojas Arbulu, MongoDB