Estatística

Efeito Heterogêneo por Segmento em Teste A/B

Efeito heterogêneo por segmento: significante no mobile e nulo no desktop não prova que o efeito difere. O teste de interação e a conta correta.

Ilustração plana de uma barra larga que se abre em quatro barras finas de comprimentos diferentes espalhadas em ângulos distintos, com uma linha tracejada no meio do leque, em verde profundo e verde menta

Um efeito significante no mobile e nulo no desktop não prova que o efeito difere por dispositivo. Para afirmar isso é preciso testar a diferença entre os dois efeitos diretamente, e esse teste é sempre mais ruidoso que qualquer um dos dois: no exemplo trabalhado deste artigo, o efeito no mobile tem valor-p de 0,006 e a diferença entre mobile e desktop tem valor-p de 0,219. Este guia cobre como afirmar efeito heterogêneo com rigor: a conta correta da diferença de diferenças, por que ela exige aproximadamente 5 vezes mais amostra no caso trabalhado, o teto teórico de 16 vezes de Gelman, e como procurar segmento no dado sem invalidar o intervalo de confiança. Faz parte do nosso guia completo de teste A/B e é o complemento operacional do plano de análise pré-registrado.

A média é uma decisão, não uma descrição

Todo teste A/B reporta um número por métrica, e esse número é o efeito médio de tratamento sobre a população que entrou no experimento. Ele é uma estatística legítima e é a que sustenta a decisão de lançar. O que ele não é: uma descrição do que aconteceu com cada usuário.

O mesmo efeito médio de meio ponto percentual pode vir de três mundos completamente diferentes:

A decisão de lançar pode ser a mesma nos três casos (o agregado é positivo), mas a decisão de o que fazer em seguida é radicalmente diferente. E é aí que o painel de segmentos entra, quase sempre pela porta errada.

Três distribuições de efeito com a mesma médiaTrês painéis lado a lado, cada um mostrando barras de efeito por subgrupo com a mesma média destacada por uma linha tracejada. No primeiro painel, todas as barras têm a mesma altura, o efeito é homogêneo. No segundo, metade das barras tem o dobro da altura média e metade tem altura zero. No terceiro, um terço das barras é bem alto e dois terços apontam para baixo, abaixo do eixo. A linha tracejada da média está na mesma altura nos três painéis.A mesma média, três realidades. O relatório padrão mostra só a linha tracejada.efeito homogêneoLançar e seguir. Nada a segmentar.metade respondeLançar, e investigar quem não respondeu.efeitos opostosLançar prejudica a maioriapara beneficiar uma minoria.A linha tracejada laranja é idêntica nos três. É ela que o teste A/B reporta por padrão.Descobrir em qual dos três você está é uma pergunta separada, com exigência de amostra própria.
O terceiro painel é o caso que dói: o teste ganha, o lançamento acontece, e a maioria dos usuários piora. Ele só aparece se alguém for procurar, e procurar tem custo estatístico.

Exemplo trabalhado: o teste ganha e alguém quer lançar só no mobile

Uma loja roda um teste com 60.000 usuários por braço distribuídos em quatro dispositivos. Cole qualquer linha na calculadora para reproduzir os números.

Calculadora de significância estatística
Controle (A)
Variação (B)
Controle (A) · Taxa-
Variação (B) · Taxa-
Melhora relativa-
valor-p-
IC 95% da diferença-

Teste z bilateral de duas proporções. "Sem significância" quase sempre quer dizer que falta amostra, não que as versões são iguais.

segmento A (conv./visitantes) B (conv./visitantes) taxa A taxa B efeito z valor-p
Mobile 1.500 / 30.000 1.650 / 30.000 5,00% 5,50% +0,500pp 2,7457 0,006039
Desktop 1.260 / 18.000 1.278 / 18.000 7,00% 7,10% +0,100pp 0,3706 0,710938
Tablet 300 / 6.000 306 / 6.000 5,00% 5,10% +0,100pp 0,2501 0,802486
App 420 / 6.000 414 / 6.000 7,00% 6,90% -0,100pp -0,2154 0,829469
Total 3.480 / 60.000 3.648 / 60.000 5,80% 6,08% +0,280pp 2,0517 0,040195

(Os quatro segmentos somam exatamente 60.000 visitantes e 3.480 contra 3.648 conversões, então o total é aritmeticamente consistente com as partes.)

O total é significante: o teste ganhou. E aí vem a conclusão que parece óbvia e não é: “o ganho é todo do mobile, o desktop não reagiu, então lançamos só no mobile e poupamos o esforço no desktop”.

Essa conclusão não está sustentada pelos dados acima, e a razão é precisa.

