Você usa testes A/B para melhorar seu produto ou suas comunicações?
O passo a passo para rodar um teste A/B do jeito certo — da hipótese até a análise estatística final.
→ Se você precisa de ajuda com seus testes A/B, me escreva em ezequiel@bildungdata.com
No meu último post falei sobre um framework para iterar as comunicações que mandamos para os nossos users usando testes A/B.
Mas como se executa corretamente um teste A/B?
Vamos ver o passo a passo com um exemplo. Serve para times de Produto que querem testar novas features e para times de Marketing que querem testar comunicações.
1. Definir a hipótese
"O novo fluxo de Onboarding vai aumentar a conversão de Novo Usuário para Cadastro."
2. Definir o grupo Controle e a Variante
- Variante A: 20% dos novos usuários.
- Controle: 80% dos novos usuários.
3. Calcular o tamanho mínimo de amostra
Para isso, posso usar uma calculadora de tamanho de amostra (por exemplo: evanmiller.org/ab-testing/sample-size.html). Os inputs necessários são:
- CVR atual de Novo Usuário para Cadastro. Digamos que seja 45%. Ou seja, de todos os novos usuários que baixam meu app / entram no meu site, apenas 45% finalizam o cadastro.
- Mínimo Efeito Detectável. É a menor diferença entre as ramas que meu experimento vai conseguir detectar (1-β)% das vezes. De forma standard, define-se em 5%.
- Escolher se vou analisar as diferenças entre ramas de forma Absoluta ou Relativa: de forma standard, define-se Relativa.
- 1−β (1-Beta): corresponde à probabilidade de detectar o Mínimo Efeito Detectável. De forma standard, usa-se 80%.
- α (Alfa): corresponde à probabilidade de validar a hipótese (confirmar que o teste foi bem-sucedido) quando, na verdade, não existe tal diferença entre as ramas (o teste não deveria ter sido bem-sucedido). De forma standard, usa-se 5%.
Com esses 4 parâmetros posso obter o número mínimo de amostra para cada rama. Uma vez obtido o número, me pergunto:
Com meu fluxo atual de novos usuários, quanto tempo levaria para terminar o teste? Por exemplo, se o tamanho mínimo de amostra por rama é de 10.000 users e meu app/site tem 500 usuários novos por dia (400 para o controle e 100 para a variante A), levaria 100 dias para chegar aos users necessários na Variante A.
Aqui a teoria esbarra na realidade e, para executar o teste A/B em um tempo razoável (por exemplo, 15 dias), vou ter que definir um tamanho de amostra menor mudando alguns dos parâmetros que defini antes. Por exemplo, posso setar o Mínimo Efeito Detectável em 7% ou aumentar o % de users que vai para a Variante A para 30%.
4. Rodar o teste A/B
5. Finalizar o teste quando ambas as ramas atingirem o tamanho mínimo de amostra
Vou precisar olhar:
- Número de novos usuários que entraram na Variante A e no Controle.
- Número de usuários de cada variante que se cadastraram.
Coloco os dados na minha calculadora de significância estatística (por exemplo: evanmiller.org/ab-testing/chi-squared.html) e analiso. Os cenários podem ser:
- Cenário A: a Variante A tem melhor conversão que o controle com 95% (1-α) de confiança. A hipótese é confirmada e o novo onboarding é adotado.
- Cenário B: o Controle tem melhor conversão que a Variante A com 95% (1-α) de confiança. A hipótese é rejeitada e o novo onboarding não é adotado.
- Cenário C: não há conclusões estatisticamente significativas, então não há razão para mudar o onboarding atual. A hipótese é rejeitada e o novo onboarding não é adotado.
Está começando a rodar testes A/B e tem dúvidas? Me escreve e a gente conversa.