Sempre Aumenta E Nunca Diminui
Quando o dado só sobe, a análise normal para de funcionar
Tem coisa que vai sempre aumenta e nunca diminui na prática. Acumulado de custos, débito total, latência acumulada, filas de jobs pendentes. E o problema é que, quando isso acontece, você tende a aplicar a mesma lógica de análise que usaria com qualquer outra métrica, e simplesmente não funciona. Eu trabalei num projeto onde o painel de monitoramento mostrava o valor acumulado de erros de rede subindo semana após semana. Todo mundo olhava e pensava "tá crescendo, então tá piorando". Só que no terceiro mês percebi que a taxa de erro por requisição na verdade estava caindo — o número absoluto só subia porque o volume de tráfego tinha triplicado. O gráfico acumulativo escondia a melhoria real.
O que todo mundo erra primeiro
O erro mais comum é calcular desvio padrão, média móvel ou any detecção de anomalia baseada em threshold fixo sobre um dado cumulativo. O desvio padrão do seu acumulado vai crescer com o tempo de forma completamente natural, mesmo que o processo esteja perfeitamente estável. Você vai ter falsos positivos touto santo dia e acabar ignorando o alarme de verdade quando ele finalmente aparecer. Também dá ruim se você normalizar o dado cumulativo dividindo pelo tempo decorrido. Parece lógico, mas em sistemas com variance não-estacionária isso gera um ruído artificial enorme nos primeiros e últimos pontos da janela, porque você está dividindo uma soma acumulada por uma variável que cresce linearmente enquanto o numerador tem seu próprio comportamento estocástico.
O que eu uso no dia a dia
A abordagem que funciona pra mim é calcular o delta em janela deslizante. Em vez de olhar o valor acumulado bruto, eu calculo quantos eventos aconteceram nos últimos N minutos ou horas. Aí sim aplico qualquer método de detecção — Z-score, controle estatístico de processo, até simple threshold que eu calibrei manualmente. Se o dado é algo como custo acumulado de infraestrutura cloud, eu olho o custo marginal por período. Se é taxa de erro acumulada, eu olho erros por requisição no intervalo. A transformação mais simples costuma ser a que resolve. Num caso específico, tínhamos um processo batch que acumulava retries. O acumulador subia liso, sem nunca cair. O workaround que eu implementei foi manter uma janela rolante de 24h sobre os retries novos por hora, e comparar essa taxa com a média móvel exponencial dos últimos 7 dias. Quando a taxa horária ultrapassava 3x a média, disparava o alert. Funcionou porque o dado transformado (taxa por hora) é estacionário, ao contrário do acumulador bruto.

Quando o dado não pode ser transformado
Às vezes você não tem como calcular o delta. Dá vez ou outra o dado acumulativo é o que realmente importa — tipo saldo bancário, total de assinaturas ativas, capacidade total consumida. Nesses casos, o melhor que eu vejo é usar percentil relativo ao horizonte: em vez de dizer "o valor agora é X", você calcula em que percentil do histórico aquele valor se encaixa considerando o mesmo dia da semana, mesma hora, mesma sazonalidade. Isso remove a tendência determinística e deixa só o que é realmente anômalo. O problema real é que, quando algo só sobe, qualquer análise baseada em stationary assumes fica comprometida. Modelos como ARIMA vão tentar ajustar uma tendencia e, se você não diferenciar o dado antes, os resíduos vão carry autocorrelation forte e os intervalos de confiança ficam completamente fuera de lugar. Eu já vi gente rodar Prophet ou SARIMA em series acumuladas sem diferenciar e receber gráficos bonitos com forecast que não significa nada. Outra limitação séria: se o processo tem drift estrutural — mudanças de regra, novos módulos sendo ativados, campanhas — o histórico recente perde utilidade rapidinho. Eu recomendo manter duas janelas separadas: uma curta (7-14 dias) para detecção de anomalia reativa, e uma longa (90 dias) apenas para referência, nunca para decidir se algo é anomalia ou não.
O melhor conselho que eu tenho é: pare de olhar o valor absoluto. Transforme em taxa, em delta, ou em percentil condicional. Se nenhuma transformação resolver, o problema não é o gráfico, é que a métrica escolhida não serve pra detecção de anomalos. Troca de métrica.
Galeria
-
O que é, o que é? Sempre aumenta e nunca diminui. - Charada e Resposta ... -
O que é, o que é? Sempre aumenta e nunca diminui. - Charada e Resposta ... -
O que é, o que é? Sempre aumenta e nunca diminui. - Charada e Resposta ... -
O Que é o Que é: O que é, o que é, sempre aumenta e nunca