Pular para o conteúdo
← TODOS OS PROJETOS
Leitura do resultadouma rede de supermercados · ago/2026 — hojeExposto

A diretoria parou de abrir relatório para descobrir o que saiu do padrão

Margem, ruptura, fluxo de clientes, quebra e compras viviam em relatórios separados. Para saber se o dia tinha sido normal, alguém precisava abrir cada um, comparar com a semana anterior e decidir de cabeça o que merecia atenção. O que não era olhado no dia virava surpresa no fim do mês.

31
regras de alerta ativas, rodando todo dia de manhã sobre os dados do ERP
4,2x
era quanto a regra antiga de ruptura oscilava só por causa do atraso na carga de dados
45 s
de limite por consulta, depois de uma aba ficar presa em 'carregando' para sempre

DIAGNÓSTICO OPERACIONAL

Como era antes

A pergunta da diretoria toda manhã era simples: o dia de ontem foi normal? Para responder, alguém abria o relatório de vendas, o de margem, o de ruptura, o de quebra e o de compras, comparava cada um com a semana anterior e decidia de cabeça o que merecia atenção.

Esse trabalho dependia de quem estava olhando e de quanto tempo sobrava no dia. Margem que caía dois pontos numa terça passava despercebida. Ruptura em produto importante só aparecia quando o cliente reclamava. E a reunião começava pelo número que alguém lembrou de trazer, não pelo que mais importava.

ENGENHARIA E ARQUITETURA

O que eu fiz

Um motor de alertas diários e um painel executivo em cima dele. Todo dia de manhã, 31 regras ativas leem os dados do ERP e respondem uma pergunta cada: a margem ficou abaixo do padrão do dia da semana? O fluxo de clientes ou o ticket médio caíram? Quais produtos de curva A e B estão sem estoque? Algum setor da produção quebrou acima do normal? Entrou compra ou transferência sem necessidade?

Três decisões de desenho fazem o painel funcionar:

  • Cada alerta tem dono. Diretoria, Compras ou Controladoria. O que é estrutural fica no painel de quem cuida, e a diretoria vê só os três mais relevantes do dia.
  • O limiar é parâmetro, não código. Calibrar uma regra é mudar um número na tabela, sem novo deploy e sem depender de TI.
  • Cada alerta explica por que disparou. O valor apurado e o limite aparecem lado a lado, na mesma unidade. Se a conta não fecha na tela, ninguém confia no resto do relatório.

RESULTADOS MENSURÁVEIS

O que mudou

A diretoria passou a começar o dia por uma lista curta do que saiu do padrão, com o responsável já nomeado, em vez de abrir relatório por relatório. Os benefícios práticos:

  • Um lugar só. Vendas, margem, ruptura, quebra e compras na mesma tela, atualizados antes da primeira reunião.
  • Prioridade pronta. O top 3 do dia diz por onde começar; o resto continua visível para quem é dono do assunto.
  • Confiança no número. Toda mudança de regra passa por um teste contra o histórico antes de entrar no ar, para garantir que o alerta só mude quando a regra de fato mudou.
  • Autonomia do time. Ajustar sensibilidade de um alerta virou tarefa de quem usa, não chamado para desenvolvedor.

O que ainda não está medido: quanto tempo de análise isso economizou por semana e quantas decisões mudaram por causa de um alerta. O painel é usado todo dia; o efeito dele em resultado ainda precisa de uma janela maior. Até lá, o caso fica como está: exposto, não concluído.

DINÂMICA DE OPERAÇÃO

Uma coisa que eu descobri tarde, e você descobriria também

O alerta de ruptura media o atraso do sistema, não a falta de produto.

A regra antiga classificava a gravidade da ruptura pelos dias sem venda. Só que a carga da madrugada muitas vezes rodava antes de o ERP consolidar as vendas do dia anterior. Nesses dias, todo produto parecia estar um dia a mais sem vender, a gravidade subia para todo mundo e o alerta disparava. Nos dias em que a carga chegava completa, ele ficava quieto.

Resultado: a contagem oscilava 4,2 vezes governada pela carga de dados, e o limiar tinha sido calibrado justamente sobre os dias ruins. A regra estava invertida. A correção foi trocar o critério por estoque zerado de verdade, que não depende da venda do dia anterior, e ampliar o universo para curvas A e B. A contagem ficou estável, com ou sem atraso na carga.

Uma segunda lição, menor e do mesmo tipo: todo pedido do painel ganhou um limite de 45 segundos. Durante uma manutenção do banco, uma consulta parou de responder sem dar erro, e a aba ficou girando para sempre. Sem prazo máximo, “sem resposta” e “demorando” viram a mesma coisa na tela.

O QUE EU APRENDI

Um alerta calibrado sobre dado quebrado aprende o defeito. A regra antiga de ruptura disparava justamente nos dias em que a carga da noite não tinha trazido as vendas do dia anterior: media o atraso do sistema, não a falta de produto. Antes de ajustar qualquer limiar, a primeira pergunta passou a ser se o dado de origem está são.

OUTROS PROJETOS DA MESMA DOR

PRÓXIMO PASSO

Tem um problema parecido na sua operação?