CategoriaPesquisa e método
Tamanho de amostra em teste A/B: significância e parada
Um teste A/B compara duas versões da mesma página ou do mesmo fluxo sob as mesmas condições, e mede uma diferença que você nomeou antes de começar. Ele responde se a distância que você viu é maior que o ruído do seu tráfego. Ele não responde por que a distância existe, e não resolve efeito pequeno em amostra pequena.
O que um teste A/B responde e o que ele não responde
Um teste responde a uma pergunta: com este tráfego, a versão B é melhor que a versão A na métrica que eu escolhi. Todo o resto é uma segunda pergunta vestindo os mesmos dados.
O que um teste responde bem:
- Uma decisão de direção sobre uma métrica única, com taxa de erro declarada.
- Se uma mudança que vale implantar aparece no comportamento.
- Qual das duas versões vence quando a distância é grande o bastante para ver.
O que um teste não responde:
- Por que a mudança funcionou. O teste reporta a distância, não a causa.
- Se a mudança funciona em outro público, outra estação ou outro canal. A amostra veio do tráfego que você tinha.
- O que acontece ao longo de meses. A maioria dos testes roda por dias, e a novidade de um layout novo se apaga.
- Se um efeito pequeno importa. Isso é pergunta de negócio e não de estatística.
- Nada sobre uma métrica que você não mediu antes do teste começar.
Somit Gupta, Pavel Dmitriev, Garnet Vaz e Dong Woo Kim, da Microsoft, publicaram A Dirty Dozen: Twelve Common Metric Interpretation Pitfalls in Online Controlled Experiments (em inglês) na KDD 2017. O artigo parte de milhares de experimentos rodados na empresa e lista doze formas de o time ler errado o movimento de uma métrica. Os autores afirmam que uma leitura errada pode custar milhões de dólares ao negócio. O teste raramente é o elo fraco. A leitura é.
Como calcular a amostra a partir do efeito que se quer detectar
Quatro entradas decidem a amostra, e as quatro são declarações que você faz antes do teste rodar.
- A taxa base. A taxa de conversão que a sua versão atual já produz.
- O efeito mínimo detectável. A menor mudança que ainda faria você agir. A calculadora de Evan Miller (em inglês) define isso como “the smallest effect that will be detected (1-β)% of the time”.
- O poder, escrito como 1−β. A mesma página define como “the percent of the time the minimum effect size will be detected, assuming it exists”.
- O nível de significância, escrito como α. Miller define como “the percent of the time a difference will be detected, assuming one does NOT exist”.
A regra prática de Miller para a contagem é n = 16σ²/δ², em que δ é o efeito mínimo que você quer detectar e σ² é a variância esperada. A calculadora de tamanho de amostra (em inglês) dele aplica a mesma lógica a uma taxa de conversão, com a taxa base, o efeito, o poder e o alfa como entradas.
O custo de um efeito menor é tráfego, e o custo não é linear. A fórmula carrega isso: n anda com o inverso do quadrado do efeito, então cortar o efeito pela metade quadruplica a amostra. A calculadora de Miller mostra a escala. O exemplo padrão dela, taxa base de 10,2% com efeito relativo entre 10,2% e 13,2%, devolve 2.545 sujeitos por variação (Evan Miller (em inglês)).
A calculadora também imprime uma faixa cinza em volta da taxa base, e é nessa faixa que a maioria dos programas falha. Taxas dentro dela não serão distinguíveis da taxa base. O glossário da Optimizely sobre significância estatística (em inglês) lista três motivos para um teste nunca chegar à significância. A mudança era pequena demais, a taxa base era baixa demais, ou o time mediu metas demais ao mesmo tempo. Cada causa é problema de dimensionamento e não de estatística.
O que a significância quer dizer e o que ela não garante
Significância é uma afirmação sobre o ruído, não sobre o tamanho do ganho. O glossário da Optimizely (em inglês) define como a medida de quão incomum seria o seu resultado se não houvesse diferença real e a distância viesse só do acaso. O glossário da VWO (em inglês) diz a mesma regra pelo lado frequentista: o resultado é significativo quando o p-valor fica abaixo do nível de significância escolhido antes, geralmente 0,05.
Um resultado significativo diz o seguinte. Se as duas versões fossem idênticas, uma distância deste tamanho apareceria em menos de 5% das vezes. Ele não diz que a distância é grande, nem permanente, nem causada pela sua mudança (Optimizely (em inglês)).
Essa definição tem três limites.
- O limite é convenção e não lei. O glossário da VWO (em inglês) chama 0,05 de padrão sugerido do setor, e não de valor derivado dos dados.
- Significância cobre uma métrica só. A Optimizely (em inglês) lista metas demais como causa comum de teste que nunca chega ao limite. Meça dez métricas a 5% cada e o falso vencedor é garantido por construção.
- O número depende de a amostra ter sido fixada antes. A nota de Evan Miller de 2010 (em inglês) diz essa premissa sem rodeio e acrescenta que é a premissa que a maioria dos times viola sem perceber.
As duas escolas estatísticas também reportam números diferentes para o mesmo teste, e isso vale saber antes de comparar ferramentas. O glossário da VWO (em inglês) traz a leitura frequentista abaixo da linha de 0,05, e o glossário da Optimizely (em inglês) traz o mesmo limite pelo lado da ferramenta. A plataforma da VWO (em inglês) trabalha no quadro bayesiano e reporta a Probabilidade de Ser a Melhor com limite de 95%, mais um valor de Perda Potencial. Um p-valor frequentista e uma probabilidade bayesiana não são a mesma grandeza, e trocar de ferramenta pode mover o resultado de lado.
Por que espiar e parar cedo invalida a leitura
Esse é o erro mais comum, e a conta explica melhor que qualquer sermão sobre disciplina.
A nota de Miller How Not To Run an A/B Test (em inglês), publicada em abril de 2010, percorre o problema. O cálculo de significância assume que o tamanho da amostra foi fixado antes de o teste começar. Se você em vez disso diz “vamos rodar até ver uma diferença significativa”, todo nível de significância reportado perde o sentido.
O exemplo dele deixa o tamanho do erro concreto. Pegue uma taxa de conversão de 50% e pare assim que o teste bater 5% de significância, ou encerre depois de 150 observações. Se a mudança não fizer nada, o teste ainda reporta um resultado significativo em 26,1% das vezes. Isso é mais de cinco vezes os 5% de erro que você achou que tinha comprado (Evan Miller (em inglês)).
Cada espiada piora o estrago. A tabela de Miller dá o limite reportado que você precisaria para manter uma taxa de erro real de 5% (Evan Miller (em inglês)):
- Espiar uma vez: 2,9% de significância reportada.
- Espiar duas vezes: 2,2%.
- Espiar três vezes: 1,8%.
- Espiar cinco vezes: 1,4%.
- Espiar dez vezes: 1,0%.
Testar significância repetidamente move o erro numa direção só. Ele cria falso positivo. Ele não esconde efeito real.
A primeira correção é uma regra fixada antes do teste. O conselho de Miller é decidir a amostra com antecedência e esperar o experimento terminar antes de acreditar no painel. Olhar os dados tudo bem. Parar por causa deles, não.
Existe uma segunda correção para o time que precisa olhar todo dia. Ramesh Johari, Pete Koomen, Leonid Pekelis e David Walsh escreveram Always Valid Inference: Bringing Sequential Analysis to A/B Testing (em inglês), o trabalho por trás dos métodos sequenciais de hoje. Evan Miller documenta uma versão mais simples na nota dele sobre testes sequenciais (em inglês). Os autores afirmam que p-valores e intervalos de confiança frequentistas são totalmente não confiáveis quando o usuário escolhe o tamanho da amostra monitorando o teste sem parar. Eles definem p-valores e intervalos sempre válidos, que continuam corretos em cada olhada, e o método rodou numa plataforma comercial em centenas de milhares de experimentos. Se a sua ferramenta reporta intervalo sequencial ou sempre válido, olhar todo dia é permitido. Se ela reporta um p-valor simples, não é.
Duração, calendário e o que de fato limita um teste
Tamanho de amostra não é prazo. Duas semanas de tráfego e dois dias de tráfego podem carregar o mesmo número de visitantes, e não são o mesmo teste.
A mistura de tráfego anda com o calendário. Uma manhã de dia útil e um domingo à noite trazem pessoas diferentes, com intenção diferente. Um teste que roda de segunda a quarta mede um público de segunda a quarta, e o resultado pertence àquela janela e não ao mês.
A ferramenta do próprio Google acabou, e isso removeu um padrão em que muitos times se apoiavam. O Google Optimize e o Optimize 360 deixaram de existir em 30 de setembro de 2023, segundo a página de ajuda do Analytics sobre o encerramento. O Google agora aponta para integrações com Optimizely, VWO e AB Tasty. O Firebase A/B Testing, que usava a infraestrutura do Optimize para a inferência, passou a usar inferência frequentista nos experimentos iniciados em 23 de outubro de 2023 ou depois.
A documentação do próprio Firebase traz uma posição que vale conhecer, porque ela contradiz a regra de amostra fixa. A inferência deles não exige tamanho mínimo de amostra antes de o experimento começar, e a recomendação é escolher o maior nível de exposição com que você se sente confortável. A mesma página acrescenta que amostras maiores aumentam a chance de um resultado significativo, em especial quando as variantes diferem pouco. Ela aponta para uma calculadora de tamanho de amostra (em inglês) para a contagem recomendada.
Há mais uma restrição de duração que vem da ferramenta e não da estatística. O Firebase observa que um público novo do Google Analytics pode levar de 24 a 48 horas para acumular usuários. Quem se qualifica também leva de 24 a 48 horas para entrar nele. Um teste que começa num público novo gasta o primeiro dia medindo um grupo que ainda está enchendo.
Esse último número é o mínimo real. Uma ferramenta que monta o público ao longo de dois dias não pode ser lida antes de o público existir. O cálculo de amostra sempre foi uma contagem de pessoas.
Significância estatística contra relevância prática
Um efeito real pode ser pequeno demais para importar, e o teste de significância não avisa isso.
Significância responde se a distância é distinguível do ruído. Ela não diz nada sobre se a distância vale o tempo de engenharia, o custo de migração e a carga de suporte. Um ganho pequeno demais para pagar a construção ainda pode ser significativo quando o tráfego é grande o bastante.
O Nielsen Norman Group traça a linha em Significância prática contra significância estatística (em inglês), e os números da página tornam o problema difícil de esquecer.
- Um ganho de 1,00% para 1,10% com 6.000 usuários carrega p = 0,03. O resultado é significativo pelo limite de sempre e irrelevante para o negócio (NN/g (em inglês)).
- Um ganho de 20,0% para 85,0% com 8 usuários carrega p = 0,37. O resultado não é significativo e o efeito é enorme (NN/g (em inglês)).
A leitura que funciona é uma segunda conta em cima do teste. Pegue o efeito observado, converta para a unidade que o seu negócio já usa e compare com o custo de publicar. Se o ganho não cobre o custo, o resultado é real e a mudança não vale a pena.
Dois hábitos mantêm a leitura limpa.
- Declare o menor efeito que justificaria publicar antes do teste, que é o mesmo número que você usou no tamanho da amostra.
- Reporte o intervalo de confiança junto com o vencedor. Intervalo largo em volta de uma estimativa positiva é pedido de mais tráfego, não sinal verde.
Como registrar o resultado para não repetir o teste errado
Teste que termina sem registro escrito é rodado de novo por outra pessoa no próximo trimestre. O registro é o que fica.
- Escreva a hipótese, a métrica e a amostra declarada antes de rodar qualquer coisa. A declaração é o que torna o p-valor posterior significativo.
- Guarde a regra de decisão, incluindo o ponto de parada, junto com o teste. Regra que mora na memória de alguém não é regra.
- Registre o resultado, qualquer que seja. Resultado neutro é achado e fecha uma pergunta.
- Anote a janela, o público e a origem do tráfego. Resultado sem janela não pode ser comparado com o próximo.
- Escreva o veredito prático ao lado do estatístico: publica, não publica, ou precisa de mais tráfego (em inglês). Esse terceiro veredito é o que o artigo Establishing a Baseline descreve, em que o time segue medindo até a linha de base ficar estável o bastante para comparar.
- Anote os fatores de confusão que estavam presentes, como campanha no ar, feriado, release ou erro de medição (em inglês). O Nielsen Norman Group reúne esses fatores sob variáveis de confusão em pesquisa quantitativa de UX.
- Mantenha a lista do que foi testado onde a próxima pessoa vai ler. O valor de um resultado nulo é impedir a repetição.
O método é antigo e o modo de falha também. Fixe a amostra antes de começar, leia significância como afirmação sobre ruído e escreva o que você achou. O teste é barato. Repetir o mesmo teste errado por um ano não é.
Duas leituras a mais cobrem o tamanho do grupo. How Many Participants for Quantitative Usability Studies (em inglês) dá a contagem que um estudo quantitativo precisa, e A/B Testing (em inglês) diz onde o método é fraco.
Onde o Nielsen Norman Group não conta uma história só
Os artigos do Nielsen Norman Group não concordam sobre amostras grandes, e vale mostrar onde divergem.
O artigo de 2005 sobre estudos quantitativos (em inglês) trata amostra grande como vantagem. Ele diz que, com um número muito grande de usuários, o time detecta uma diferença de 1% com alta significância. Nessa leitura, o tamanho da amostra é o que compra precisão.
O artigo de 2024 sobre teste A/B (em inglês) usa o mesmo volume de tráfego como limitação. Ele afirma que o método exige milhares de usuários, e que é por isso que o teste A/B encaixa mal numa página de tráfego baixo. O mesmo volume que lê como vantagem num artigo é a restrição no outro.
Significância prática contra significância estatística (em inglês) mostra o outro lado, e é o que se deve guardar. Um resultado pode ser significativo e inútil ao mesmo tempo, e o exemplo da própria página é um ganho de 85,0% para 85,2% com p = 0,03. A distância é real pelo limite de sempre e é pequena demais para qualquer negócio agir. O artigo também mostra o inverso: uma diferença de 20,0% para 85,0% com 8 usuários e p = 0,37 é grande e mesmo assim não é significativa.
A posição deste post é a mais estreita. Amostra grande compra precisão e nada mais, e precisão só vale a pena quando o efeito vale ser detectado. Putting A/B Testing in Its Place (em inglês) chega a uma conclusão compatível pelo lado do método.
Fontes
- Evan Miller, How Not To Run an A/B Test (em inglês)
- Evan Miller, Sample Size Calculator (em inglês)
- Evan Miller, Sequential A/B Testing (em inglês)
- Google, Analytics Help: Google Optimize has sunset
- Google, Firebase: A/B testing concepts
- Optimizely, Statistical Significance (em inglês)
- Wingify (VWO), Statistical Significance (em inglês)
- Johari, Koomen, Pekelis e Walsh, Always Valid Inference (em inglês)
- Gupta, Dmitriev, Vaz e Kim, A Dirty Dozen: Twelve Common Metric Interpretation Pitfalls in Online Controlled Experiments (em inglês)
- Nielsen Norman Group, Practical vs. Statistical Significance (em inglês)
- Nielsen Norman Group, A/B Testing (em inglês)
- Nielsen Norman Group, Putting A/B Testing in Its Place (em inglês)
- Nielsen Norman Group, Establishing a Baseline (em inglês)
- Nielsen Norman Group, Confounding Variables in Quantitative UX Research (em inglês)
- Nielsen Norman Group, How Many Participants for Quantitative Usability Studies (em inglês)
Duas notas relacionadas estão no post sobre teste de usabilidade, que cobre o piso qualitativo, e no post sobre checkout, que cobre decidir antes de construir.


