Afinal, o que é o Teste A/B?
Coca ou Pepsi?

Afinal, o que é o Teste A/B?

Você já deve ter ouvido falar de "p-valor", "nível de significância", "hipótese nula". Mas afinal o que são estes termos? E o mais importante: para que eles são usados?

Estes termos são comumente usados no teste A/B e são muito úteis em suas aplicações. Mas afinal, o que é o teste A/B?

O teste A/B é uma metodologia para avaliar duas versões diferentes de um mesmo objeto, seja uma página da web, um aplicativo, uma campanha de publicidade, ou outro elemento. O objetivo é determinar qual versão (A ou B) tem melhor resultados com base em métricas pré-determinadas.

O teste A/B é composto por 5 etapas. Detalharemos elas em um exemplo:

Imagine que a Coca-Cola resolveu testar a eficiência de duas campanhas que estão sendo feitas ao mesmo tempo e dessa forma decide aplicar o teste A/B.

  1. Duas versões (A e B): a primeira etapa consiste na determinação das duas versões que serão analisadas. A primeira é chamada de "A" e serve como amostra de controle. Já a segunda, "B", contém as mesmas métricas da "A" com uma ou mais alterações. No exemplo, o que difere B de A é o horário que as campanhas estão sendo vinculadas;
  2. Aleatorização: É necessário que não exista um critério de entrega aos participantes das duas versões. Isso ajuda a garantir que qualquer diferença observada nas métricas seja devida às alterações feitas e não a outros fatores não controlados;
  3. Coleta de dados: Dados são coletados para ambas as versões. Normalmente são coletadas métricas de relevância pra análise como taxa de cliques, taxa de compras ou tempo gasto no anúncio;
  4. Análise estatística: Após a coleta, os dados são analisados estatisticamente para determinar se há uma diferença significativa nas métricas entre as versões A e B. Isso geralmente é feito usando testes estatísticos, como o teste t de Student. Aqui são determinados o p-valor, nível de significância e hipótese nula.
  5. Tomada de Decisão: Com base na análise estatística (rejeição ou não de H0), uma decisão é tomada sobre qual versão é preferível em termos das métricas específicas.

Definições:

  • Hipótese Nula: frequentemente denotada como H0, é uma afirmação que é testada estatisticamente em um experimento ou análise. Ela representa uma situação de ausência de efeito, diferença ou relação específica que deseja-se investigar;
  • Nível de significância: geralmente denotado como α, é uma medida estatística que define a probabilidade de cometer um erro do Tipo I em um teste de hipóteses. Ou seja, é a probabilidade de rejeitar erroneamente a hipótese nula quando ela é realmente verdadeira.
  • p-valor: fornece uma medida de quão provável é observar os dados de um experimento, ou algo mais extremo, se a hipótese nula for verdadeira. Um p-valor pequeno (geralmente menor que 0,05) sugere que você tem evidências estatísticas significativas para rejeitar a hipótese nula. Isso pode levar à conclusão de que os resultados do experimento não são consistentes com a hipótese nula. Um p-valor grande sugere que você não tem evidências estatísticas significativas para rejeitar a hipótese nula. Isso pode levar à conclusão de que os resultados do experimento são consistentes com a hipótese nula.

Exemplo

Em python, são necessárias duas bibliotecas

import numpy as np
from scipy.stats import ttest_ind        

Assim, coleta-se os dados. Nesse caso são determinados 100 valores aleatórios para a amostra A e também 100 para a amostra B mas com um pequeno desvio em cada amostra

np.random.seed(42)  # Define a semente para reproducibilidade
dados_a = np.random.rand(100)  
dados_b = np.random.rand(100) + 0.2          

Compara-se as duas amostras através do teste t de Student onde obtém-se o p-valor

estatisticas_t, valor_p = ttest_ind(dados_a, dados_b)        

Por fim, dado, um valor para o nível de significância (0,01 ou 0,05 normalmente), avalia-se o p-valor com relação a ele.

Se o p-valor for menor do que o nível de significância, rejeita-se a hipótese nula pois as diferenças entre A e B são estatisticamente significativas. Caso contrário não se rejeita a hipótese nula pois não há evidências de diferenças estatisticamente significativas entre A e B.

nivel_significancia = 0.05

if valor_p < nivel_significancia:
    print(f'Rejeitamos a hipótese nula. As diferenças entre A e B são estatisticamente significativas.')

else:
    print(f'Não rejeitamos a hipótese nula. Não há evidências de diferenças estatisticamente significativas entre A e B.')        


Entre para ver ou adicionar um comentário

Outros artigos de Lucas Oliveira

  • Erros comuns de um Cientista de Dados

    Erros comuns de um Cientista de Dados

    Não tenho uma caminhada bastante longa como profissional trabalhando em tecnologia, mas consigo afirmar que nesse meio…

    8 comentários

Outras pessoas também visualizaram

Conferir tópicos