Estratificação em Teste A/B: o teto da pós-estratificação
A estratificação num teste A/B só remove a variância que está ENTRE os estratos. Medimos o teto: 2,68% num caso real, contra 97,8% do CUPED contínuo.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Estratificar um teste A/B reduz a variância exatamente na fração dela que está ENTRE os estratos, e nada além disso. No cenário de receita medido neste artigo, com usuários novos e recorrentes como estratos, essa fração é de 2,68 por cento: o teto do método é economizar 2,68 por cento do tráfego. Na mesma simulação, o CUPED usando a mesma informação em forma contínua reduziu a variância medida em 97,82 por cento. A diferença não é de implementação, é de quanta informação cada método consome. Este guia mostra a conta que define o teto, prova numericamente que pós-estratificação é CUPED com uma covariável categórica, mede os dois casos em que estratificar não paga, e traduz a redução de variância em dias de teste. Faz parte do nosso guia completo de teste A/B e complementa o que é CUPED e tamanho de amostra para métricas contínuas.
Estratificação: a conta que define o teto
A ideia é antiga e vem da amostragem em pesquisa. Você separa a população em grupos internamente parecidos, calcula a média dentro de cada grupo e depois junta tudo com o peso populacional de cada grupo. A média estratificada tem o mesmo valor esperado da média simples, mas variância menor.
Deng, Xu, Kohavi e Walker, no artigo em que apresentam o CUPED, escrevem a razão numa linha só. A variância da média se decompõe em duas parcelas:
- a variância dentro dos estratos, que é a média ponderada das variâncias de cada grupo;
- a variância entre os estratos, que é a média ponderada dos quadrados das distâncias entre a média de cada grupo e a média geral.
A estratificação remove a segunda parcela e deixa a primeira intacta. Os autores dão o exemplo da altura de crianças: a variância das alturas em geral é grande, mas se você estratificar por idade, a variância dentro de cada faixa etária fica muito menor. Uma boa estratificação, escrevem eles, é a que se alinha aos agrupamentos que já existem nos dados.
Essa é a notícia boa e a notícia ruim ao mesmo tempo. Boa porque você consegue calcular o ganho antes de escrever uma linha de código, usando só dados históricos. Ruim porque, na maioria das métricas de produto, a parcela entre estratos é pequena.
Estratificar na atribuição ou depois de coletar?
Existem dois momentos possíveis para usar os estratos, e eles não valem o mesmo.
Na atribuição (sorteio estratificado). Você monta os grupos antes e sorteia dentro de cada grupo, garantindo por construção que controle e variação fiquem equilibrados em cada faixa. É o desenho clássico de ensaio clínico.
Depois da coleta (pós-estratificação). Você sorteia normalmente, deixa o teste rodar, e só na análise separa os usuários por uma característica que já existia antes do teste começar.
O artigo do CUPED é direto sobre qual dos dois faz sentido online: como os dados chegam ao longo do tempo, normalmente não dá para amostrar de estratos formados de antemão, mas dá para usar variáveis pré-experimento para construir os estratos depois que todos os dados foram coletados.
Medimos a diferença. Na simulação de receita com cauda pesada descrita adiante, com 60.000 usuários por réplica e 2.000 réplicas, o sorteio estratificado na atribuição devolveu variância de 1,5930 contra 1,5322 do sorteio simples: 3,97 por cento pior, ou seja, ruído em torno de zero. Faz sentido: com dezenas de milhares de usuários por braço, o sorteio aleatório já equilibra os estratos praticamente sozinho, então forçar o equilíbrio não sobra nada para ganhar.
| onde os estratos entram | equilíbrio dos estratos | ganho de variância medido | custo de engenharia |
|---|---|---|---|
| sorteio estratificado na atribuição | perfeito por construção | 3,97% pior que o sorteio simples (ruído) | alto: exige decidir o estrato no momento do sorteio |
| pós-estratificação na análise | quase perfeito por acaso, com N grande | igual ao teto teórico da decomposição | baixo: é uma consulta a mais no pipeline |
| nenhum dos dois | aleatório | nenhum | nenhum |
A leitura prática: se você tem tráfego suficiente para um teste A/B normal, você tem tráfego suficiente para que o sorteio simples equilibre seus estratos. Estratificar na atribuição paga a conta de complexidade sem entregar precisão.
Pós-estratificação é CUPED com uma covariável categórica
Esta parte costuma surpreender. O apêndice A do artigo do CUPED mostra que, quando as covariáveis são categóricas, estratificação e variáveis de controle produzem resultados idênticos. Não parecidos: idênticos.
Reproduzimos a identidade numericamente com os dados da nossa simulação. De um lado, a média pós-estratificada de cada braço, calculada como a soma das médias por estrato ponderadas pelo peso do estrato na amostra combinada. Do outro, o estimador de variável de controle usando as variáveis indicadoras dos estratos como covariáveis, com o coeficiente de cada indicadora igual à diferença entre a média daquele estrato e a média do estrato de referência.
braço A: pós-estratificado = 0,73465908140242364
braço A: variável de controle = 0,73465908140242353
diferença absoluta = 1,110e-16
braço B: pós-estratificado = 0,59895701571944082
braço B: variável de controle = 0,59895701571944071
diferença absoluta = 1,110e-16
delta pós-estratificado = -0,13570206568298282
delta por variáveis indicadoras = -0,13570206568298282
A diferença de 1,110e-16 é o épsilon do ponto flutuante de dupla precisão. As duas contas são a mesma conta.
Isso muda a pergunta que vale a pena fazer. Não é “devo estratificar ou usar CUPED?”. É “minha covariável perde informação ao virar categoria?”. Se a covariável já é categórica (canal de aquisição, plataforma, país, usuário novo contra recorrente), estratificar e usar CUPED com aquela variável são a mesma coisa. Se a covariável é contínua (gasto no pré-período, número de sessões nos últimos 30 dias, tempo de vida da conta), transformá-la em faixas joga fora informação, e o CUPED com o valor contínuo domina.
O teto medido: novos contra recorrentes
Montamos um cenário deliberadamente favorável à estratificação: receita por usuário, com dois segmentos que convertem de forma muito diferente.
- Usuários novos: 70 por cento da base, 2,5 por cento de conversão, ticket lognormal. Receita média por usuário de R$ 1,3667 e variância de 99,23.
- Usuários recorrentes: 30 por cento da base, 9 por cento de conversão, ticket maior. Receita média por usuário de R$ 8,1117 e variância de 923,56.
A média geral é de R$ 3,3902. Os dois segmentos são seis vezes diferentes em receita média, o que parece uma separação enorme. Rodando a decomposição analiticamente:
| parcela | valor | fração da variância total |
|---|---|---|
| variância total | 356,08 | 100,00% |
| dentro dos estratos | 346,53 | 97,32% |
| entre os estratos | 9,55 | 2,68% |
Depois medimos de verdade, com um teste A/A pareado: 8.000 réplicas, 80.000 usuários por réplica, divisão 50/50, os dois estimadores lendo exatamente os mesmos dados.
| estimador | variância real do delta | falso positivo medido | redução de variância |
|---|---|---|---|
| diferença de médias | 1,84925e-2 | 5,64% | referência |
| pós-estratificado (novos contra recorrentes) | 1,79246e-2 | 5,42% | 3,07% |
Os 3,07 por cento medidos batem com o teto analítico de 2,68 por cento dentro do ruído de Monte Carlo. Registrando o que também apareceu: as duas taxas de falso positivo ficaram acima dos 5 por cento nominais (o erro-padrão de Monte Carlo em 5 por cento com 8.000 réplicas é de 0,24 ponto percentual). Isso é a assimetria do ticket lognormal esticando a cauda do teste z, não um defeito do estimador estratificado, e vale para os dois igualmente.
Quando a pós-estratificação piora o resultado
O segundo cenário é receita com cauda genuinamente pesada, do tipo que aparece em plataformas com compras virtuais: 3 por cento de gastadores e valor por gastador seguindo uma lei de potência com expoente 1,15, mais um gasto no pré-período correlacionado com o do período do teste. A correlação medida entre pré e pós foi de 0,7643.
Estratificamos por percentil do gasto no pré-período, com cortes em 97, 99,5 e 99,9 por cento:
| estrato | peso | usuários | receita média | variância interna |
|---|---|---|---|---|
| base | 97,002% | 58.201 | R$ 0,002 | 0,0 |
| médio | 2,500% | 1.500 | R$ 8,604 | 54,3 |
| alto | 0,400% | 240 | R$ 37,503 | 815,7 |
| cauda | 0,098% | 59 | R$ 478,067 | 2.178.816,5 |
Com 2.000 réplicas de A/A e 60.000 usuários por réplica, o resultado foi este:
| estimador | variância do delta | redução |
|---|---|---|
| diferença de médias | 1,5322 | referência |
| pós-estratificação (4 estratos) | 1,6352 | 6,72% PIOR |
| CUPED com o pré-período contínuo | 0,033340 | 97,82% |
| pós-estratificação com CUPED dentro do estrato | 0,031682 | 97,93% |
A pós-estratificação sozinha aumentou a variância. A causa é o estrato de cauda: 59 usuários com variância interna de 2,18 milhões. A média desse punhado de gente é uma estimativa péssima, e o estimador estratificado depende dela com peso próprio, enquanto a média simples dilui esses 59 usuários entre 60.000.
O time do ShareChat, que publicou o uso de pós-estratificação em mais de 40 experimentos de produção com mais de 1 milhão de usuários cada, chega a uma recomendação vizinha por outro caminho: o método não deve ser usado quando o comportamento dos usuários de cauda é o objetivo principal da decisão, porque o estimador pós-estratificado reduz justamente o peso da população que se quer estudar. Vale reproduzir também o resultado positivo deles, porque é o outro lado da mesma moeda: pós-estratificação combinada com CUPED dentro do estrato entregou mais de 99 por cento de redução de variância nos dados reais, contra 47,62 por cento do CUPED sozinho, com o valor-p sendo calculado sobre a métrica ajustada. Nossa simulação mostra o mesmo empilhamento, com os dois números praticamente empatados no topo (97,82 contra 97,93 por cento).
Da redução de variância aos dias de teste
A tradução é direta: o tamanho de amostra é proporcional à variância. Uma redução de X por cento na variância corta X por cento da amostra necessária, ou equivalentemente reduz o efeito mínimo detectável pela raiz quadrada de 1 menos X.
Tomando como referência um teste com base de 5 por cento, efeito mínimo detectável de 10 por cento relativo, alfa de 5 por cento e poder de 80 por cento, o que dá 31.234 usuários por variação e 11 dias a 40.000 visitantes por semana:
| redução de variância | N por variação | dias a 40.000/semana | MDE relativo alcançável com o N original |
|---|---|---|---|
| nenhuma | 31.234 | 11 | 9,77% |
| 3% (pós-estratificação medida) | 30.297 | 11 | 9,62% |
| 10% | 28.111 | 10 | 9,27% |
| 30% | 21.864 | 8 | 8,18% |
| 50% (CUPED no Bing) | 15.617 | 6 | 6,91% |
| 98% (CUPED contínuo medido aqui) | 625 | 1 | 1,38% |
A linha de 3 por cento não mudou nem um dia de teste. A linha de 50 por cento cortou o teste pela metade. É essa a diferença entre estratificar e usar a covariável inteira.
Rode o seu próprio caso na calculadora abaixo. Para ver o efeito da redução de variância, informe a base e o MDE de sempre, anote o N, e depois multiplique o resultado por 1 menos a redução que você mediu no seu histórico:
Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.
Como escolher os estratos na prática
Um roteiro que você pode copiar e rodar sobre o seu histórico antes de mudar qualquer pipeline:
- Escolha a métrica que importa e puxe dela um recorte histórico de pelo menos 30 dias, no nível da unidade de sorteio (normalmente o usuário).
- Liste as candidatas a covariável que existem ANTES do teste começar: gasto no pré-período, número de sessões, canal de aquisição, plataforma, tempo de conta, país. A regra dura é que a variável não pode ser afetada pelo tratamento, e a maneira segura de garantir isso é congelá-la no período anterior ao teste.
- Calcule a decomposição para cada candidata categórica: variância total, variância dentro dos estratos ponderada pelos pesos, e a diferença entre as duas. A fração entre estratos é o seu teto.
- Descarte quem tem teto de um dígito baixo. Se a fração entre estratos for de 2 ou 3 por cento, a pós-estratificação não vai mudar uma decisão sua.
- Para candidatas contínuas, calcule a correlação com a métrica final e compare o quadrado dela com o teto da versão categorizada. Na nossa simulação a versão contínua ganhou por duas ordens de grandeza.
- Verifique o tamanho do menor estrato. Se algum estrato tem menos de algumas centenas de usuários e variância alta, ou você junta ele com o vizinho, ou o método vai piorar sua variância.
- Rode um A/A com o estimador novo antes de confiar nele. Nossa medição mostrou os dois estimadores com falso positivo acima do nominal por causa da assimetria da métrica, e isso só aparece testando.
- Congele os cortes antes de olhar o resultado. Os limiares dos estratos precisam sair do período anterior ao teste, exatamente como o ShareChat descreve: calculados a partir da população do pré-período e congelados antes de qualquer dado de resultado ser observado.
Três erros que aparecem sempre
Estratificar por algo que o tratamento afeta. Se o estrato é “usuário que visitou a página nova”, o tratamento mudou quem entra em cada grupo e o estimador deixa de ser não viesado. A defesa é a regra 2 acima: só variáveis congeladas no pré-período. Isso é o mesmo cuidado que vale na análise por gatilho e diluição.
Confundir explicar com reduzir. Um estrato pode ser fascinante para entender o negócio (whales gastam 300 vezes mais) e inútil para reduzir variância. As duas perguntas são independentes. Se o objetivo é entender onde o efeito se concentra, o instrumento é efeito heterogêneo por segmento, com toda a disciplina de múltiplas comparações que ele exige.
Achar que estratificar conserta a leitura. Estratificação é redução de variância, não correção de viés. Ela não resolve SRM, a divisão desigual de tráfego, não resolve viés de instrumentação e não resolve tráfego de bot. Um teste com o sorteio quebrado continua quebrado depois de estratificado, só que com barra de erro menor em cima do número errado, o que é pior.
Faça isso automático na Donnu
O trabalho chato aqui não é a estatística, é a disciplina de pipeline: congelar a covariável no pré-período, guardar os cortes junto com o experimento, e não deixar ninguém escolher os estratos depois de ver o resultado. Na Donnu o valor da covariável de cada usuário fica gravado no momento do sorteio, junto do balde e do carimbo de tempo, então a leitura estratificada usa sempre a foto de antes do teste, e a lista de estratos fica registrada no experimento em vez de viver na cabeça de quem analisou. Se a sua ferramenta atual não guarda o estado pré-experimento por usuário, esse é o item que precisa entrar antes de qualquer redução de variância virar rotina.
Perguntas frequentes
As respostas curtas estão na seção de perguntas frequentes desta página, geradas a partir do mesmo material medido aqui.
Referências
- Alex Deng, Ya Xu, Ron Kohavi e Toby Walker. Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-Experiment Data, WSDM 2013. Traz a decomposição da variância em dentro e entre estratos, a discussão de por que a estratificação online precisa acontecer na análise e não na atribuição, e o apêndice A com a prova de que estratificação e variáveis de controle coincidem para covariáveis categóricas. É também a fonte do resultado de cerca de 50 por cento de redução de variância no Bing.
- Neeti Pokharna, Olivier Jeunen, Yatharth Saraf e Aleksei Ustimenko. Variance Reduction for Heavy-Tailed Monetization Metrics in Ranking Experiments via Post-Stratification, SIGIR 2026. Relata o uso em mais de 40 experimentos de produção no ShareChat e no Moj, com a comparação entre CUPED sozinho (47,62 por cento) e pós-estratificação com CUPED (mais de 99 por cento), a exigência de congelar os cortes antes de observar o resultado, e o registro de que agrupar por k-means sobre atributos de comportamento aumentou a variância enquanto o corte por percentil de receita dominou.
- Winston Lin. Agnostic Notes on Regression Adjustments to Experimental Data: Reexamining Freedman’s Critique, The Annals of Applied Statistics, 2013. Mostra que o ajuste por mínimos quadrados não piora a precisão assintótica quando o conjunto completo de interações entre tratamento e covariável é incluído, e que o erro-padrão robusto de Huber e White é consistente ou assintoticamente conservador. É a base teórica de por que ajustar não é trapaça.
- Yu Zhang, Bokui Wan, Yongli Qin, Jinyong Ma e Yifan Guo. Ensuring Trustworthy Online A/B Testing: Addressing Five Key Questions on CUPED, ByteDance, 2026. Compara especificações de ajuste pós-CUPED e mostra que, em desenhos com múltiplos braços e amostragem em dois estágios, confiar no estimador de variância padrão leva a inferências severamente enganosas.
Leia também
Perguntas frequentes
- O que é estratificação em um teste A/B?
- É separar os usuários em grupos internamente parecidos (os estratos) usando alguma informação anterior ao teste, calcular o efeito dentro de cada grupo e depois juntar os resultados com o peso populacional de cada grupo. O objetivo não é mudar o efeito estimado, é reduzir a variância dele. A conta fica mais precisa porque a variação que existe ENTRE os grupos deixa de contar como ruído. A variação que sobra dentro de cada grupo continua contando.
- Qual é o ganho máximo que a estratificação pode dar?
- Exatamente a fração da variância que está entre os estratos. Deng, Xu, Kohavi e Walker escrevem essa decomposição de forma fechada no artigo do CUPED: a variância total é a soma da variância dentro dos estratos com a variância entre eles, e a estratificação remove só a segunda parcela. No cenário medido neste artigo, com usuários novos e recorrentes como estratos, essa parcela é de 2,68 por cento da variância total. Ou seja, o teto do método naquele caso é economizar 2,68 por cento do tráfego, não metade.
- Pós-estratificação é a mesma coisa que CUPED?
- Quando a covariável é categórica, sim, e isso está provado no apêndice A do artigo original do CUPED: estratificação e variáveis de controle produzem resultados idênticos. Reproduzimos a identidade numericamente e as duas contas bateram até a 16ª casa decimal, com diferença de 1,110e-16, que é o erro de arredondamento do ponto flutuante. A diferença prática aparece quando a covariável é contínua: aí o CUPED usa a informação inteira e a pós-estratificação usa só a faixa em que o usuário caiu.
- É melhor estratificar na hora de sortear ou depois de coletar os dados?
- Depois. O próprio artigo do CUPED registra que no ambiente online os dados chegam ao longo do tempo e por isso quase nunca dá para amostrar de estratos formados de antemão, mas dá para construir os estratos com variáveis pré-experimento depois que os dados foram coletados. Na simulação deste artigo o sorteio estratificado na atribuição não reduziu a variância em relação ao sorteio simples: a medição deu 3,97 por cento a mais de variância, ou seja, ruído em torno de zero, com um custo de engenharia real.
- A pós-estratificação pode piorar o resultado?
- Pode, e isso é observado tanto na nossa simulação quanto em produção. Quando um estrato é muito pequeno e muito volátil, a média dele vira uma estimativa ruim e o estimador estratificado fica mais barulhento que a média simples. Na nossa simulação de receita com cauda pesada, um estrato de topo com 59 usuários e variância enorme fez a pós-estratificação aumentar a variância em 6,72 por cento. O time do ShareChat registra um efeito da mesma natureza ao comparar desenhos de estrato: agrupar usuários por k-means sobre atributos de comportamento aumentou a variância, enquanto o corte por percentil de receita do pré-período foi o que funcionou. A lição é a mesma: estrato mal desenhado piora o estimador.
- Então quando a estratificação vale a pena?
- Quando os estratos separam de verdade a métrica, ou seja, quando as médias dos grupos são muito diferentes e a variação dentro de cada grupo é pequena. Métricas de proporção quase nunca satisfazem isso, porque a variância de uma proporção é presa a p vezes 1 menos p. Métricas de receita com cauda pesada podem satisfazer, mas aí o estrato de cauda precisa de gente suficiente. Antes de investir no método, meça a decomposição no seu histórico: se a parcela entre estratos for de poucos pontos percentuais, o ganho será de poucos pontos percentuais.