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, Collections do MongoDB Atlas, Clusters do MongoDB Atlas
Parceiros: Google Cloud, Vertex AI, Cloud Functions
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, é uma estratégia crucial para empresas que visam maximizar a receita e obter uma vantagem comparativa. Para implementar efetivamente a preços dinâmicos, é essencial uma infraestrutura tecnologia robusta. A solução integra MongoDB Atlas e a Vertex AI do Google Cloud Platform para criar um microsserviço de preços dinâmicos em tempo real. Os modelos Vertex AI Notebooks e TensorFlow utilizam o Google Cloud Platform Pub/Sub para rápida ingestão de dados, a fim de analisar o comportamento do cliente e otimizar as estratégias de preços. O MongoDB Atlas serve como um armazenamento flexível de recursos para dados de preços complexos, enquanto os recursos computacionais robustos do Google Cloud Platform permitem cálculos e hospedagem complexos.
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.
Arquiteturas de referência
A arquitetura de um microsserviço de preços dinâmicos integra o MongoDB e o Google Cloud Platform Vertex AI para facilitar o processamento de dados em tempo real e os ajustes de preços responsivos. O Google Cloud Platform Pub/Sub lida com a ingestão e a distribuição de dados de comportamento do cliente , permitindo o processamento de mensagens escalável e eficiente. Esses dados são então limpos e processados no Vertex AI Notebooks, onde o TensorFlow desenvolve modelos de aprendizado de máquina para prever os preços ideais com base em padrões identificados em 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
Vantagens do MongoDB para modelagem de eventos
O MongoDB permite armazenar compressores e funcionalidades relacionadas juntos em uma única collection para dar suporte a arquiteturas orientadas a eventos. Essa abordagem simplifica a recuperação e o processamento de dados, mas requer um gerenciamento cuidadoso porque documentos grandes podem impacto o desempenho. Essa flexibilidade também facilita a análise integrada de dados e a tomada de decisões em tempo real.
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.
Construir a solução
O repositório Github contém instruções detalhadas sobre como construir esta solução.
Implante 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 da seguinte maneira:
Crie usuários de banco de dados com funções específicas.
Habilite o acesso IP para proteger a 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.
Configurar o Google Cloud Platform
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.
Principais Aprendizados
Armazenamento de recursos centralizado: o MongoDB serve como um armazenamento de recursos, atuando como um repositório centralizado para armazenar, gerenciar e lidar com recursos para modelos de aprendizado de máquina (ML). Seus recursos polimórficos usam uma única interface para representar vários tipos de dados, o que permite incorporar novos recursos e adaptar modelos de preços. No contexto da precificação dinâmica, esse recurso facilita a incorporação de novos fatores ou variáveis de precificação sem causar interrupções nas operações.
Escalabilidade e eficiência: O Google Cloud Platform Pub/Sub pode lidar com volumes massivos de dados de cliente de forma eficiente, garantindo a escalabilidade para aplicativos do mundo real.
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. Esses preços gerados são então inseridos ou atualizados (upserted) de volta à coleção do catálogo de produtos no MongoDB , permitindo ajustes em tempo real no aplicação e-commerce .
Autores
Francesco Baldissera, MongoDB
Sebastian Rojas Arbulu, MongoDB