Teste A/B/n: várias variações sem falso positivo
Como testar várias variações infla o falso positivo, quanto Bonferroni e Sidak custam em tráfego e quando um teste de quatro braços vale a pena.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Cada variação que você adiciona a um teste é mais uma chance de errar, e a aritmética não é gentil: com três variações contra um controle no limiar usual de 5%, a probabilidade de coroar pelo menos uma vencedora falsa quando nada funciona de verdade é de 14,26%. A maioria dos times que roda teste A/B/n nunca aplica correção nenhuma, lê o menor valor-p da tabela e sobe aquilo. Este guia cobre exatamente quanto a taxa de falso positivo infla, quanto Bonferroni e Sidak custam em tráfego e calendário, um exemplo trabalhado em que um resultado que parece significativo não é, e como decidir se um teste de vários braços vale a pena. Ele faz parte do nosso guia completo de teste A/B e se apoia em significância estatística em teste A/B.
Por que os braços extras custam mais que tráfego
Um limiar de 5% no valor-p é uma promessa sobre uma comparação: se não existe diferença de verdade, você ainda assim vai chamar de vencedora cerca de 5% das vezes. Faça a mesma promessa três vezes e as promessas não somam do jeito que a intuição sugere. A chance de pelo menos uma delas falhar é 1 menos a chance de todas se sustentarem, o que dá 1 menos 0,95 elevado ao número de comparações.
| Variações contra o controle | Chance de pelo menos uma vencedora falsa | Limiar Bonferroni | Limiar Sidak |
|---|---|---|---|
| 1 | 5,00% | 0,05000 | 0,05000 |
| 2 | 9,75% | 0,02500 | 0,02532 |
| 3 | 14,26% | 0,01667 | 0,01695 |
| 4 | 18,55% | 0,01250 | 0,01274 |
| 5 | 22,62% | 0,01000 | 0,01021 |
| 6 | 26,49% | 0,00833 | 0,00851 |
| 8 | 33,66% | 0,00625 | 0,00639 |
A coluna do meio é o que os estatísticos chamam de taxa de erro por família. As duas últimas são as duas formas padrão de puxar isso de volta para 5%.
Johari, Pekelis e Walsh enunciam as duas definições de erro com clareza no trabalho deles sobre inferência sempre válida: a taxa de erro por família é a probabilidade, no pior caso, de incorrer em qualquer falso positivo, enquanto a taxa de falsa descoberta é a proporção média, no pior caso, de falsos positivos entre as hipóteses que você rejeitou. Eles também nomeiam os procedimentos padrão: Bonferroni para a taxa por família, Benjamini-Hochberg para a taxa de falsa descoberta. Qual dos dois você quer depende da decisão. Se uma única vencedora falsa sairia cara de subir, controle a taxa por família. Se você está varrendo muitas métricas e quer bom desempenho no conjunto, controlar a taxa de falsa descoberta é o alvo mais sensato.
Bonferroni e Sidak, em uma linha cada
Bonferroni divide o seu limiar pelo número de comparações. Três variações, alvo de 5%, cada comparação precisa bater 0,01667. Não assume nada sobre como as comparações se relacionam, e é por isso que é levemente conservadora e é um bom padrão.
Sidak assume que as comparações são independentes e resolve para o limiar que devolve exatamente 5% no total: 1 menos 0,95 elevado a um sobre o número de comparações. Para três comparações, isso dá 0,01695.
A diferença entre as duas é de 0,0003. Na prática, a escolha entre elas quase nunca muda uma decisão, então escolha uma, registre no seu documento de experimento e pare de discutir. O que muda decisão é corrigir ou não corrigir.
Exemplo trabalhado: a vencedora que a correção derruba
Um time de SaaS testa três layouts novos de página de preços contra o atual. O tráfego é dividido em quatro, 18.000 visitantes por braço, e a métrica é início de trial.
| Variação | Visitantes | Conversões | Taxa | Melhora | valor-p bruto | valor-p ajustado | Veredito | Remover variação |
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | ||||
| - | - | - | - | - | ||||
| - | - | - | - | - |
Testar várias variações contra o mesmo controle multiplica a chance de um falso positivo. A correção baixa o limiar por comparação para segurar o erro da família toda. Compare o valor-p bruto (o que uma calculadora de duas variações mostraria) com o ajustado: é comum uma variação passar sozinha e cair depois da correção.
Este é o placar.
| Braço | Visitantes | Trials iniciados | Taxa | Ganho relativo | Valor-p bruto | Valor-p ajustado |
|---|---|---|---|---|---|---|
| Controle | 18.000 | 720 | 4,000% | referência | referência | referência |
| B | 18.000 | 803 | 4,461% | +11,53% | 0,0298 | 0,0893 |
| C | 18.000 | 742 | 4,122% | +3,06% | 0,5569 | 1,0000 |
| D | 18.000 | 707 | 3,928% | -1,81% | 0,7255 | 1,0000 |
Bonferroni com três comparações; o valor-p ajustado é o bruto multiplicado por três e limitado a 1.
A variação B é a hora da verdade. O valor-p bruto de 0,0298 está confortavelmente abaixo de 0,05, o ganho é de +11,53% e o intervalo de confiança sobre a diferença vai de +0,045 a +0,877 ponto percentual, sem incluir o zero. Todo instinto na sala manda subir.
O limiar corrigido é 0,01667, e 0,0298 não passa dele. Dito de outro jeito, o valor-p ajustado é 0,0893. Sidak dá essencialmente a mesma resposta, 0,0866. A leitura correta é que B é a mais promissora das três e o teste não confirma isso.
Para contraste, um efeito genuinamente grande sobrevive sem discussão. Se B tivesse chegado a 855 trials (4,750%, um ganho de +18,75%), o valor-p bruto seria 0,0005 e o ajustado 0,0015, claramente significativo sob qualquer uma dessas correções. E a fronteira não está longe: B precisaria de 812 trials, taxa de 4,511% e ganho de +12,78%, para o valor-p bruto chegar a 0,0163 e passar da barra corrigida. Nove conversões a mais em 18.000 visitantes separam “promissora” de “confirmada” aqui, o que é um bom lembrete de quão fina é a evidência na borda de qualquer limiar.
Quanto a correção custa em tráfego e calendário
A correção não sobe a barra só na hora da análise. Se você planeja o teste direito, ela eleva a amostra necessária antes do lançamento, porque um limiar mais rígido exige mais evidência para o mesmo efeito detectável. E você está pagando por mais braços ao mesmo tempo.
| Variações | Limiar corrigido | Visitantes por braço | Visitantes no total | Dias a 25.000 por semana |
|---|---|---|---|---|
| 1 (A/B simples) | 0,05000 | 17.943 | 35.886 | 11 |
| 2 | 0,02500 | 21.729 | 65.187 | 19 |
| 3 | 0,01667 | 23.933 | 95.732 | 27 |
| 5 | 0,01000 | 26.699 | 160.194 | 45 |
Dimensionamento com base de 4%, efeito mínimo detectável de 15% relativo, poder de 80%, bicaudal, com o limiar corrigido por Bonferroni.
Duas coisas saltam. O custo por braço da correção é modesto: ir de uma comparação para três eleva a amostra por braço em só cerca de 33%, porque o tamanho de amostra responde ao limiar pelo quadrado de um valor crítico e não linearmente. A parte cara são os braços em si. Três variações transformam 35.886 visitantes em 95.732, ou seja 2,7 vezes o tráfego, e onze dias em vinte e sete.
Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.
Essa razão é a decisão de verdade. Um teste de quatro braços não é “um teste que responde três perguntas”, é quase três testes rodados em paralelo com um controle compartilhado, e deveria ser justificado do mesmo jeito. O efeito mínimo detectável que você consegue bancar num desenho de quatro braços é bem pior que num de dois, no mesmo tamanho de calendário, e fingir o contrário é como os programas acabam com uma gaveta cheia de teste multi-braço inconclusivo.
A multiplicidade que você não percebeu que tinha
As variações são a fonte visível de múltiplas comparações. Existem outras três igualmente reais e muito mais fáceis de não notar.
Métricas. Ler cinco métricas a 5% é aritmeticamente idêntico a cinco variações: cerca de 22,62% de chance de uma cruzar a linha por acaso. A correção normalmente não é uma fórmula, é declarar uma métrica primária antes do lançamento e deixar que ela carregue a decisão.
Segmentos. Fatiar um resultado neutro por dispositivo, canal, país e novo contra recorrente gera uma dúzia de comparações em poucos cliques, e pelo menos uma vai parecer significativa. Análise de segmento é valiosa para gerar a próxima hipótese e é quase inútil como confirmação, a menos que o segmento tenha sido nomeado antes do lançamento.
Tempo. Checar o resultado todo dia por duas semanas são catorze olhadas, e isso infla a taxa de falso positivo do mesmo jeito. É o problema do peeking, e ele se soma a tudo que está acima em vez de substituir.
Rodadas sequenciais. Rodar as mesmas quatro ideias como quatro testes A/B separados e subir a melhor não escapa da multiplicidade. As comparações continuaram acontecendo; só foram espalhadas pelo calendário. A regra honesta é que a correção acompanha o número de comparações que alimentaram a decisão, não o número de linhas do seu registro de testes.
No Bing, o sistema de detecção de interação precisava rodar centenas de milhares de testes de hipótese, e Kohavi e colegas relatam usar um algoritmo bayesiano empírico de controle da taxa de falsa descoberta para manter a contagem de falsos positivos administrável. A lição para um programa menor não é copiar o algoritmo, é notar que quem testa em escala acaba precisando de uma política explícita sobre multiplicidade, e que essa política precisa estar escrita em vez de improvisada a cada teste.
Quando o teste multi-braço é a escolha certa
| Situação | Desenho melhor |
|---|---|
| Quatro propostas de valor genuinamente diferentes, tráfego alto | A/B/n com correção, dimensionado para o limiar corrigido |
| Quatro variações pequenas da mesma ideia | Escolha a melhor e rode um teste de dois braços; os efeitos são pequenos demais para pagar a conta corrigida |
| Uma ideia, várias métricas que importam | Teste de dois braços com uma métrica primária declarada e o resto como contexto |
| Pouco tráfego e várias ideias | Testes sequenciais de dois braços, um por vez, maior aposta primeiro |
| Muitos braços e você quer o tráfego fluindo para o que funciona | Um bandit, que otimiza conversão total em vez de produzir veredito limpo por braço |
A última linha merece ressalva, porque costuma ser vendida demais. Um bandit multi-braço é um objetivo diferente, não um A/B/n mais barato: ele maximiza conversões durante o teste em vez de entregar uma estimativa limpa do efeito de cada braço. Se você precisa de um número defensável para uma decisão que sobrevive ao teste, quem produz isso é um experimento controlado com correção. Os detalhes estão em bandits contra teste A/B.
Erros comuns em teste A/B/n
| Erro | O que produz |
|---|---|
| Reportar o menor valor-p sem correção | Uma vencedora falsa mais ou menos uma vez a cada sete, com três variações |
| Corrigir na análise mas dimensionar sem correção | Um teste subdimensionado que quase nunca passa da barra corrigida |
| Adicionar uma quarta variação “já que estamos testando” | Todo braço perde poder e o calendário cresce semanas |
| Tirar braços perdedores no meio e reler | Multiplicidade mais peeking, sem nenhuma taxa de erro válida sobrando |
| Tratar uma não-vencedora corrigida como ideia morta | A variação B acima é boa candidata, não é ideia enterrada |
| Ler segmentos depois do fato como confirmação | Uma dúzia de comparações extras silenciosas e uma história que não vai se repetir |
Faça isso automático na Donnu
Uma correção só protege o programa quando é aplicada por padrão, e não por lembrança. A Donnu A/B conta as comparações do teste, aplica a correção ao limiar antes de mostrar qualquer veredito e reporta o valor-p ajustado ao lado do bruto, para ninguém precisar reconstruir qual barra o resultado realmente passou. O tamanho de amostra que ela recomenda no desenho já leva em conta o número de braços, então um teste de quatro vias não é planejado como se fosse de duas.
Comece um teste grátis de 14 dias e dimensione o seu próximo teste multi-braço contra a sua própria base.
Referências
- Johari, R., Pekelis, L. e Walsh, D.J. Always Valid Inference: Continuous Monitoring of A/B Tests. arXiv:1512.04922. Fonte das definições de taxa de erro por família e taxa de falsa descoberta usadas aqui, e da descrição de Bonferroni e Benjamini-Hochberg como os procedimentos padrão de horizonte fixo. arxiv.org/abs/1512.04922.
- Kohavi, R., Deng, A., Frasca, B., Walker, T., Xu, Y. e Pohlmann, N. Online Controlled Experiments at Large Scale. KDD 2013. Fonte do relato de controle bayesiano empírico da taxa de falsa descoberta em centenas de milhares de testes de hipótese no Bing. exp-platform.com.
- Kohavi, R., Deng, A., Longbotham, R. e Xu, Y. Seven Rules of Thumb for Web Site Experimenters. KDD 2014. Sobre efeitos sustentados e a disciplina de decidir o que conta como resultado antes de rodar. exp-platform.com.
- Kohavi, R., Tang, D. e Xu, Y. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press, 2020. Material complementar em experimentguide.com.
Leia também: O que é teste A/B · Significância estatística em teste A/B · Teste A/B, multivariado e split URL · O problema do peeking · Calculadora de significância A/B/n grátis · Read in English
Perguntas frequentes
- O que é um teste A/B/n?
- Um teste A/B/n compara um controle contra mais de uma variação ao mesmo tempo, dividindo o tráfego entre todos os braços. A mecânica é idêntica à de um teste A/B, mas a estatística não é: cada variação a mais é outra comparação contra o controle, e cada comparação carrega a própria chance de falso positivo. Com três variações testadas a 5%, a probabilidade de pelo menos uma produzir vencedora falsa quando nada funciona é de cerca de 14,26%, não 5%. É esse o motivo inteiro de o A/B/n precisar de correção e de amostra maior.
- Quanto várias variações inflam o falso positivo?
- A taxa de erro por família, ou seja a chance de pelo menos um falso positivo no teste inteiro, é 1 menos 0,95 elevado ao número de comparações. Uma comparação dá 5%, duas dão 9,75%, três dão 14,26%, cinco dão 22,62% e oito dão 33,66%. Com oito variações você tem uma chance em três de coroar uma vencedora que não existe, mesmo se toda variação for idêntica ao controle. Nenhum valor-p individual está errado; o problema é ler muitos deles e reportar só o menor.
- O que é a correção de Bonferroni e quando usar?
- Bonferroni divide o seu limiar de significância pelo número de comparações. Com três variações e alvo de 5%, cada comparação precisa bater 0,0167 em vez de 0,05. É a correção mais simples, é conservadora e é o padrão certo quando uma vencedora falsa sairia cara de subir. A correção de Sidak é uma alternativa levemente menos rígida que assume independência: para três comparações dá 0,01695 em vez de 0,01667, diferença pequena demais para mudar a maioria das decisões.
- Quanto tráfego a mais um teste A/B/n exige?
- Dois multiplicadores se somam. Primeiro, o limiar corrigido eleva a amostra por braço: com base de 4% e efeito mínimo detectável de 15% relativo, uma comparação exige 17.943 visitantes por braço e três comparações exigem 23.933. Segundo, agora você tem quatro braços em vez de dois. O tráfego total sai de 35.886 visitantes para 95.732, cerca de 2,7 vezes o custo. A 25.000 visitantes por semana, isso é 27 dias em vez de 11.
- Não é melhor rodar testes A/B separados?
- Rodar as mesmas comparações em sequência não elimina a multiplicidade, só a esconde, porque você continua escolhendo o melhor de vários resultados. O que os testes sequenciais compram de verdade é a chance de aprender entre rodadas e de descartar ideia ruim barato. A regra honesta é que a correção acompanha o número de comparações que você fez até a decisão, não o número de testes no calendário. Se você quer mesmo o caminho mais rápido com várias ideias, um A/B/n com correção costuma ser mais limpo que quatro testes sequenciais lidos sem nenhuma.
- Preciso corrigir para várias métricas também?
- Precisa, e essa é a versão que os times esquecem. Ler cinco métricas a 5% dá cerca de 22,62% de chance de ao menos uma cruzar a linha por acaso, exatamente a mesma aritmética de cinco variações. A correção padrão é declarar uma métrica primária antes do lançamento, que carrega a decisão, e tratar o resto como contexto e não como evidência. Quando você realmente precisa decidir por várias métricas ao mesmo tempo, aplique uma correção àquelas comparações do mesmo jeito.
- Quando testar mais de duas variações é boa ideia de verdade?
- Quando as variações são apostas genuinamente diferentes, e não pequenos ajustes umas das outras; quando o seu tráfego paga a conta da amostra corrigida; e quando perder também ensina. Quatro propostas de valor distintas numa página de preços é um bom A/B/n. Quatro tons do mesmo botão não é, porque os efeitos são pequenos, a amostra corrigida é enorme e a resposta não muda nada do que você vai fazer depois. Se o seu tráfego não sustenta o desenho corrigido, testar duas ideias bem vence testar quatro mal.