A diferença entre significante e não significante não é significante

Gelman e Stern trataram exatamente disso num artigo cujo título é a própria tese: a diferença entre “significante” e “não significante” não é, ela mesma, estatisticamente significante. Eles deixam claro que não estão fazendo a observação corriqueira de que qualquer limiar é arbitrário; a tese é mais forte: mudanças grandes no nível de significância podem corresponder a mudanças pequenas e não significantes nas quantidades subjacentes.

O exemplo teórico deles é de três linhas. Dois estudos independentes com estimativas e erros-padrão de 25 mais ou menos 10 e 10 mais ou menos 10. O primeiro é significante ao nível de 1 por cento; o segundo não é nem um pouco significante, ficando a apenas um erro-padrão de zero. Seria tentador concluir que há uma grande diferença entre os dois. Só que a diferença estimada é 15, com erro-padrão igual à raiz de 10 ao quadrado mais 10 ao quadrado, ou seja, a raiz de 200, que os autores arredondam para cerca de 14. Isso dá z de 1,0607 e valor-p de 0,2888. Não chega nem perto.

Os autores acrescentam um segundo caso que fecha o argumento pelo outro lado: se um terceiro estudo, com amostra muito maior, estima 2,5 com erro-padrão 1,0, ele atinge o mesmo nível de significância do primeiro, e mesmo assim a diferença entre os dois é significante. Comparar rótulos de significância não informa sobre as magnitudes.

A conta correta: diferença de diferenças

A pergunta “o efeito difere entre mobile e desktop” tem uma estatística própria, e ela é a diferença de diferenças.

Passo a passo, com os números do exemplo:

  1. Efeito no mobile: 5,50% menos 5,00% igual a +0,500pp. Erro-padrão da diferença: raiz de 0,05 vezes 0,95 sobre 30.000, mais 0,055 vezes 0,945 sobre 30.000, que dá 0,18209pp.
  2. Efeito no desktop: 7,10% menos 7,00% igual a +0,100pp. Erro-padrão: raiz de 0,07 vezes 0,93 sobre 18.000, mais 0,071 vezes 0,929 sobre 18.000, que dá 0,26983pp.
  3. Diferença de diferenças: 0,500 menos 0,100 igual a +0,400pp.
  4. Erro-padrão da diferença de diferenças: raiz de 0,18209 ao quadrado mais 0,26983 ao quadrado, que dá 0,32553pp.
  5. Estatística de interação: 0,400 dividido por 0,32553 igual a z de 1,2288, com valor-p bilateral de 0,219158.
  6. Intervalo de confiança de 95 por cento da diferença de diferenças: de -0,238pp a +1,038pp.

O intervalo contém o zero com folga, e contém inclusive valores negativos: os dados são compatíveis com o efeito ser maior no desktop que no mobile. A afirmação “o efeito é do mobile” não sobrevive à própria aritmética que a sustentaria.

Efeito por segmento e intervalo da diferença entre segmentosGráfico de intervalos horizontais. As duas primeiras linhas mostram o efeito estimado no mobile, de mais 0,5 ponto percentual com intervalo de 0,143 a 0,857, e no desktop, de mais 0,1 ponto percentual com intervalo de menos 0,429 a 0,629. Uma linha vertical marca o zero. A terceira linha, destacada, mostra a diferença entre os dois efeitos, de mais 0,4 ponto percentual com intervalo de menos 0,238 a mais 1,038, que atravessa o zero. Uma nota indica que o intervalo da diferença é mais largo que o de qualquer um dos dois efeitos isolados.O intervalo da DIFERENÇA é mais largo que o de qualquer efeito isolado0-0,5pp+0,5pp+1,0ppmobilep 0,006desktopp 0,711diferençaentre os doisp 0,219O intervalo da diferença atravessa o zero e chega a valores negativos: o dado é compatível com o efeito ser maior no desktop.
Os dois primeiros intervalos são os que aparecem no painel de segmentos. O terceiro é o único que responde à pergunta que o time está fazendo, e é o que quase nunca é calculado.

Por que a interação custa tanta amostra

A raiz do problema está na aritmética dos erros-padrão, e ela é implacável.

O erro-padrão da diferença de diferenças combina a incerteza dos dois segmentos: no exemplo, 0,32553 contra 0,18209 do efeito do mobile sozinho, ou seja, 1,7877 vez mais largo. Como a amostra necessária escala com o quadrado da razão entre erro-padrão e efeito, isso sozinho já multiplica a amostra por 3,20.

E o efeito de interação costuma ser menor que o efeito principal. No exemplo, a diferença de diferenças (0,400pp) vale 0,8 do efeito do mobile (0,500pp). Juntando os dois fatores:

