Randomização por Cluster em Teste A/B: o efeito de desenho
Randomização por cluster em teste A/B: sortear conta e analisar usuário infla o falso positivo de 5 para 14,5 por cento. O efeito de desenho corrige.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Se você sorteia a conta e mede o usuário, o seu teste A/B não tem o nível de confiança que diz ter. Com 5 usuários por conta e uma correlação intraclasse de 0,20, o teste que você acha que erra 5 por cento das vezes erra 14,50 por cento, e o plano de amostra que prometia 80 por cento de poder entrega 54,66. Este artigo mostra de onde vem essa distorção da randomização por cluster, dá a fórmula de uma linha que a corrige, mede a correção em 20 mil réplicas e traz um exemplo trabalhado em que o mesmo teste vence pelo cálculo errado e fica inconclusivo pelo certo. Faz parte do nosso guia completo de teste A/B e complementa a escolha da unidade de sorteio.
Randomização por cluster: sorteio e medição em níveis diferentes
Todo experimento tem duas unidades, e elas nem sempre coincidem. A unidade de sorteio é a granularidade em que o acaso decide quem vai para qual braço. A unidade de análise é a granularidade em que a métrica é calculada. Deng, Knoblich e Lu definem as duas exatamente assim e observam que a análise é direta quando as duas concordam, por exemplo sortear por usuário e medir receita por usuário.
O problema aparece quando a unidade de sorteio é um agregado de unidades de análise. Em B2B isso é a regra, não a exceção: você não pode mostrar uma interface para metade do time de uma empresa e outra para a outra metade, então a conta inteira vai para o mesmo braço. Os autores citam esse caso com todas as letras, política corporativa que proíbe usuários da mesma organização de verem experiências diferentes, entre os motivos que tornam o experimento com randomização por cluster comum na prática.
Kohavi, Longbotham, Sommerfield e Henne são explícitos sobre a suposição que está por trás de toda a matemática do teste: as unidades são assumidas independentes, e para qualquer métrica de nível de usuário, sessão ou pageview a preferência é sortear por usuário. Quando o sorteio sobe um nível e a análise não, a suposição cai, e ela é justamente a que sustenta o erro-padrão.
O que exatamente fica errado
O ponto estimado não fica errado. Se o efeito é zero, a diferença observada continua girando em torno de zero; se o efeito é positivo, a diferença observada continua estimando o efeito certo. O que fica errado é o erro-padrão, e por um motivo simples: o teste de duas proporções conta cada usuário como uma informação nova, mas dois usuários da mesma conta compartilham muita coisa (o mesmo setor, o mesmo plano, o mesmo administrador que configurou o produto, o mesmo momento de contrato).
Deng, Knoblich e Lu mediram essa distorção em uma simulação com mil clusters. O estimador ingênuo, que trata todas as observações como independentes, devolveu erro-padrão médio de 0,00522 quando o desvio verdadeiro do estimador era 0,00895. O erro-padrão saiu com 58 por cento do tamanho que deveria ter. O método delta devolveu 0,00908 para o mesmo desvio verdadeiro de 0,00895, quase em cima.
Erro-padrão pequeno demais é valor-p pequeno demais é falso positivo demais.
A fórmula de uma linha: o efeito de desenho
A correção clássica é o efeito de desenho. Ele é o fator pelo qual a variância do estimador cresce quando o sorteio é por cluster:
efeito de desenho = 1 + (m menos 1) vezes rô
com m sendo o tamanho médio do cluster e rô a correlação intraclasse, a fração da variação total que está entre clusters em vez de dentro deles. Rô igual a zero significa que a conta não informa nada sobre o usuário e o efeito de desenho vale 1: não há problema nenhum. Rô igual a 1 significa que todos os usuários da conta são cópias e a conta inteira vale por um único usuário.
Killip, Mahfoud e Pearce descrevem o mesmo mecanismo em pesquisa de atenção primária e registram um número que assusta pela ordem de grandeza: com 4 consultórios recrutando 32 pacientes cada, e rô de apenas 0,017, o efeito de desenho sai em 1,527, o que reduz a amostra efetiva de 128 pessoas para 84 e explica por que o poder do estudo ficou em 61 por cento. Um rô de menos de 2 por cento derrubou um terço da amostra, porque o cluster era grande.
| Usuários por conta (m) | rô = 0,01 | rô = 0,05 | rô = 0,10 | rô = 0,20 | rô = 0,40 |
|---|---|---|---|---|---|
| 2 | 1,010 | 1,050 | 1,100 | 1,200 | 1,400 |
| 3 | 1,020 | 1,100 | 1,200 | 1,400 | 1,800 |
| 5 | 1,040 | 1,200 | 1,400 | 1,800 | 2,600 |
| 10 | 1,090 | 1,450 | 1,900 | 2,800 | 4,600 |
| 25 | 1,240 | 2,200 | 3,400 | 5,800 | 10,600 |
| 50 | 1,490 | 3,450 | 5,900 | 10,800 | 20,600 |
Repare na assimetria da tabela: o tamanho do cluster pesa muito mais que a correlação. Um rô modesto de 0,05 é inofensivo com 3 usuários por conta (1,100) e devastador com 50 (3,450). É por isso que a pergunta operacional certa raramente é “como reduzo a correlação” e quase sempre é “como aumento o número de contas”.
Quanto isso custa em dias de calendário
Vamos a um plano concreto. Base de conversão de 5 por cento, alvo de detectar um ganho relativo de 10 por cento, 95 por cento de confiança, 80 por cento de poder, 40 mil visitantes por semana. A calculadora abaixo devolve 31.234 por variação, o que dá 11 dias com os dois braços rodando.
Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.
Esse 31.234 é o número para usuários independentes. Se o sorteio é por conta, ele é o piso, não o alvo. Multiplique pelo efeito de desenho e divida pelo tamanho do cluster para saber quantas contas você precisa em cada braço:
| Perfil da base | Efeito de desenho | Usuários por braço | Contas por braço | Dias |
|---|---|---|---|---|
| 5 usuários/conta, rô 0,05 | 1,200 | 37.481 | 7.497 | 14 |
| 5 usuários/conta, rô 0,10 | 1,400 | 43.728 | 8.746 | 16 |
| 5 usuários/conta, rô 0,20 | 1,800 | 56.222 | 11.245 | 20 |
| 3 usuários/conta, rô 0,30 | 1,600 | 49.975 | 16.659 | 18 |
| 10 usuários/conta, rô 0,20 | 2,800 | 87.456 | 8.746 | 31 |
| 25 usuários/conta, rô 0,05 | 2,200 | 68.715 | 2.749 | 25 |
O teste de 11 dias vira um teste de 20 dias no cenário mais comum de SaaS B2B, e de 31 dias quando as contas são maiores. Vale reparar na linha de 25 usuários por conta: ela precisa de só 2.749 contas por braço, o que parece pouco, mas custa 25 dias, porque cada conta grande é cara em usuários e barata em informação.
O falso positivo, medido
Nada disso precisa ser aceito por fé. Simulamos 20 mil experimentos por linha com um modelo beta-binomial, em que a taxa de conversão de cada conta é sorteada de uma distribuição com a correlação intraclasse desejada e os usuários dentro dela convertem de forma independente dada aquela taxa. O efeito verdadeiro é exatamente zero em todas as linhas.
| Cenário | Efeito de desenho | Falso positivo previsto | Falso positivo medido (usuário) | Falso positivo medido (conta) |
|---|---|---|---|---|
| 5 usuários/conta, rô 0,05 | 1,200 | 7,36% | 7,38% | 5,08% |
| 5 usuários/conta, rô 0,10 | 1,400 | 9,76% | 9,70% | 5,04% |
| 3 usuários/conta, rô 0,30 | 1,600 | 12,13% | 12,03% | 4,79% |
| 5 usuários/conta, rô 0,20 | 1,800 | 14,41% | 14,50% | 4,82% |
| 10 usuários/conta, rô 0,20 | 2,800 | 24,15% | 23,47% | 4,88% |
| 5 usuários/conta, rô próximo de zero | 1,000 | 5,00% | 5,20% | 5,21% |
A coluna “previsto” não é um chute: é simplesmente a probabilidade de o z inflado passar de 1,96, ou seja, o que sobra depois de dividir o corte por raiz do efeito de desenho. Ela bate com a medida em todas as linhas dentro do erro de simulação, que aqui é de cerca de 0,15 ponto percentual. E a última linha é a prova por contraste: quando a correlação some, o teste ingênuo volta a errar 5 por cento, porque não havia cluster nenhum para ignorar.
O poder também some, e o efeito de desenho devolve
Se a correção fosse só um pedágio, dava para fingir que não existe. Ela não é: sem ela, o teste fica sem poder, que é o problema oposto e igualmente caro. Rodamos 8 mil réplicas por linha com um efeito verdadeiro de 10 por cento relativo, comparando o número de contas que sai do plano ajustado pelo efeito de desenho com o número que sai do plano ingênuo.
| Cenário | Contas/braço pelo plano ajustado | Poder medido | Contas/braço sem ajuste | Poder medido |
|---|---|---|---|---|
| 5 usuários/conta, rô 0,10 | 8.746 | 79,84% | 6.247 | 65,36% |
| 5 usuários/conta, rô 0,20 | 11.245 | 79,71% | 6.247 | 54,66% |
| 10 usuários/conta, rô 0,20 | 8.746 | 79,81% | 3.124 | 38,06% |
O plano ajustado devolve os 80 por cento prometidos nas três linhas, com desvio menor que 0,4 ponto percentual do alvo. O plano ingênuo entrega 38 por cento de poder no cenário de contas grandes: dois em cada três ganhos reais de 10 por cento passariam despercebidos. Larsen e coautores resumem o mecanismo em uma frase, ao discutir randomização por cluster em redes sociais: com os clusters sendo a unidade de sorteio em vez dos usuários individuais, o tamanho efetivo de amostra, e portanto o poder, cai drasticamente.
O exemplo trabalhado: o mesmo teste, dois vereditos
Simulamos um único experimento com semente fixa. 1.200 contas por braço, 5 usuários por conta, correlação intraclasse de 0,20, e efeito verdadeiro igual a zero. A variação não faz absolutamente nada.
| Controle | Variação | |
|---|---|---|
| Usuários | 6.000 | 6.000 |
| Conversões | 304 | 360 |
| Taxa | 5,0667% | 6,0000% |
Cole esses quatro números na calculadora de significância e o veredito vem redondo: z de 2,2360, valor-p de 0,025354, ganho relativo de mais 18,42 por cento, intervalo de confiança de 0,1154 a 1,7513 ponto percentual, a variação vence. É o tipo de resultado que um time comemora, escreve no relatório e manda para produção.
Agora a mesma tabela lida no nível certo. Cada conta tem uma taxa de conversão própria (0 em 5, 1 em 5, 2 em 5), e o teste é sobre as 1.200 taxas de conta de cada braço. As médias são idênticas às taxas globais, porque as contas têm todas o mesmo tamanho: 0,050667 no controle e 0,060000 na variação. O que muda é o erro-padrão, que agora vem do espalhamento entre contas e não da soma dos usuários: 0,005759 em vez de 0,004174.
| Análise | Diferença | Erro-padrão | Estatística | valor-p | IC 95% | Veredito |
|---|---|---|---|---|---|---|
| Por usuário (ingênua) | 0,9333 pp | 0,004174 | z 2,2360 | 0,025354 | 0,1154 a 1,7513 pp | vence |
| Por conta (correta) | 0,9333 pp | 0,005759 | t 1,6206 | 0,105093 | -0,1954 a 2,0621 pp | inconclusivo |
Vale conferir que a conta fecha por outro caminho. Dividindo o z ingênuo de 2,2360 pela raiz do efeito de desenho de 1,8 saem 1,6666 e valor-p de 0,095596, praticamente o mesmo que o teste no nível da conta devolveu (1,6206 e 0,105093). A pequena diferença é ruído amostral do rô real daquela amostra específica. Aplicando o estimador de análise de variância aos dados simulados, os dois braços devolveram correlação intraclasse de 0,1946 e 0,2526, ao redor do 0,20 verdadeiro.
Este experimento não tinha efeito nenhum. Ele só entrou na fatia de 14,50 por cento de falsos positivos que a análise ingênua produz nesse arranjo. Se você roda dez testes por trimestre com sorteio por conta e leitura por usuário, o número esperado de vitórias inventadas por ano é próximo de seis.
Como medir o seu rô sem rodar nenhum experimento
A correlação intraclasse é uma propriedade da sua base, não do teste, então dá para estimá-la com dados históricos de um período sem experimento nenhum. O caminho mais curto:
- Escolha uma janela recente com volume parecido com o do teste que você vai rodar.
- Para cada conta, calcule a taxa de conversão dos usuários dela naquela janela.
- Separe a variação entre contas da variação dentro de cada conta, com o estimador de análise de variância.
- Rô é a fração da variação total que está entre contas.
Um atalho de sanidade, se o número parecer alto ou baixo demais: rode um teste A/A com sorteio por conta, compare a leitura por usuário com a leitura por conta e veja quanto os erros-padrão divergem. A razão entre os dois ao quadrado é uma estimativa direta do efeito de desenho, sem precisar de fórmula nenhuma.
Killip e coautores registram que em estudos com pessoas os valores típicos ficam entre 0,01 e 0,02, e pedem que os pesquisadores publiquem seus rôs para que o campo acumule referências. Vale repetir de onde vem esse intervalo: pesquisa clínica com pacientes de consultórios. Contas de software costumam ser bem mais homogêneas por dentro, então esse não é o número para copiar, é só o lembrete de que até um rô muito pequeno derruba a amostra efetiva quando o cluster é grande.
Contas, não usuários por conta
A consequência mais acionável da fórmula é uma regra de recrutamento. Como o efeito de desenho depende de m e não de k, quem quer poder deve buscar mais clusters, não clusters maiores. Killip e coautores demonstram isso mantendo o total de pessoas fixo em 128 e só mudando o arranjo:
| Clusters (k) | Pessoas por cluster (m) | Total | Efeito de desenho | Amostra efetiva | Poder |
|---|---|---|---|---|---|
| 4 | 32 | 128 | 1,527 | 84 | 61% |
| 8 | 16 | 128 | 1,255 | 102 | 70% |
| 16 | 8 | 128 | 1,119 | 114 | 75% |
| 32 | 4 | 128 | 1,051 | 122 | 78% |
| 64 | 2 | 128 | 1,017 | 126 | 79% |
| 128 | 1 | 128 | 1,000 | 128 | 80% |
O mesmo número de pessoas entrega de 61 a 80 por cento de poder dependendo só de como elas estão agrupadas. E na direção contrária os autores mostram o custo de engordar o cluster: mantendo 4 consultórios e subindo de 10 para 80 pacientes cada, o efeito de desenho vai de 1,153 para 2,343 e o poder só chega a 82 por cento porque o total foi de 40 para 320 pessoas. Multiplicar por 8 o recrutamento para sair de 29 para 82 por cento de poder é um péssimo negócio comparado a simplesmente conseguir mais clusters.
Na prática, em produto B2B, isso significa preferir rodar o teste na base inteira de contas pequenas e médias a rodá-lo só nas contas enterprise, mesmo que as enterprise tragam mais usuários. E significa que estender o experimento em dias, quando não entram contas novas, ajuda muito menos do que a curva de duração sugere.
As três saídas de análise, e o que cada uma cobra
Reconhecido o problema, existem três formas usuais de analisar, e elas não são equivalentes.
Agregar por cluster. Calcule a taxa de cada conta e faça um teste de duas amostras sobre essas taxas. É o que fizemos no exemplo trabalhado, é trivial de implementar em SQL e devolveu 4,79 a 5,08 por cento de falso positivo em todos os cenários simulados. A limitação é que ele responde sobre a conta média, não sobre o usuário médio, o que importa quando as contas têm tamanhos muito diferentes.
Método delta na métrica de razão. Mantém a métrica no nível do usuário e corrige só a variância, tratando a taxa como razão de duas médias de quantidades por cluster. É o que Deng, Knoblich e Lu recomendam, e na simulação deles devolveu erro-padrão de 0,00908 contra desvio verdadeiro de 0,00895. Detalhamos o mecanismo em métricas de razão e o método delta.
Modelo de efeitos mistos. Acerta a variância mas tem um problema de estimando que costuma passar batido. Deng, Knoblich e Lu mediram: com valor verdadeiro de 0,667, o modelo misto devolveu 0,547. O motivo é que ele estima a média das médias de conta, dando peso igual a toda conta, o que só coincide com a média populacional quando o efeito é homogêneo. Em conjunto de contas com tamanhos e comportamentos muito diferentes, o viés é grande.
Quando isso aparece fora do B2B
Sorteio por cluster não é exclusividade de SaaS empresarial. A mesma matemática vale quando:
- A unidade de sorteio é o dispositivo ou o domicílio e a métrica é por pessoa (streaming, e-commerce com conta familiar).
- O sorteio é geográfico por cidade ou região, e a métrica é por pedido. Aí m é enorme e o efeito de desenho costuma ser brutal.
- O sorteio é por sessão e a métrica é por pageview, ou por usuário e a métrica é por sessão. Tratamos essa família em unidade de sorteio.
- Você usa clusterização de rede para conter interferência entre variações, que é justamente o caso descrito por Larsen e coautores.
- O sorteio é por janela de tempo, como em testes switchback.
Em todos, a pergunta de diagnóstico é a mesma e cabe em uma frase: a coisa que o acaso escolheu é a mesma coisa que a métrica conta? Se não for, você tem um efeito de desenho para pagar.
Faça isso automático na Donnu
O motivo mais comum de um teste B2B nascer com o falso positivo errado não é ignorância da estatística, é que a ferramenta pergunta “quantos visitantes” e nunca pergunta “sorteados como”. Na Donnu a unidade de sorteio é um campo do experimento, não uma convenção implícita: ao declarar que o sorteio é por conta, o cálculo de amostra já multiplica pelo efeito de desenho estimado a partir do seu próprio histórico, a data prevista de término considera a entrada de contas novas e não só de usuários, e a leitura do resultado sai no nível do sorteio, com o intervalo de confiança certo desde a primeira olhada. Se a correlação intraclasse observada durante o teste divergir da que entrou no plano, o experimento avisa em vez de deixar o número velho de pé.
Perguntas frequentes
As respostas curtas estão na seção de perguntas frequentes desta página, montadas a partir dos mesmos cálculos apresentados aqui.
Referências
- Shersten Killip, Ziyad Mahfoud e Kevin Pearce. What Is an Intracluster Correlation Coefficient? Crucial Concepts for Primary Care Researchers, Annals of Family Medicine, volume 2, número 3, 2004. Fonte do caso com 4 consultórios e 32 pacientes cada, rô de 0,017, efeito de desenho de 1,527, amostra efetiva de 84 em 128 e poder de 61 por cento; da tabela 1 com o total fixo em 128 pessoas (poder de 61, 70, 75, 78, 79 e 80 por cento conforme o arranjo vai de 4 clusters de 32 até 128 clusters de 1); da tabela 2 com 4 clusters e m subindo de 10 para 80 (efeito de desenho de 1,153 a 2,343, amostra efetiva de 34 a 136, poder de 29 a 82 por cento); do registro de que em estudos com pessoas rô costuma ficar entre 0,01 e 0,02; e da conclusão de que aumentar o número de clusters melhora o poder de forma mais eficiente do que aumentar o número de participantes dentro do cluster.
- Alex Deng, Ulf Knoblich e Jiannan Lu. Applying the Delta Method in Metric Analytics: A Practical Guide with Novel Ideas, KDD 2018. Seção 3 é a fonte da definição de unidade de sorteio e unidade de análise, do registro de que política corporativa que proíbe usuários da mesma organização de verem experiências diferentes é um caso prático de experimento com randomização por cluster, e da tabela 2 com os três estimadores comparados: o ingênuo devolvendo erro-padrão de 0,00522 contra desvio verdadeiro de 0,00895, o método delta devolvendo 0,00908 para o mesmo desvio, e o modelo de efeitos mistos estimando 0,547 quando o valor verdadeiro era 0,667.
- Nicholas Larsen, Jonathan Stallrich, Srijan Sengupta, Alex Deng, Ron Kohavi e Nathaniel T. Stevens. Statistical Challenges in Online Controlled Experiments: A Review of A/B Testing Methodology, arXiv 2212.11366, 2024. Fonte da observação de que, com os clusters sendo a unidade de sorteio em vez dos usuários individuais, o tamanho efetivo de amostra e portanto o poder caem drasticamente, e do contexto de randomização por cluster como resposta à interferência de rede, incluindo a alternativa dos ego-clusters menores, que paga um preço menor em poder por existirem muito mais deles.
- Ron Kohavi, Roger Longbotham, Dan Sommerfield e Randal M. Henne. Controlled experiments on the web: survey and practical guide, Data Mining and Knowledge Discovery, 2009. Fonte da definição de unidade experimental como a entidade sobre a qual as métricas são calculadas antes de agregar, do registro explícito de que essas unidades são assumidas independentes, e da recomendação de que o sorteio seja por usuário mesmo quando a métrica é por sessão ou por pageview.
Leia também
Perguntas frequentes
- O que é randomização por cluster em um teste A/B?
- É quando o sorteio acontece em um nível mais grosso do que o nível em que a métrica é calculada. O caso mais comum em B2B é sortear a conta e medir a conversão por usuário: todos os usuários da mesma empresa caem no mesmo braço. Deng, Knoblich e Lu descrevem exatamente esse caso, com política corporativa que proíbe usuários da mesma organização de verem experiências diferentes, como um exemplo prático de experimento com randomização por cluster.
- Por que analisar usuários quando o sorteio foi por conta quebra o teste?
- Porque o teste de duas proporções assume que cada observação é independente, e usuários da mesma conta não são. Nas nossas 20 mil réplicas com 5 usuários por conta e correlação intraclasse de 0,20, o teste ingênuo no nível do usuário devolveu 14,50 por cento de falso positivo em vez de 5. O ponto estimado continua certo; o que fica errado é o erro-padrão, que sai pequeno demais.
- O que é o efeito de desenho e como se calcula?
- É o fator pelo qual a amostra precisa crescer para compensar a semelhança dentro do cluster. Vale 1 mais (m menos 1) vezes rô, com m sendo o tamanho médio do cluster e rô a correlação intraclasse. Com 5 usuários por conta e rô de 0,20 dá 1,8: você precisa de 80 por cento mais usuários. Com 10 usuários por conta e o mesmo rô dá 2,8.
- Como estimar a correlação intraclasse antes de rodar o teste?
- Pelos seus próprios dados históricos, com o estimador de análise de variância aplicado às taxas por conta em um período sem experimento nenhum. No nosso exemplo trabalhado, em que o valor verdadeiro era 0,20, os dois braços devolveram 0,1946 e 0,2526. Killip, Mahfoud e Pearce registram que em estudos com pessoas os valores costumam ficar entre 0,01 e 0,02, mas isso é a realidade de pesquisa clínica em consultórios, não de contas de software, onde a semelhança interna tende a ser bem maior.
- Vale mais a pena aumentar o número de contas ou o número de usuários por conta?
- Contas, quase sempre. Killip e coautores mostram que mantendo 128 pessoas no total e apenas mudando o arranjo, 4 clusters de 32 devolvem poder de 61 por cento e 32 clusters de 4 devolvem 78 por cento. O efeito de desenho depende do tamanho do cluster, não do total, então cluster grande é caro e cluster pequeno é quase de graça.
- Existe um jeito de continuar analisando no nível do usuário?
- Existe, desde que o erro-padrão seja calculado no nível do sorteio. As duas rotas usuais são o método delta aplicado à métrica de razão e o teste sobre as médias por cluster. Deng, Knoblich e Lu compararam as duas contra o modelo de efeitos mistos e registraram que o ingênuo subestima a variância, o delta acerta, e o modelo misto acerta a variância mas devolve um ponto estimado enviesado, porque ele estima a média das contas e não a média dos usuários.