Z-score assume que demanda segue distribuição normal (curva de sino). Se não segue, z-score erra. Testar é obrigação.
Pressuposto errado = conclusão errada.
O que é distribuição normal
Demanda segue padrão de sino:
– A maioria dos dias é perto da média.
– Dias muito altos ou muito baixos são raros e simétricos.
– Exemplo: média 100, alguns dias 95-105 (comum), alguns dias 80-120 (raro).
Se é assim, z-score funciona bem.
O que NÃO é normal
Distribuição enviesada pra cima: Maioria dos dias vende 50, mas alguns dias vendem 200 (evento especial). Não é simétrico.
Distribuição enviesada pra baixo: Maioria dos dias vende 200, mas alguns dias vendem 30 (feriadão). Cauda pra baixo.
Distribuição bimodal: Dois picos separados. Exemplo: vende 50 fins de semana, 150 dias úteis. Dois modos, não um.
Se é qualquer uma dessas, z-score sobrevigila ou subvigia.
Como testar normalidade
Visual: Faz histograma dos últimos 30 dias de venda. Se parece sino, é normal. Se é torto, provavelmente não.
Teste Shapiro-Wilk: Excel / Python testa. Se p-value > 0.05, é normal. Se < 0.05, não é.
Teste Anderson-Darling: Mais rigoroso que Shapiro-Wilk. Menos comum.
Simples: Se desvio padrão > 30% da média, distribuição pode não ser normal. Teste.
Exemplo real
Loja tradicional: Venda 100/dia, raramente varia. Distribuição é normal. Z-score funciona.
E-commerce com influencer: 95% dos dias vende 20, um dia por semana influencer posta = vende 500. Distribuição é bimodal. Z-score erra.
Comércio sazonal: Janeiro = média 100, junho = média 200. Bimodal (dois períodos). Z-score erra se usar dados agregados.
Solução 1: Transformar dados
Se distribuição não é normal, você pode transformá-la.
Log-transform: Aplica logaritmo na venda. Muitas vezes normaliza dados enviesados.
Box-Cox transform: Transformação mais sofisticada. Acha o λ ótimo.
Depois que transforma, usa z-score. Funciona.
Solução 2: Usar percentil
Em vez de z-score (que usa desvio padrão), usa percentil.
Se quer 95% de proteção, pega o percentil 95 da venda histórica.
Não importa se é normal ou não, percentil funciona em qualquer distribuição.
Exemplo: últimos 30 dias, percentil 95 é 150. Use 150 como estoque de segurança.
Solução 3: Separar períodos
Se distribuição é bimodal (dois períodos: normal e sazonalidade), separe.
Período baixo: use dados de períodos baixos. Calcula PP pra período baixo.
Período alto: use dados de períodos altos. Calcula PP pra período alto.
Cada período tem sua distribuição normal, z-score funciona em cada um.
Teste rápido
Você tem venda de 30 dias.
Ordena do maior ao menor.
Se maior ÷ menor > 3, distribuição é provavelmente não-normal. Teste.
Se razão < 2, provavelmente normal. Confie em z-score.
Implementação pragmática
1. Calcule histograma dos últimos 30 dias de venda.
2. Olhe. Parece sino? Sim = use z-score. Não = use percentil.
3. Teste com dados reais. Se ruptura cai, estratégia está certa.
Normalidade é pressuposto de z-score. Sempre teste antes de usar. Teste 7 dias grátis.