Amostra necessária para a interação, dividida pela amostra necessária para o efeito principal, é igual ao quadrado de (1,7877 dividido por 0,8), que dá 4,99.

Conferindo pelos números absolutos: para detectar o efeito do mobile (base 5,00% subindo para 5,50%, ou seja, +10% relativo) a 80 por cento de poder são necessários 31.234 usuários por variação (é o resultado da calculadora de tamanho de amostra com base 5%, MDE 10% relativo, 95% de confiança bilateral). Para detectar a diferença de diferenças observada com o mesmo poder seriam necessários cerca de 156 mil por célula, ou seja, praticamente 5 vezes mais. O teste tinha 30.000 por célula no mobile: dava para ler o efeito, não dava para ler a diferença.

Amostra por célula exigida pelo efeito principal e pela interaçãoComparação de duas barras horizontais. A barra do efeito principal representa cerca de 31 mil usuários por variação, necessários para detectar o efeito observado no mobile a 80 por cento de poder. A barra da interação representa cerca de 156 mil por célula, necessários para detectar a diferença de diferenças observada com o mesmo poder, aproximadamente cinco vezes maior. Abaixo, dois fatores explicam a razão: o erro-padrão da interação é 1,79 vez maior e o efeito de interação vale 0,8 do efeito principal.A mesma leitura, dois orçamentos de amostra completamente diferentesefeito principal (mobile)31.234 por variaçãointeração (mobile x desktop)cerca de 156 mil por célula (4,99 vezes mais)de onde vem o fator 4,99:erro-padrão 1,7877 vez maiorcombina a incerteza dos dois segmentos/efeito 0,8 vez o principal0,400pp de diferença contra 0,500pp de efeitoO quociente entre os dois, elevado ao quadrado, é o multiplicador de amostra: (1,7877 dividido por 0,8) ao quadrado igual a 4,99.
O fator é 4,99 neste caso específico porque a interação observada é grande em relação ao efeito principal. Em cenários mais típicos ele é bem maior, como a seção seguinte mostra.

O fator 16 de Gelman e quando ele vale

O número de referência dessa discussão vem de Gelman: sob as suposições padrão sobre efeitos principais e interações, é preciso 16 vezes a amostra para estimar uma interação em comparação com estimar um efeito principal.

Vale ler a suposição exata, porque ela é onde mora todo o número. Com os preditores codificados como menos meio e mais meio, o erro-padrão do efeito principal é 2 sigma sobre a raiz de N, e o do termo de interação é 4 sigma sobre a raiz de N, ou seja, o dobro. Se além disso a interação valer metade do efeito principal, a razão entre efeito e erro-padrão cai por um fator de 4, e a amostra necessária sobe por 4 ao quadrado, ou seja, 16.

E o próprio autor esclarece o que “metade” significa ali, num ponto que costuma ser citado errado: se o efeito principal do tratamento é 0,6 e a interação com sexo é 0,3, então o efeito é 0,45 para um grupo e 0,75 para o outro. Se em vez disso você tinha em mente um efeito principal de 0,6 que é 0,3 num grupo e 0,9 no outro, aí o fator necessário cai para 4 vezes, não 16.

O exemplo deste artigo está nesse segundo regime, e por isso deu 4,99 e não 16: a diferença de 0,400pp é grande em relação ao efeito médio. Num caso mais típico, em que a heterogeneidade é sutil, o fator sobe rápido.

relação entre interação e efeito principal fator de amostra (com erro-padrão 2 vezes maior)
interação vale o mesmo que o efeito principal 4 vezes
interação vale 0,8 do efeito principal 6,25 vezes
interação vale metade do efeito principal 16 vezes
interação vale um terço do efeito principal 36 vezes
interação vale um quarto do efeito principal 64 vezes

Repare que a tabela assume o erro-padrão exatamente 2 vezes maior, que é a suposição de Gelman. O caso trabalhado deste artigo deu 4,99 e não 6,25 porque ali o erro-padrão da interação ficou 1,7877 vez maior que o do efeito do mobile, e não 2 vezes: os quatro segmentos não têm o mesmo tamanho, então a divisão não é a de quatro células iguais que a fórmula de Gelman supõe. Use a tabela para ordem de grandeza e a conta da seção anterior para o seu caso.

O alerta prático que Gelman deriva disso é o mais importante do artigo dele: o plano usual de desenhar o estudo focado no efeito principal, talvez até pré-registrando, e depois ir ver o que aparece nas interações é um problema sério. E o pior caso é desenhar o estudo, não achar o efeito principal esperado, e usar as interações para se salvar. O problema não é só que essa análise é exploratória: é que esses dados são muito mais ruidosos do que se percebe, então o que parece um achado exploratório interessante pode ser só ruído.

