Todos os projetos

Projeto 03

Atlas

Um sistema de planejamento de suprimentos que prevê a demanda por produto, projeta a data de ruptura e sugere o que comprar.

Status
Em produção
Papel
Desenvolvedor único: pipeline de dados, lógica de previsão e estoque, API e interface.
Código
Código privado
Fluxo simplificado
  1. ERP (Firebird)
  2. Importação em lote
  3. Modelos de previsão e estoque
  4. PostgreSQL
  5. Tela de planejamento

As decisões de compra dependiam de relatórios que rodavam direto no banco do ERP. Eles eram lentos, difíceis de comparar ao longo do tempo e não diziam nada sobre a confiabilidade de cada número. Cada produto precisava de três respostas: quanto vai vender, quando o estoque vai acabar e quanto comprar.

Um sistema separado que copia dados do ERP em lotes agendados para o seu próprio PostgreSQL, calcula previsões e projeções de estoque e entrega resultados pré-calculados para uma interface em Vue, de modo que nenhuma tela consulta o ERP. O motor de previsão foi portado de um módulo anterior do ERP e ampliado com seleção de modelo por backtest, correção de rupturas e acompanhamento de acurácia.

  • Série diária de demanda com correção de rupturas: dias sem estoque são reestimados a partir dos dias com estoque do mesmo dia da semana e ficam fora da avaliação dos modelos.
  • Sete modelos candidatos por produto: médias móveis ponderadas de 7, 28 e 90 dias, Holt com tendência amortecida, variantes com sazonalidade por dia da semana e Croston (SBA) para demanda intermitente.
  • Seleção de modelo por backtest com origem móvel, ordenado por WMAPE. O MASE contra uma previsão ingênua do mesmo dia da semana sinaliza produtos em que nenhum modelo supera a referência simples.
  • Estoque de segurança que considera a variabilidade da demanda e do lead time, ponto de reposição e sugestões de compra até o nível-alvo, priorizadas pela proximidade da ruptura.
  • Snapshots versionados das previsões, para que o gráfico de previsto x realizado mostre o que foi realmente previsto na época, e não um passado recalculado.
  • As telas respondem entre 10 e 40 ms a partir de tabelas pré-calculadas. A tela equivalente no ERP levava cerca de 1,5 segundo.