Rossmann Sales Forecast

Data Scientist • Solo

Repositório rossmann_sales_predict no GitHub
Tipo
ML em Produção
Forecasting
Stack
Python · XGBoost · Optuna
Flask · Telegram API · Render
Período
Nov – Dez 2025
Ver no GitHub ↗
Bot no Telegram

Bot no Telegram: o gestor digita o número da loja e recebe a previsão de vendas na hora.

O problema

O CFO da rede varejista Rossmann decidiu iniciar reformas em parte das lojas, e para planejar o investimento precisava saber quanto cada loja ia faturar nas próximas 6 semanas. Até então, essa previsão era feita manualmente por cada gerente, sem padrão, sem considerar promoções, concorrência ou sazonalidade, cada um no seu critério.

O objetivo

Automatizar e padronizar a previsão de vendas de mais de 1.100 lojas, e colocar essa previsão na mão de quem realmente decide, sem depender de planilha ou critério pessoal de cada gerente.

A solução

Um modelo de previsão treinado com XGBoost, validado de um jeito que respeita a ordem cronológica dos dados, simulando o cenário real de prever o futuro em vez de só acertar o passado. A entrega final não é um dashboard: é um bot no Telegram, onde o gestor digita o número da loja e recebe a previsão na hora, com comparação entre lojas e ranking automático das mais promissoras.

Um dos achados mais interessantes ao longo da análise: lojas com concorrentes por perto vendem mais, em média, do que lojas isoladas, o oposto do que se esperaria. A hipótese é que essas regiões concentram mais fluxo de consumidores.

Vendas por distância de concorrentes

Lojas com concorrentes mais próximos venderam mais, em média, do que lojas isoladas.

A decisão que fez diferença

A versão do modelo com melhor desempenho isolado não foi a escolhida para produção. Ela usava mais memória do que o servidor gratuito de deploy permitia. A versão final, com uma perda de performance de menos de 2%, rodava dentro do limite de memória disponível. Preferir um modelo levemente menos preciso, mas que realmente funciona em produção, valeu mais do que perseguir o melhor número num teste offline.

Resultado

1.115 lojas com previsão
automatizada
912 RMSE final
(vs 1.120 no modelo inicial)
−19% de redução no erro
de previsão

Leia mais projetos