Como procurar segmento sem invalidar o intervalo

Se o teste não foi dimensionado para interação (quase nunca é) e mesmo assim você precisa investigar heterogeneidade, existem três caminhos legítimos, em ordem crescente de custo.

1. Pré-declarar poucos segmentos, com correção

Escolha dois ou três cortes que a hipótese do teste realmente prevê que respondam diferente, escreva quais são no plano de análise antes de rodar, e aplique correção de multiplicidade sobre eles. Quatro segmentos lidos ao nível de 5 por cento já dão 18,55 por cento de chance de ao menos um falso positivo, e é isso que muitas métricas em um teste trata em detalhe.

Kohavi e coautores relatam que na operação do Bing, para análise em fatias, eles educam os experimentadores sobre falsos positivos e os incentivam a ajustar o limiar de probabilidade, focando em sinais fortes e valores-p menores, na ordem de 0,0001. É uma régua muito mais dura que 0,05, e ela existe porque o eixo dos segmentos é o que mais cresce sem controle.

2. Estimação honesta: descobrir numa amostra, estimar em outra

Athey e Imbens propõem um método formal para o caso em que você quer que o dado descubra os subgrupos, sem que isso invalide a inferência. A ideia central é a estimação honesta: uma amostra é usada para construir a partição e outra, independente, para estimar os efeitos de tratamento dentro de cada parte.

Eles descrevem o método como um complemento aos planos de análise pré-registrados, em que o pesquisador precisa se comprometer de antemão com os subgrupos que serão analisados: a abordagem deles permite que o dado descubra subgrupos relevantes sem cair nas preocupações de teste múltiplo que invalidariam os valores-p.

O resultado empírico é o que interessa aqui. Em estudo de simulação, eles mostram que métodos adaptativos (que usam os mesmos dados para escolher o modelo e para estimar) têm taxas de cobertura de intervalo de confiança substancialmente abaixo da nominal, enquanto os métodos honestos atingem a cobertura nominal em todos os desenhos testados. Eles são explícitos sobre o preço: a estimação honesta sacrifica algum ajuste (a metade da amostra usada para descobrir não entra na estimativa) em troca de intervalos de confiança válidos.

A tradução para um teste A/B: se você tem tráfego sobrando, separe metade dos usuários para explorar cortes e a outra metade para estimar o efeito nos cortes que a primeira metade encontrou. É a versão prática e barata do mesmo princípio.

3. Rodar um teste desenhado para a interação

A alternativa mais cara e mais definitiva: rodar de novo, dimensionado para a diferença que você quer detectar. Isso significa multiplicar a amostra pelo fator da tabela acima, ou restringir o experimento ao segmento de interesse, o que reduz o custo mas responde a uma pergunta menor (“funciona no mobile”, não “funciona mais no mobile”).

Efeito heterogêneo não é o mesmo que personalização

Confundir os dois é comum e caro. Heterogeneidade é uma afirmação estatística sobre o experimento: o efeito variou entre subgrupos, com incerteza declarada. Personalização é uma decisão de produto: entregar experiências diferentes a grupos diferentes.

Ir de uma para a outra exige que três coisas sejam verdadeiras ao mesmo tempo, e a primeira quase nunca é checada:

  1. A heterogeneidade é real, ou seja, o teste de interação sustenta a afirmação, não só a comparação de rótulos de significância.
  2. O segmento é acionável no momento da decisão, ou seja, você sabe a que grupo o usuário pertence antes de servir a página, e não só depois.
  3. O ganho de personalizar compensa o custo permanente de manter dois caminhos de produto, dois conjuntos de testes futuros e duas superfícies de bug.

A discussão completa desse trade-off está em personalização versus teste A/B. E o caso patológico em que a agregação por segmento inverte o sinal do resultado está em o paradoxo de Simpson em teste A/B.

Checklist antes de afirmar que o efeito difere

  1. Você calculou a diferença de diferenças, ou só comparou dois valores-p? Comparar rótulos não é um teste.
  2. O intervalo da diferença exclui o zero? Se inclui, a afirmação é “não sei”, não “não difere” nem “difere”.
  3. Os segmentos foram declarados antes? Se não, o resultado é exploratório e sai rotulado como tal.
  4. Quantos cortes foram testados no total? A conta de multiplicidade usa o número de cortes tentados, não o número reportado.
  5. O segmento é conhecido antes de servir a variação? Senão, ele não sustenta decisão de personalização.
  6. A amostra por célula bate com o fator da tabela? Se o teste tinha poder para o efeito principal, quase certamente não tinha para a interação.
  7. Existe uma rodada de confirmação prevista? Heterogeneidade achada no dado é hipótese, e hipótese vira resultado numa segunda rodada.

