O teste A/A é uma metodologia que envolve testar variações idênticas umas contra as outras não para determinar uma variação vencedora, mas para validar o ambiente de teste. Ao garantir que o teste de variações idênticas produz os resultados esperados, os experimentadores podem ficar mais seguros na confiabilidade de testes A/B subsequentes.
Testes A/A podem ser particularmente úteis para:
- Verificar a coleta correta de dados: certifique-se de que a implementação e o monitoramento de eventos estejam alinhados com a sua plataforma analítica ou suas fontes de verdade internas.
- Verificar a alocação correta de tráfego: certifique-se de que o tráfego seja alocado aleatoriamente de acordo com a distribuição e evite vieses implícitos.
-
Avaliar o motor estatístico: verifique se as garantias oferecidas pelo método estatístico em uso são satisfeitas. É importante notar que diferentes métodos oferecem diferentes garantias. Por exemplo:
- Os métodos frequentistas usados no teste de hipótese nula prometem manter erros do tipo 1 (falsos positivos) abaixo de um determinado limite, contanto que os requisitos de tamanho da amostra sejam satisfeitos; e somente a métrica intencionada é considerada na avaliação. As rejeições da hipótese nula em testes A/A são falsos positivos, o que faz dos testes A/A adequados para confirmar que o sistema cumpre sua promessa.
- O método bayesiano usado pela Dynamic Yield não foca no controle de erros do tipo 1, mas tenta limitar a perda (decremento) que ocorre ao aceitar uma falsa descoberta. Em outras palavras, ele limita as consequências negativas de um erro em vez de limitar o número de erros. Nos testes A/A, onde as variações são idênticas, não há perdas possíveis, e, portanto, os testes A/A não são adequados para avaliar as garantias do sistema. Particularmente, uma vez que o sistema não foca no controle de falsos positivos, não deve haver expectativa de que os falsos positivos fiquem confinados a um determinado limite. Saiba mais sobre isso na seção de Por que o controle de falsos positivos não é o nosso foco principal.
Configurando um teste A/A
- Crie uma nova campanha de Custom Code (Código Personalizado) através de Site Personalization (Personalização do Site) › New Campaign (Nova Campanha) › Custom Code (Código Personalizado).
- Dê um nome à sua campanha ("AA Test 1", por exemplo)
- Se tiver integração com uma ferramenta analítica (Google Analytics, por exemplo), certifique-se de que ela esteja habilitada e clique em Next (Próximo).
- Na guia de direcionamento, clique em Next sem alterar nenhuma configuração.
- Na guia de variação, clique em New Variation (Nova Variação) e selecione o modelo Custom Code.
- Na guia de JS, adicione o seguinte código:
console.log('A/A test variation A');
- Clique em Save Variation (Salvar Variação).
- Clique em New Variation e crie uma segunda variação com o seguinte código na guia de JS:
console.log('A/A test variation B');
- Depois de salvar a segunda variação, use a coluna Allocation (Alocação) para alocar 50% do tráfego para cada variação.
- Use as configurações padrão para a métrica principal (compras, por exemplo). Não altere as configurações avançadas padrão que são persistentes para o usuário (múltiplas sessões) ou uma janela de atribuição que comece quando a variação é fornecida e termine quando a sessão é encerrada.
- Clique em Next e defina o status da experiência como Active (Ativa).
- Clique em Save Experience and Publish (Salvar Experiência e Publicar). Não se preocupe, isso não afetará a experiência dos seus visitantes. Os usuários que recebem as variações apenas disparam uma mensagem de console.log no navegador.
- Volte à página de campanhas, encontre sua campanha de teste A/A recém-criada e clique no botão de duplicar para criar uma campanha adicional chamada "A/A test 2". Repita o processo até ter pelo menos 20 campanhas.
Por que duplicar o teste A/A?
Um único teste A/A pode ser suficiente para identificar problemas com a coleta de dados ou a alocação de tráfego. No entanto, para validar a confiabilidade do motor estatístico, é importante executar o máximo de testes A/A possível, porque as garantias estatísticas geralmente são baseadas na premissa de tentativas repetidas. É padrão da indústria aceitar um pequeno percentual de falsos positivos, e criar vários testes A/A garante que você terá uma visão do motor estatístico do programa de testes A/B como um todo.
Por isso, é indicado repetir o processo a seguir o máximo de vezes possível (recomendamos 20 vezes). Você pode simplesmente duplicar o teste depois de criar o primeiro.
Avaliando os resultados do teste A/A
Depois de lançar seus testes A/A, recomendamos coletar dados por duas semanas antes de avaliar os resultados. É importante avaliá-los conforme os passos a seguir, pois eles são dependentes uns dos outros.
1º passo: verificar a coleta de dados
Expectativa: os dados coletados coincidem com um sistema externo de registro com uma discrepância menor que 5%.
Se encontrar uma discrepância maior, considere os seguintes:
- Por padrão, a Dynamic Yield exclui as exceções dos resultados, portanto, lembre-se de desativar a exclusão de exceções quando apropriado.
- Certifique-se de que a comparação seja válida. Por exemplo, se estiver usando o Google Analytics, certifique-se de que a propriedade esteja alinhada às páginas onde o script da plataforma de testes A/B é implementado.
- Considere fazer um rastreamento duplo: monitore os usuários na plataforma analítica e as compras nos dados analíticos da plataforma de e-commerce.
2º passo: verificar a precisão da alocação
Expectativa: não é detectada nenhuma discrepância nas proporções amostrais. A distribuição do tráfego é semelhante à distribuição definida na configuração do teste. Dada a aleatoriedade, a alocação nunca será exatamente como definida, mas você pode usar esta calculadora e inserir o número de usuários de cada variação para verificar se há algum problema.
Se detectar alguma discrepância nas proporções amostrais, investigue se há alguma automação conhecida sendo executada no seu site (como tráfego gerado por máquina para fins de garantia de qualidade) ou tráfego externo de bots (como scrapers) e trate a discrepância, se possível. Se o problema persistir, entre em contato com o suporte.
3º passo: avalie o motor estatístico
Expectativa: a maioria dos teste não tem uma variação vencedora declarada. Em testes A/B padrão, você pode esperar um índice de cerca de 5% de falsos positivos (ou seja, uma variação vencedora que não é necessariamente melhor e, possivelmente, é ainda pior, ou que, na maioria dos casos, simplesmente não tem nenhuma vantagem sobre a outra variação). Porém, nos testes A/A, como nenhuma das variações é melhor que as outras, a chance de um falso positivo é de 10% (5% para cada uma das duas variações).
Se uma das variações tiver uma nota de Probability to Be Best (Probabilidade de ser Melhor) de 95% ou mais:
- Certifique-se de que você passou pelos passos 1 e 2 com sucesso na análise do teste A/A.
- Se a Probability to Be Best tiver ultrapassado o limite de 95%, verifique se o incremento e o intervalo de credibilidade do incremento são pequenos. Nesses casos, ocorreu uma declaração de falso positivo, mas nosso sistema avaliou que a possível perda (decremento) sofrida ao trocar para a variação vencedora é mínima e, portanto, recomendou a troca. Isso é esperado, já que as variações são idênticas e não há perda possível ao fazer a troca.
O motor estatístico da Dynamic Yield prioriza a limitação de perdas esperadas em vez de minimizar declarações de falso positivo. Portanto, você não deve esperar que o número total de declarações fique confinado a um determinado limite. No entanto, se ocorrer um número excepcionalmente alto de declarações (10/20, por exemplo) e elas estiverem associadas a incrementos/decrementos extremos, pode ser sinal de que a variância da métrica esteja mais alta que o esperado, ou que pode haver um problema com os processos de geração ou coleta de dados. Nesse caso, entre em contato com o suporte.
Por que o controle de falsos positivos não é o nosso foco principal
Em uma abordagem frequentista, os testes A/A são usados para garantir que o índice de falsos positivos permaneça dentro do limite desejado. Por exemplo, se você conduzir um grande número de testes A/A com um limite de significância de 95% (e não comparar várias métricas), no máximo 5% devem rejeitar a hipótese nula.
No entanto, o motor estatístico da Dynamic Yield usa o método bayesiano, que não é focado no controle de falsos positivos. Em vez disso, ele foca em minimizar as perdas esperadas. Para esclarecer: você talvez não se importe em tomar uma decisão errada com frequência se a decisão tiver pouco ou nenhum impacto. Por outro lado, você provavelmente ficaria insatisfeito com um número pequeno de decisões erradas se essas decisões tiverem um impacto enorme.
Embora controlar o índice de falsos positivos seja essencial em pesquisas científicas para evitar a publicação de falsas descobertas (como uma cura que não existe, por exemplo), isso é menos importante em um contexto de negócios e, possivelmente, até contraproducente. As perdas esperadas proporcionam esse equilíbrio pesando a frequência de decisões incorretas contra suas possíveis consequências negativas. Em termos simples, nós priorizamos as decisões com base na frequência e na magnitude dos seus possíveis impactos negativos. É por isso que a abordagem bayesiana ganhou tanta popularidade nos últimos anos e vem sendo usada pela maioria das plataformas modernas de A/B.