A maior parte das agências que declara vitórias em testes A/B está comemorando ruído estatístico. Interromper testes antes da hora e espiar dados diários cria uma ilusão de otimização contínua. Na prática, a agência troca elementos de página sem qualquer ganho real de receita para o cliente.

Por que a maioria dos testes A/B de agência produz resultados ilusórios
Testes A/B em agências falham pela interrupção prematura e pelo monitoramento sem correção probabilística. Ao pausar no primeiro dia com p < 0.05, a equipe seleciona flutuações temporárias.
Esse problema decorre da confusão entre significância momentânea e ganho real de longo prazo. Em experimentação online, dois erros orientam as decisões de hipótese:
-
Erro Tipo I (
α- Falso Positivo): Declarar vitória da variante B quando não há diferença real. O padrão de mercado fixaα = 5%(95% de confiança estatística). -
Erro Tipo II (
β- Falso Negativo): Não detectar uma melhoria real da variante B. O padrão de mercado fixaβ = 20%, resultando em 80% de poder estatístico (1 - β).
Espiar o painel diariamente e pausar o teste na primeira oscilação positiva infla os falsos positivos.1 A tabela abaixo mostra a elevação do risco real conforme a quantidade de checagens:
| Número de Checagens no Teste | Taxa Nominal de Erro Tipo I | Taxa Real Efetiva de Falso Positivo |
|---|---|---|
| 1 (apenas no fim da amostra planejada) | 5,0% | 5,0% |
| 5 checagens intermediárias | 5,0% | 14,2% |
| 10 checagens intermediárias | 5,0% | 22,1% |
| Monitoramento diário contínuo (20+ checagens) | 5,0% | 32,0% |
Pausar testes em picos aleatórios gera a Maldição do Vencedor (Winner's Curse). A variante implementada não sustenta o resultado, frustrando o retorno projetado da campanha.
Como calcular o tamanho amostral e o efeito mínimo detectável
O tamanho amostral necessário depende de quatro parâmetros definidos antes do envio de tráfego. Avaliar o teste sem o volume planejado inviabiliza qualquer inferência matemática confiável.
Para conversões binárias (como lead ou compra), o cálculo amostral por variação segue a fórmula clássica de proporções:3
n = [2 × (z_{α/2} + z_β)^2 × p × (1 - p)] ÷ (p × MDE)^2
Os parâmetros da equação representam:
n: total de visitantes únicos por variação (Controle e Variante).z_{α/2}: valor crítico normal para significância bicaudal (1.96paraα = 5%).z_β: valor crítico do poder estatístico (0.84para80%).p: taxa de conversão base da página atual (exemplo:3% = 0.03).MDE: Efeito Mínimo Detectável relativo desejado (exemplo:10% = 0.10).
PARÂMETROS FIXOS DE UM TESTE FREQUENTISTA PADRÃO:
• Nível de Significância (α): 5% (Confiança = 95%, z = 1.96)
• Poder Estatístico (1 - β): 80% (z = 0.84)
• Hipótese Nula (H0): p_B - p_A = 0
• Hipótese Alternativa (H1): p_B - p_A ≠ 0
Quanto menor o ganho percentual que se pretende detectar, maior é a amostra exigida. A tabela abaixo apresenta a amostra mínima necessária por variante segundo a taxa base e o MDE:
| Taxa Base (p) | MDE Relativo Desejado | Taxa Alvo da Variante | Visitantes por Variação (n) | Total de Visitantes (A + B) |
|---|---|---|---|---|
| 2,0% | 20% (+0,40 p.p.) | 2,40% | 19.300 | 38.600 |
| 2,0% | 10% (+0,20 p.p.) | 2,20% | 77.200 | 154.400 |
| 5,0% | 15% (+0,75 p.p.) | 5,75% | 13.500 | 27.000 |
| 5,0% | 5% (+0,25 p.p.) | 5,25% | 122.000 | 244.000 |
| 10,0% | 10% (+1,00 p.p.) | 11,00% | 14.100 | 28.200 |
Se uma página recebe 2.000 visitantes por semana com conversão de 2%, detectar 10% de ganho exigiria 77 semanas. A agência deve propor mudanças estruturais com MDE maior, acelerando a validação.
Como resolver o peeking problem com Sequential Testing e mSPRT
A metodologia de Sequential Testing permite analisar dados acumulados sem inflar o risco de falso positivo. Em vez de avaliar apenas o fim do teste, o método define fronteiras dinâmicas de significância.
A técnica emprega o Teste de Razão de Verossimilhança Sequencial Modificado (mSPRT), desenvolvido na Universidade de Stanford.4
O modelo calcula a razão de verossimilhança Λ_n integrada sobre uma distribuição a priori para a diferença real:
Λ_n = ∫ [L(θ; X_1, ..., X_n) ÷ L(0; X_1, ..., X_n)] dH(θ)
A decisão operacional de parada segue três regras objetivas:
-
Vitória Antecipada: Se
Λ_n ≥ 1 ÷ α(onde1 ÷ 0.05 = 20), a hipótese nula é rejeitada e o teste encerra. -
Futilidade Antecipada: Se a trajetória indicar chance nula de atingir significância no orçamento restante, a variante é pausada.
-
Continuidade de Coleta: Se
Λ_n < 1 ÷ α, o teste continua acumulando tráfego sem distorção amostral.
FLUXO DE DECISÃO SEQUENCIAL DINÂMICO (mSPRT):
[Novo Visitante / Conversão]
│
▼
[Recalcular Razão de Verossimilhança Λ_n]
│
┌───┴──────────────────────────────┐
│ │
[Λ_n ≥ 20] [Λ_n < 20]
│ │
▼ ▼
[Interromper: Vitória Validada] [Checar Limite de Futilidade]
│
┌────┴────┐
│ │
[Fútil] [Manter Tráfego]
Os p-valores do teste sequencial (Always Valid p-Values) mantêm a validade estatística sob monitoramento contínuo.4 Isso permite pausar criativos e páginas perdedoras sem desperdiçar verba de mídia.

Quando migrar do modelo frequentista clássico para a inferência Bayesiana
A inferência Bayesiana calcula diretamente a probabilidade de uma variante superar a outra P(B > A). Essa abordagem substitui a rejeição binária da hipótese nula por probabilidades práticas de negócio.
Na modelagem de conversões binárias, adota-se a distribuição conjugada Beta-Binomial.5 A taxa prévia de conversão é representada por uma distribuição a priori Beta(α_0, β_0).
Ao observar k conversões em n visitantes, a distribuição posterior atualiza-se de forma analítica:
P(p | dados) ~ Beta(α_0 + k, β_0 + n - k)
A partir das distribuições posteriores de p_A e p_B, a agência extrai dois indicadores centrais:
-
Probabilidade de Superar o Controle: A probabilidade
P(p_B > p_A)indica a chance exata de a variante vencer a página original. -
Perda Esperada (Expected Loss): Quantifica a queda potencial na conversão caso a escolha pela variante B esteja errada:
Loss(B) = E[max(p_A - p_B, 0)]
A tabela abaixo sintetiza as diferenças práticas entre as abordagens Frequentista e Bayesiana:
| Aspecto de Análise | Metodologia Frequentista Fixa | Inferência Bayesiana com Expected Loss |
|---|---|---|
| Pergunta Respondida | "Qual a chance de ver esse dado se H0 for verdadeira?" | "Qual a probabilidade real de a variante B superar A?" |
| Regra de Parada | Horizonte fixo obrigatório pré-calculado | Interrupção quando o Expected Loss atinge o limiar aceito |
| Sensibilidade ao Peeking | Alta (exige correções rígidas de spending) | Baixa (interpretação da distribuição posterior contínua) |
| Uso de Histórico | Não permitido (cada teste parte do zero) | Permitido via distribuições a priori informativas |
| Clareza Comercial | Baixa (p-valor não expressa chance de vitória) | Alta (entrega probabilidade direta e risco em receita) |
Quando o Expected Loss atinge um patamar financeiramente desprezível, a agência aplica a variante vencedora com segurança.5
Arquitetura técnica de CRO: testes no servidor vs. client-side em mídia paga
A forma de entrega das variantes afeta a taxa de conversão e a confiabilidade do experimento. Ferramentas client-side que alteram o DOM via JavaScript geram atrasos visíveis que degradam a experiência.
Esse atraso provoca cintilação de tela (flicker), elevando o Cumulative Layout Shift (CLS) do Google Core Web Vitals. Em tráfego móvel, 300 ms de atraso de renderização reduzem a conversão final em mais de 7%.6
Para evitar distorções, a arquitetura recomendada utiliza roteamento na borda (Edge Routing) ou SSR. O gateway intercepta a requisição HTTP e entrega o HTML final com a variante correta sem scripts pesados.
// Exemplo de roteamento de teste A/B no Cloudflare Workers / Edge Gateway
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const url = new URL(request.url);
if (url.pathname !== "/lp/gestao-trafego") {
return fetch(request);
}
const COOKIE_NAME = "mxv_ab_lp_performance";
const cookieHeader = request.headers.get("Cookie") || "";
let variant = "";
if (cookieHeader.includes(`${COOKIE_NAME}=control`)) {
variant = "control";
} else if (cookieHeader.includes(`${COOKIE_NAME}=variant_b`)) {
variant = "variant_b";
} else {
variant = Math.random() < 0.5 ? "control" : "variant_b";
}
url.pathname = variant === "variant_b" ? "/lp/gestao-trafego-v2" : "/lp/gestao-trafego";
const response = await fetch(new Request(url.toString(), request));
const modifiedResponse = new Response(response.body, response);
modifiedResponse.headers.set(
"Set-Cookie",
`${COOKIE_NAME}=${variant}; Path=/; Max-Age=2592000; SameSite=Lax; Secure`
);
return modifiedResponse;
}
};
Nessa arquitetura, a telemetria é enviada via API de conversões no servidor (Meta CAPI e Server-Side GTM). Isso elimina bloqueios por adblockers e preserva a paridade técnica entre as variantes.7
Protocolo operacional de governança para testes em tráfego pago
Um teste A/B em mídia paga só tem validade se a distribuição do público for uniforme e isolada de ruídos. Alterações bruscas de investimento ou trocas de anúncios corrompem o experimento.
Para garantir a integridade dos dados, agências experientes aplicam quatro etapas de validação antes de homologar os resultados:
-
Isolamento de Públicos: Manter a mesma proporção de público frio e retargeting nos dois braços. Misturar fontes altera o perfil do comprador.
-
Cobertura de Semanas Completas: Executar o teste por no mínimo 14 a 28 dias corridos. O padrão de compra nos fins de semana difere dos dias úteis.
-
Mitigação do Efeito Novidade: Usuários recorrentes podem estranhar mudanças visuais. A segmentação entre novos e recorrentes isola essa reação.
-
Checagem de SRM (Sample Ratio Mismatch): Aplicar o teste de qui-quadrado
χ²para validar se a divisão de tráfego bateu a proporção planejada. Desvios apontam falhas de redirecionamento ou bloqueio de cookies.8
Ao estruturar a otimização de conversão com métodos estatísticos formais, a agência substitui suposições subjetivas por receita consistente e previsível para o cliente.
Perguntas Frequentes sobre Testes A/B e CRO em Mídia Paga
O que é o peeking problem em testes A/B?
O peeking problem ocorre quando a equipe analisa o p-valor diariamente e encerra o teste no primeiro indício positivo. Essa prática infla a taxa de falso positivo de 5% para mais de 30%, promovendo páginas que não trazem ganho real.
Como calcular o tamanho amostral de um teste A/B?
O tamanho amostral considera a taxa de conversão base, o MDE desejado, a significância (α = 5%) e o poder estatístico (80%). Quanto menor o ganho a ser comprovado, maior é o volume de tráfego necessário.
Qual a diferença entre testes Frequentistas e Bayesianos?
O método frequentista avalia os dados sob a hipótese nula em horizontes fixos de amostragem. O método Bayesiano calcula a probabilidade direta de vitória da variante e a Perda Esperada (Expected Loss), facilitando decisões de negócio.
Por que testes client-side prejudicam o tráfego pago?
Ferramentas client-side alteram o DOM via JavaScript, causando cintilação de tela e piorando o CLS do Core Web Vitals. Em redes móveis, esse atraso reduz a conversão antes da medição da hipótese.
Fontes e Referências Técnicas
Footnotes
-
Kohavi, R., Tang, D., & Xu, Y. (2020). Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press. https://experimentguide.com/ ↩ ↩2
-
Miller, E. (2013). How Not To Run an A/B Test. Evan Miller Statistics Guides. https://www.evanmiller.org/how-not-to-run-an-ab-test.html ↩
-
Miller, E. (2014). Sample Size Calculator for A/B Testing (Binary Proportions). https://www.evanmiller.org/ab-testing/sample-size.html ↩
-
Johari, R., Pekelis, L., & Walsh, D. J. (2017). Peeking at A/B Tests: Why it matters, and what to do about it. Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1517–1525. https://arxiv.org/abs/1512.04922 ↩ ↩2
-
Stucchio, C. (2015). Bayesian A/B Testing at VWO. VWO Whitepaper Series. https://vwo.com/downloads/vwo-bayesian-stats-engine.pdf ↩ ↩2
-
Google Chrome Team. (2025). Optimize Cumulative Layout Shift (CLS) and Core Web Vitals. Web.dev Documentation. https://web.dev/articles/optimize-cls ↩
-
Meta for Developers. (2026). Conversions API Best Practices & Event Deduplication. Meta Business Engineering Guides. https://developers.facebook.com/docs/marketing-api/conversions-api ↩
-
Fabijan, A., Gupchup, J., Gupta, S., & Kohavi, R. (2019). Diagnosing Sample Ratio Mismatch in Online Controlled Experiments: A Taxonomy and Rules of Thumb. ACM SIGKDD. https://doi.org/10.1145/3292500.3330722 ↩