Design clássico · Sênior
Precificação dinâmica
Projeto de entrevista clássico. Pontos centrais: elasticidade de preço, bandits e loops de feedback.
Resposta curta
Projeto de entrevista clássico. Pontos centrais: elasticidade de preço, bandits e loops de feedback. A descrição pública do desafio de precificação dinâmica no curso da Educative resume o problema assim: ajustar preços de produtos em tempo real, com base no contexto do usuário, nas condições de mercado e na demanda observada.
01 · CONTEXTO
O que é um motor de preço dinâmico
A descrição pública do desafio de precificação dinâmica no curso da Educative resume o problema assim: ajustar preços de produtos em tempo real, com base no contexto do usuário, nas condições de mercado e na demanda observada. Em termos gerais, a estratégia de preço dinâmico define preços flexíveis conforme a demanda de mercado do momento.
Esses preços costumam sair de algoritmos que levam em conta preços de concorrentes, oferta e demanda e outros fatores externos do mercado. A forma mais simples de precificar, custo mais margem fixa, usa só informação interna e não considera reação do mercado.
| Critério | Custo mais margem | Algoritmos de preço dinâmico |
|---|---|---|
| Informação usada | Só informação interna | Preço de concorrentes, oferta e demanda e outros fatores externos |
| Reação do mercado | Não é considerada | Entra no cálculo por meio dos fatores externos |
02 · ELASTICIDADE
Quanto a demanda reage ao preço
A elasticidade-preço da demanda mede o quão sensível é a quantidade demandada ao preço. Ela expressa a variação percentual da quantidade quando o preço sobe, mantendo todo o resto constante.
O horizonte de tempo importa: para a maioria dos bens, quanto mais tempo uma mudança de preço se mantém, maior tende a ser a elasticidade.
Para um motor de preço, a pergunta de projeto é de onde virá a estimativa de elasticidade e com que frequência ela é reavaliada. Uma estimativa é sempre uma hipótese sobre os dados que o sistema já viu.
03 · BANDITS E FEEDBACK
Explorar preços sem perder receita
O problema do bandit de múltiplos braços é um problema clássico de aprendizado por reforço que exemplifica o dilema entre exploração e aproveitamento. A escolha a cada tentativa fica entre aproveitar a opção de maior retorno esperado e explorar para obter mais informação sobre as demais.
Aplicado a preço, cada faixa de preço candidata faz o papel de um braço: testar uma faixa nova gera informação, mas pode custar vendas. A fronteira entre testar e aproveitar é uma decisão de projeto no contexto de ML system design, não um detalhe de algoritmo.
Um desenho possível, mostrado abaixo, separa o caminho de consulta de preço do caminho de aprendizado, uma ideia comum em análise em tempo real. O serviço de preço responde rápido usando sinais já preparados, e as decisões e os resultados de venda seguem de forma assíncrona para atualizar esses sinais.
O cliente pede o preço de um produto ao gateway, que repassa o pedido ao serviço de preço.
O serviço de preço lê no cache os sinais recentes de demanda daquele produto, para responder sem esperar o banco.
O serviço escolhe um preço: na maior parte das vezes aproveita a melhor faixa conhecida e, em algumas, explora uma faixa nova.
A decisão e o resultado da venda são publicados na fila, sem atrasar a resposta ao cliente.
O atualizador consome os eventos, grava o histórico no banco e renova os sinais no cache. É aqui que o preço escolhido volta a influenciar os dados seguintes.
04 · OPERAÇÃO E LIMITES
Observabilidade e regras de negócio
Um motor que muda preço sozinho precisa de monitoramento: acompanhar os preços praticados, as vendas observadas e o comportamento do próprio algoritmo, com alertas quando algo sair do esperado.
Também faz sentido limitar o que o algoritmo pode fazer, com preço mínimo e máximo por produto e uma forma de desligar a exploração. Esses limites são regras de negócio e não dependem do algoritmo.
Perguntas frequentes
O que é Precificação dinâmica?
Projeto de entrevista clássico. Pontos centrais: elasticidade de preço, bandits e loops de feedback.
O que o design de Precificação dinâmica cobre?
Ele está organizado nestas seções: O que é um motor de preço dinâmico, Quanto a demanda reage ao preço, Explorar preços sem perder receita e Observabilidade e regras de negócio.
Quanto tempo leva Precificação dinâmica e qual é o nível?
Leva cerca de 16 minutos para ler e tem nível Sênior.
Agora projete você mesmo
Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.