Erros comuns

Faça isso automático na Donnu

O erro caro aqui não é olhar segmentos, é o painel de segmentos parecer uma resposta quando ele é uma pergunta. Quatro linhas, quatro valores-p, uma verde e três cinzas, e ninguém na sala calcula a única estatística que sustentaria a decisão que está sendo tomada.

Na Donnu, os cortes de segmento são declarados junto com a hipótese, e quando dois segmentos são comparados o relatório mostra a diferença de diferenças com o intervalo de confiança dela, não só os dois efeitos lado a lado. Segmentos não declarados aparecem numa aba separada, marcada como exploratória, com o número de cortes já testados visível na tela. Se você quiser refazer qualquer linha na mão, a calculadora de significância aceita as contagens brutas e a calculadora de tamanho de amostra mostra o que cada célula exigiria.

Referências

Leia também: Muitas métricas em um teste A/B · Plano de análise pré-registrado · O paradoxo de Simpson em teste A/B · Personalização versus teste A/B · A maldição do vencedor · Calculadora de significância · Read in English

Perguntas frequentes

O que é efeito heterogêneo de tratamento?
É quando o efeito de uma mudança não é o mesmo para todos os usuários: sobe em um grupo, é neutro em outro e pode até cair em um terceiro. O número que um teste A/B reporta por padrão é o efeito médio sobre toda a população testada, e essa média pode esconder efeitos opostos que se cancelam. Detectar heterogeneidade real é diferente de observar números diferentes entre segmentos, porque números diferentes aparecem por acaso mesmo quando o efeito é idêntico em todos eles.
Se o efeito é significante no mobile e não no desktop, isso prova que o efeito difere?
Não. Gelman e Stern mostram que a diferença entre significante e não significante não é, ela mesma, estatisticamente significante. O exemplo canônico deles: um estudo com estimativa 25 e erro-padrão 10 é significante a 1 por cento, outro com estimativa 10 e erro-padrão 10 não é significante; mas a diferença entre os dois é 15 com erro-padrão igual à raiz de 10 ao quadrado mais 10 ao quadrado, ou seja, 14, o que não chega nem perto de significante. Para afirmar que os segmentos diferem é preciso testar a diferença entre eles diretamente.
Como se testa a diferença de efeito entre dois segmentos?
Pela diferença de diferenças. Calcule o efeito absoluto do tratamento em cada segmento, subtraia um do outro, e calcule o erro-padrão dessa diferença como a raiz da soma dos quadrados dos erros-padrão dos dois efeitos. O z do teste de interação é a diferença de diferenças dividida por esse erro-padrão. É essa a estatística que responde à pergunta "o efeito é diferente entre os segmentos", e ela é sempre mais ruidosa que qualquer um dos dois efeitos isolados.
Por que o teste de interação exige tanta amostra?
Por dois motivos que se somam. O efeito de interação costuma ser menor que o efeito principal, e o erro-padrão dele é maior porque combina a incerteza dos dois segmentos. Gelman mostra que, sob a suposição de que a interação vale metade do efeito principal e o erro-padrão dobra, é preciso 16 vezes a amostra para estimar a interação com a mesma precisão do efeito principal. Se a interação for do mesmo tamanho do efeito principal em vez de metade, o fator cai para 4.
Posso procurar segmentos no dado depois que o teste terminou?
Pode, desde que o resultado seja rotulado como exploratório e leve a uma rodada de confirmação. Cortar o dado de muitas maneiras até algo ficar significante é multiplicidade não declarada. Athey e Imbens propõem um caminho formal para isso, a estimação honesta: uma amostra é usada para descobrir a partição e outra, independente, para estimar os efeitos dentro de cada parte. Eles mostram que métodos adaptativos, que usam os mesmos dados para escolher e estimar, têm cobertura de intervalo de confiança bem abaixo da nominal, enquanto o método honesto atinge a cobertura nominal.
Qual a diferença entre efeito heterogêneo e personalização?
Heterogeneidade é uma afirmação estatística sobre o experimento que você rodou: o efeito varia entre subgrupos, e você mediu essa variação com incerteza declarada. Personalização é uma decisão de produto: entregar experiências diferentes a grupos diferentes. Uma não implica a outra. Heterogeneidade fraca ou não confirmada não justifica personalizar, porque o custo de manter dois caminhos de produto é real e permanente enquanto o ganho medido pode ser ruído.