Estatística & priorização · 2025
Decisões de Negócio (A/B)
Qual hipótese de crescimento testar primeiro, e o teste vencedor realmente moveu a receita?
Python · Pandas · SciPy · ICE / RICE
A pergunta
Uma loja online tinha nove hipóteses de crescimento e nenhum critério para escolher entre elas. Duas perguntas precisavam de resposta, em ordem: qual hipótese merece o primeiro teste, e, uma vez rodado o teste, a diferença observada é real ou ruído?
Os dados
Nove hipóteses pontuadas, cada uma com Reach, Impact, Confidence e Effort. Mais logs de pedidos e visitas cobrindo 1–31 de agosto de 2019 — 31 dias consecutivos sem nenhum dia faltando em nenhum dos grupos, o que dá mais de quatro ciclos semanais completos e dilui a sazonalidade de dia da semana. Os valores de pedido vão de US$ 5,00 a US$ 19.920,40.
Método, e por que este método
A priorização foi pontuada duas vezes — uma com ICE, outra com RICE — de propósito, porque os dois frameworks discordam e a discordância é o achado. O RICE acrescenta o Reach, que o ICE ignora por completo.
Antes de testar qualquer coisa, 58 visitantes apareceram tanto no grupo A quanto no B — 5,6% dos 1.031 visitantes únicos, mas 181 pedidos, 15,1% do total. Foram removidos: um usuário exposto às duas versões gera um pedido que não pode ser atribuído a nenhum dos tratamentos, e mantê-los violaria a independência entre grupos, empurrando A e B artificialmente um em direção ao outro e mascarando qualquer diferença real. Os pedidos caíram de 1.197 para 1.016, e a divisão continuou equilibrada (89 removidos de A, 92 de B, restando A=468 e B=548).
Essa correção tem uma limitação conhecida que vale declarar em vez de esconder. O
visits_us.csv é agregado por data e grupo, sem visitorId, então esses mesmos 58 usuários não
podem ser removidos do lado das visitas: o numerador da taxa de conversão perde 181 pedidos
enquanto o denominador ainda conta todas as sessões deles. A conversão fica portanto subestimada
nos dois grupos e deve ser lida como um piso, não como o nível verdadeiro. Como a contaminação
se dividiu quase simetricamente entre A e B, a comparação entre grupos continua válida — é o
nível absoluto que fica deslocado.
Para o teste em si, a distribuição de receita é fortemente distorcida por um punhado de pedidos muito grandes, então um teste baseado em média reportaria o que quer que esses poucos pedidos tivessem feito. A análise usa portanto testes não paramétricos nos dados brutos e filtrados, e compara os dois resultados em vez de confiar em qualquer um sozinho. O filtro vem dos dados: o percentil 99 fica em 2 pedidos por usuário (só 7 usuários acima) e em US$ 830,30 por pedido (9 pedidos acima).
Achados
Trocar ICE por RICE reordena o ranking quase por completo. No ICE, o líder é uma promoção de desconto de aniversário (16,2), seguida de adicionar dois canais de tráfego (13,3) e de um formulário de assinatura em todas as páginas (11,2). No RICE, o formulário de assinatura salta para 112,0 e assume a liderança, justamente porque seu reach é alto — enquanto a promoção de aniversário, vencedora no ICE, cai para quinto lugar. A pontuação dela não muda (16,2); só falta reach para se sustentar quando o RICE o considera.
No teste, as curvas cumulativas mostraram dois comportamentos diferentes. Receita e ticket médio pareciam uma vitória folgada do grupo B — +27,8% no ticket médio nos dados brutos — mas essa vantagem inteira nasceu de um único pedido de US$ 19.920,40; sem ele, o ticket médio de B cai abaixo do de A. A conversão se comportou de forma completamente diferente: uma subida suave que cruzou a linha de A em 7 de agosto e estabilizou na segunda metade do mês, com média de +15,7% e desvio padrão de apenas 2,6 pontos percentuais, fechando em +16,0% para B sem nenhum evento pontual sustentando o número.
Os testes de Mann-Whitney confirmaram exatamente essa divisão. A conversão rejeita H0 nos dados brutos (p = 0,0110) e nos filtrados (p = 0,0070), e a diferença relativa não encolhe quando as anomalias saem — ela cresce, de +16,0% para +18,9%. É o oposto do comportamento de um artefato de outlier. O ticket médio nunca rejeita H0 (p = 0,8622 bruto, p = 0,8220 filtrado), e sua diferença relativa desaba de +27,8% para −3,2%, trocando de sinal, quando o pedido de US$ 19.920,40 e as demais anomalias saem do cálculo.
A decisão que habilita
Priorizar por RICE quando o reach varia muito entre hipóteses, que é exatamente quando o ICE mais engana. O formulário de assinatura vai primeiro.
Encerrar o teste A/B e declarar o grupo B vencedor — pela conversão apenas. É a única métrica que se sustenta nos dois cenários, e que se fortalece em vez de enfraquecer quando as anomalias são removidas. A receita deliberadamente não entra como argumento a favor de B, porque não sobrevive nem ao teste de significância nem à remoção do outlier. Continuar o teste não acrescentaria nada: a conversão não era uma tendência ainda em formação, já tinha assentado na segunda metade do mês — mais dias não mudariam a conclusão.