Estatística

Modelo Hierárquico em Teste A/B: agrupamento parcial

Modelo hierárquico estima a variação entre segmentos em vez de supor. A conta em 8 segmentos, o tau mal identificado e a reversão de ranking.

Ilustração plana de oito barras de alturas diferentes ligadas por fios elásticos curvos, as mais altas dobrando para baixo e as mais baixas para cima

Você rodou um teste, ele deu positivo no agregado, e agora tem oito leituras de segmento na tela. Uma delas mostra mais 21 por cento. A pergunta não é se você acredita nela, é quanto. O modelo hierárquico responde isso com um número: ele estima quanta variação REAL existe entre segmentos e usa esse valor para decidir o peso de cada leitura individual. No exemplo trabalhado deste guia, o desvio entre segmentos sai em 0,2420 ponto percentual, o campeão bruto de mais 1,219 ponto cai para mais 0,392, e o pódio troca de dono: quem assume a liderança é um segmento com leitura bruta menor e amostra 6,8 vezes maior. Este guia mostra o modelo linha por linha, por que estimar o desvio entre segmentos é a parte difícil (o intervalo dele vai de 0,0000 a 0,6000 ponto com 8 segmentos), onde a versão simplificada por momentos mente sobre a própria precisão, e a simulação que diz quando agrupar parcialmente ganha de agrupar tudo. Faz parte do nosso guia completo de teste A/B e é o passo seguinte ao encolhimento bayesiano.

O teste que você já rodou

O exemplo é um teste único de reordenação da página de produto, com leitura por dispositivo e canal. Primeiro o agregado, que é a leitura que vai para o relatório:

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.

Com 60.000 visitantes e 2.873 conversões no controle e 59.920 visitantes e 3.038 conversões na variação, a calculadora devolve 4,7883 por cento contra 5,0701 por cento, um ganho relativo de 5,884 por cento, valor-p de 0,024218 e intervalo de confiança de mais 0,0367 a mais 0,5268 ponto percentual. Passa em 0,05, com folga pequena.

Agora a tabela por segmento, que é onde o relatório vira discussão:

segmento visitantes por variação base variação diferença relativo valor-p
Desktop / busca orgânica 14.200 5,500% 6,100% +0,600 pp +10,91% 0,030565
Desktop / busca paga 9.600 4,896% 5,449% +0,553 pp +11,30% 0,083781
Desktop / e-mail 4.300 6,907% 7,710% +0,803 pp +11,63% 0,152864
Desktop / direto 6.100 5,000% 5,148% +0,148 pp +2,96% 0,709749
Mobile / busca orgânica 13.800 4,000% 3,897% −0,103 pp −2,58% 0,660388
Mobile / busca paga 8.200 3,402% 3,105% −0,297 pp −8,74% 0,283598
Mobile / e-mail 2.100 5,762% 6,981% +1,219 pp +21,16% 0,105013
Mobile / direto 1.700 4,000% 4,012% +0,012 pp +0,29% 0,986167

A leitura ingênua dessa tabela produz três conclusões, e as três estão erradas: que o teste funciona muito bem no e-mail mobile, que ele prejudica a busca paga mobile, e que desktop e mobile reagem de formas opostas. Nada disso está estabelecido pelos dados.

Três formas de responder, e só uma é razoável

Diante de oito segmentos, existem três posturas possíveis:

Nenhum agrupamento, agrupamento total e agrupamento parcial nas mesmas oito leiturasTrês faixas horizontais. Na primeira, sem agrupamento, oito pontos ficam espalhados de menos zero vírgula três a mais um vírgula dois ponto percentual. Na segunda, agrupamento total, os oito pontos colapsam em um único valor central de mais zero vírgula dois ponto. Na terceira, agrupamento parcial, os oito pontos ficam entre esses dois extremos, mais perto do centro quanto menor a amostra do segmento.efeito estimado por segmento, em pontos percentuaissem agrupamentocada segmento por siagrupamento totalum efeito para todosos oito colapsam aquiagrupamento parcialpeso pela precisão−0,4+0,2+1,3acredita em tudo, inclusive no ruído do segmento de 1.700 visitantesnão acredita em nada, apaga diferença real entre desktop e mobile
Sem agrupamento e com agrupamento total são os dois extremos. Agrupamento parcial é uma família de respostas entre eles, e o modelo escolhe onde parar.

Não agrupar nada é acreditar que 2.100 visitantes medem o efeito no e-mail mobile tão bem quanto 14.200 medem na busca orgânica desktop. Agrupar tudo é assumir que o efeito é idêntico nos oito, o que apaga por decreto qualquer diferença real. A terceira via não é um meio-termo arbitrário: o quanto agrupar é um parâmetro que se estima.

O modelo hierárquico, em três linhas

O modelo hierárquico normal-normal, escrito para segmentos de teste A/B, cabe em três afirmações:

  1. Cada segmento tem um efeito verdadeiro próprio, chame de delta_j.
  2. Esses efeitos verdadeiros vêm de uma distribuição comum, com média mu e desvio tau.
  3. A leitura observada d_j é o efeito verdadeiro mais erro de medição, com desvio se_j (o erro padrão da diferença naquele segmento, que você já tem).

Em notação: d_j ~ Normal(delta_j, se_j) e delta_j ~ Normal(mu, tau). Só existem dois números novos no mundo, mu e tau, e os dois saem dos dados.

mu é o efeito médio entre segmentos. tau é o número que decide tudo: se tau é zero, os efeitos verdadeiros são idênticos e o modelo colapsa em agrupamento total; se tau é gigante, cada segmento vira independente e o modelo colapsa em não agrupar nada. É por isso que a briga é sobre tau.

Estimar tau de verdade, não por fórmula fechada

Existem dois caminhos comuns para tau, e eles não são equivalentes.

O caminho por momentos (o estimador de DerSimonian e Laird, usado em meta-análise e na nossa peça sobre encolhimento bayesiano) usa a estatística de heterogeneidade Q. Nos dados acima, Q vale 11,2708 com 7 graus de liberdade, e a fórmula devolve tau igual a 0,2780 ponto percentual.

O caminho por verossimilhança maximiza a probabilidade dos dados sob o modelo, variando tau e recalculando mu a cada passo. Aqui ele devolve tau igual a 0,2420 ponto percentual e mu igual a 0,2355 ponto (erro padrão de 0,1569).

Os dois valores estão próximos, e isso é o resultado tranquilizador. O resultado inquietante é o que aparece quando se olha a curva inteira em vez do ponto de máximo:

Verossimilhança perfilada do desvio entre segmentos, com o intervalo de 95 por centoCurva que sobe de zero, atinge o máximo em zero vírgula vinte e quatro ponto percentual e cai lentamente. A faixa destacada de intervalo de 95 por cento vai de zero a zero vírgula sessenta ponto percentual, ou seja, cobre inclusive o valor zero, o que significa que ausência total de heterogeneidade não é descartada pelos dados.o quanto os dados restringem tau, com 8 segmentosmáximo: tau = 0,2420 pp0,000,240,601,00tau, desvio entre segmentos, em pontos percentuaisintervalo de 95%: 0,0000 a 0,6000 ppa cauda é longa: tau grande não é descartadotau igual a zero também não é descartado
Com 8 segmentos, o ponto de máximo é 0,2420 mas o intervalo de 95 por cento por verossimilhança perfilada cobre de 0,0000 a 0,6000 ponto percentual. O parâmetro que decide tudo é o pior estimado de todos.

Esse é o fato central sobre modelos hierárquicos em teste A/B: tau é mal identificado porque o número de segmentos é pequeno. Você tem 119.920 visitantes no teste, o que é bastante, mas só 8 observações para estimar a variação ENTRE segmentos, o que é pouquíssimo. Andrew Gelman trata exatamente desse caso em Bayesian Analysis (2006) e recomenda prior uniforme no desvio hierárquico, com a família meio-t “quando o número de grupos é pequeno”.

O fator de encolhimento, segmento por segmento

Com tau estimado, o peso de cada leitura sai de uma conta só: o fator de encolhimento B_j = tau² / (tau² + se_j²). Ele é a fração da própria leitura que sobrevive.

segmento erro padrão fator B leitura bruta depois do encolhimento
Mobile / busca orgânica 0,235 pp 0,516 −0,103 pp +0,061 pp
Desktop / busca paga 0,320 pp 0,364 +0,553 pp +0,351 pp
Mobile / busca paga 0,277 pp 0,433 −0,297 pp +0,005 pp
Desktop / busca orgânica 0,277 pp 0,432 +0,600 pp +0,393 pp
Desktop / direto 0,398 pp 0,270 +0,148 pp +0,212 pp
Desktop / e-mail 0,562 pp 0,156 +0,803 pp +0,324 pp
Mobile / direto 0,671 pp 0,115 +0,012 pp +0,210 pp
Mobile / e-mail 0,752 pp 0,094 +1,219 pp +0,328 pp

Leia a última linha com atenção. O segmento com a leitura mais espetacular do teste tem fator de encolhimento de 0,094: 9,4 por cento da leitura dele é levada a sério, e os outros 90,6 por cento vêm do efeito médio do teste. Não é arbitrariedade, é a consequência de ter 2.100 visitantes por variação num segmento cujo erro padrão (0,752 pp) é três vezes maior que o desvio real entre segmentos (0,242 pp). O sinal simplesmente não está lá.

Observe também Mobile / busca paga: a leitura bruta é negativa (−0,297 pp, que qualquer um leria como “o teste piora a busca paga mobile”) e o resultado depois do encolhimento é mais 0,005 ponto, ou seja, nada. A conclusão de dano ao segmento nunca existiu.

Onde a versão simplificada mente

Até aqui a conta é a mesma que um encolhimento por momentos faria. A diferença do modelo hierárquico completo aparece no PASSO SEGUINTE: em vez de fixar tau em 0,2420 e tratá-lo como conhecido, ele integra a incerteza sobre tau (aquela curva larga acima) no resultado final de cada segmento. Rodando isso com prior meio-normal de escala 0,5 ponto percentual sobre tau, como Gelman recomenda para poucos grupos:

segmento plug-in (tau fixo) erro do plug-in modelo completo erro do modelo P(efeito positivo)
Desktop / busca orgânica +0,393 pp 0,182 pp +0,406 pp 0,236 pp 95,7%
Desktop / busca paga +0,351 pp 0,193 pp +0,368 pp 0,247 pp 93,2%
Desktop / e-mail +0,324 pp 0,222 pp +0,369 pp 0,322 pp 87,4%
Desktop / direto +0,212 pp 0,207 pp +0,205 pp 0,257 pp 78,8%
Mobile / busca orgânica +0,061 pp 0,168 pp +0,051 pp 0,202 pp 59,9%
Mobile / busca paga +0,005 pp 0,182 pp −0,020 pp 0,242 pp 46,7%
Mobile / e-mail +0,328 pp 0,230 pp +0,392 pp 0,362 pp 86,1%
Mobile / direto +0,210 pp 0,228 pp +0,199 pp 0,318 pp 73,4%

As médias quase não se movem, e é por isso que o plug-in é popular. Os erros padrão se movem muito. No segmento de e-mail mobile, o erro do modelo completo (0,362) é 57,4 por cento maior que o do plug-in (0,230). No de busca orgânica desktop, 29,7 por cento maior. O plug-in não erra a estimativa, ele erra a confiança na estimativa, sempre para o lado otimista, porque finge saber tau quando o intervalo de tau cobre de zero a 0,60.

Largura do intervalo do plug-in contra o modelo completo em três segmentosTrês pares de barras horizontais de incerteza. Em cada par, a barra do modelo completo é visivelmente mais longa que a do plug-in com tau fixo. A diferença é de vinte e nove vírgula sete por cento na busca orgânica desktop, quarenta e cinco por cento no direto mobile e cinquenta e sete vírgula quatro por cento no e-mail mobile, que é o segmento de menor amostra.erro padrão do efeito do segmento: o que o plug-in escondeDesktop / busca orgânica+29,7%Mobile / direto+39,5%Mobile / e-mail+57,4%plug-in, tau fixo em 0,2420modelo completo, tau integradoquanto menor a amostra do segmento, maior a diferença entre os dois
A estimativa pontual quase não muda. O intervalo muda de 29,7 a 57,4 por cento, sempre no sentido de ser mais largo do que o plug-in afirma.

Repare ainda na última coluna da tabela: um único segmento dos oito passa de 95 por cento de probabilidade de efeito positivo. A tabela bruta tinha três segmentos com valor-p abaixo de 0,16 e um abaixo de 0,05. Depois do modelo, existe uma leitura defensável e sete indefinidas.

A reversão de ranking

Aqui está o resultado que muda decisão. Ordenando os oito segmentos pela leitura bruta e depois pelo modelo completo:

Ranking dos segmentos pela leitura bruta e pelo modelo hierárquico completoDuas colunas ligadas por linhas. Na coluna da esquerda, ordenada pela leitura bruta, o primeiro lugar é Mobile e-mail e o terceiro é Desktop busca orgânica. Na coluna da direita, ordenada pelo modelo completo, Desktop busca orgânica assume o primeiro lugar, Mobile e-mail cai para segundo e Desktop e-mail cai de segundo para terceiro. As últimas cinco posições não mudam de ordem.pela leitura brutapelo modelo completo1. Mobile / e-mail2. Desktop / e-mail3. Desktop / busca orgânica4. Desktop / busca paga5. Desktop / direto6. Mobile / direto7. Mobile / busca orgânica8. Mobile / busca paga1. Desktop / busca orgânica2. Mobile / e-mail3. Desktop / e-mail4. Desktop / busca paga5. Desktop / direto6. Mobile / direto7. Mobile / busca orgânica8. Mobile / busca pagasó as três primeiras posições trocam, e são justamente as três que alguém usaria para decidir onde investir.
A troca acontece no topo, onde a decisão é tomada. Segmentos de amostra pequena sobem no ranking bruto e descem no ranking do modelo.

Desktop / busca orgânica tinha leitura bruta MENOR que dois outros segmentos e assume a liderança porque tem 14.200 visitantes por variação contra 2.100 e 4.300. É a mesma lógica de Gelman, Hill e Yajima em “Why we (usually) don’t have to worry about multiple comparisons”: em vez de manter os centros dos intervalos parados e alargá-los para corrigir comparações múltiplas, o modelo multinível desloca os centros uns na direção dos outros.

Exemplo trabalhado: o campeão sozinho na calculadora

Vale pegar o segmento campeão e olhar ele de perto, com a mesma calculadora da abertura. Os números dele: 2.100 visitantes e 121 conversões no controle, 2.120 visitantes e 148 conversões na variação.

Isso devolve 5,762 por cento contra 6,981 por cento, ganho relativo de 21,16 por cento, valor-p de 0,105013 e intervalo de confiança de menos 0,254 a mais 2,692 ponto percentual. O intervalo dele tem 2,95 pontos percentuais de largura, o que é dez vezes a largura do intervalo do agregado (0,49 ponto). Esse é o campeão: um número enorme dentro de um intervalo que vai de “piora um pouco” a “melhora quatro vezes mais que o agregado”.

Não é preciso nenhum modelo hierárquico para desconfiar dele. Basta ler o intervalo. O que o modelo acrescenta é o SUBSTITUTO: em vez de “não sabemos”, ele entrega mais 0,392 ponto percentual com erro de 0,362, que é uma estimativa utilizável.

Quanto tráfego um segmento precisaria

A pergunta natural do time é quanto faltaria para ler esses segmentos de verdade. A calculadora de amostra responde:

Calculadora de tamanho de amostra
-Visitantes por variação
-Total (2 variações)
-Duração estimada

Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.

Com base de 4 por cento e um efeito real de mais 0,30 ponto percentual (que é a ordem de grandeza do que o modelo estima), o requisito é 69.379 visitantes por variação, a 95 por cento de confiança e 80 por cento de poder. A 30.000 visitantes por semana no site inteiro, e com o segmento sendo uma fração disso, esse número não chega: 33 dias apenas para o segmento, se ele fosse o site todo.

O outro lado da mesma conta, e o mais útil de colar no relatório:

segmento amostra por variação efeito mínimo detectável
Desktop / busca orgânica 14.200 +13,78% relativo
Mobile / e-mail 2.100 +34,97% relativo
agregado do teste 60.000 +7,21% relativo

O segmento de e-mail mobile só consegue detectar efeitos acima de mais 34,97 por cento relativo. Ele leu mais 21,16 por cento. Um segmento que não tem poder para detectar o efeito que reportou está reportando ruído, e a leitura dele só existe porque alguém foi olhar. É o mesmo mecanismo da maldição do vencedor e do erro de magnitude que Gelman e Carlin chamam de razão de exagero.

Quanto o agrupamento parcial ganha, de fato

Falta a pergunta honesta: o agrupamento parcial é sempre melhor? Rodamos uma simulação para este guia, com 20.000 repetições, usando exatamente os oito erros padrão da tabela acima, efeito médio verdadeiro de 0,25 ponto percentual e variando o desvio real entre segmentos. A métrica é a raiz do erro quadrático médio contra os efeitos verdadeiros, em pontos percentuais (menor é melhor):

desvio real entre segmentos sem agrupamento agrupamento total agrupamento parcial
0,00 pp 0,4734 0,1206 0,1402
0,10 pp 0,4739 0,1556 0,1698
0,25 pp 0,4746 0,2705 0,2554
0,60 pp 0,4748 0,5899 0,3843
1,20 pp 0,4724 1,1654 0,4461

Três leituras saem daí:

Essa última linha é o argumento prático do método: você não sabe qual é o tau verdadeiro (o intervalo dele cobre de 0 a 0,60 nos seus próprios dados), então escolher o estimador que se comporta bem em toda a faixa é a decisão defensável.

Como rodar um modelo hierárquico na prática

  1. Defina os segmentos ANTES do teste, no plano de análise pré-registrado. Segmento escolhido depois de ver o resultado não é salvo por nenhum modelo.
  2. Exporte diferença e erro padrão por segmento, não só a taxa. O modelo precisa dos dois.
  3. Estime tau por verossimilhança, não por olho. E olhe a curva inteira, não só o máximo.
  4. Reporte o intervalo de tau junto. Se ele cobre zero, diga isso no relatório: significa que o teste não estabeleceu heterogeneidade nenhuma.
  5. Integre a incerteza de tau em vez de fixá-la, ou aceite que seus intervalos por segmento são de 30 a 57 por cento mais estreitos do que deveriam.
  6. Use prior meio-normal ou meio-t na escala de tau quando houver poucos segmentos, e declare a escala escolhida. Com 8 grupos, essa escolha aparece no resultado.
  7. Decida pelo ranking do modelo, nunca pelo ranking bruto. Foi só no topo que a ordem mudou, e o topo é o que vai virar investimento.

Erros comuns

Faça isso automático na Donnu

Esse cálculo esbarra sempre no mesmo lugar: para estimar tau é preciso ter a diferença E o erro padrão de cada segmento declarado antes do teste, guardados juntos. Painel que exporta só taxa de conversão por segmento não permite montar o modelo, e reconstruir isso depois, na mão, é onde o time desiste.

A Donnu registra a configuração do experimento no momento em que ele é criado, incluindo os segmentos declarados e a métrica primária, e mantém o histórico por experimento. Isso deixa a leitura por segmento disponível com a amostra e a variância de cada um, que é exatamente o insumo do agrupamento parcial.

E fica a recomendação mais prática deste guia: antes de aprovar qualquer decisão baseada num segmento, calcule o efeito mínimo detectável daquele segmento com a amostra que ele teve. Se o efeito reportado é menor que o mínimo detectável, a leitura é ruído e nenhum modelo vai salvá-la. A calculadora de tamanho de amostra resolve isso em dez segundos.

Referências

Leia também: Encolhimento bayesiano · Efeito heterogêneo por segmento · Maldição do vencedor · Meta-análise de testes A/B · Muitas métricas num teste · Calculadora de significância · Read in English

Perguntas frequentes

O que é um modelo hierárquico num teste A/B?
É um modelo que trata os efeitos dos segmentos como vindos de uma mesma distribuição, com um efeito médio e um desvio entre segmentos. Em vez de supor que todos os segmentos têm o mesmo efeito, ou que cada um tem o seu próprio efeito independente, ele estima quanta variação real existe entre eles a partir dos próprios dados e usa esse número para decidir o quanto confiar na leitura de cada segmento.
Qual a diferença entre modelo hierárquico e encolhimento por momentos?
O encolhimento por momentos estima o desvio entre segmentos por uma fórmula fechada e depois trata esse valor como se fosse conhecido. O modelo hierárquico completo estima o mesmo desvio por verossimilhança e depois integra a incerteza que sobra sobre ele. No exemplo deste guia, os dois caminhos dão desvios parecidos, 0,2420 ponto percentual contra 0,2780, mas o intervalo do plug-in fica de 23 a 57 por cento mais estreito do que o do modelo completo, ou seja, o plug-in parece mais preciso do que é.
Por que o desvio entre segmentos costuma ser mal estimado?
Porque o número de segmentos é pequeno. No exemplo deste guia, com 8 segmentos, a estimativa de máxima verossimilhança do desvio é 0,2420 ponto percentual, mas o intervalo de 95 por cento por verossimilhança perfilada vai de 0,0000 a 0,6000 ponto. Ou seja, os dados não descartam nem heterogeneidade nenhuma nem heterogeneidade grande. Andrew Gelman mostra que, com poucos grupos, a escolha do prior para esse desvio deixa de ser inócua.
O modelo hierárquico pode mudar qual segmento é o melhor?
Pode, e mudou no exemplo deste guia. O segmento com a maior leitura bruta é Mobile e-mail, com mais 1,219 ponto percentual e mais 21,16 por cento relativo. Depois do modelo completo, ele cai para mais 0,392 ponto e perde a liderança para Desktop busca orgânica, que tinha leitura bruta menor e amostra 6,8 vezes maior. A troca de ranking acontece porque o modelo desconta cada leitura pela precisão dela.
Quantos visitantes um segmento precisa para ser lido sozinho?
Muito mais do que a intuição sugere. No exemplo deste guia, o segmento Mobile e-mail tem 2.100 visitantes por variação e uma base de 5,762 por cento, o que dá um efeito mínimo detectável de mais 34,97 por cento relativo. Para ler com poder de 80 por cento um efeito de mais 0,30 ponto percentual sobre uma base de 4 por cento, seriam necessários 69.379 visitantes por variação, ou 33 dias a 30.000 visitantes por semana.
Agrupamento parcial é sempre melhor que agrupamento total?
Não em todos os cenários, e vale dizer isso com honestidade. Numa simulação de 20.000 repetições feita para este guia, com desvio real entre segmentos de zero, o agrupamento total ganha, com erro quadrático médio de 0,1206 contra 0,1402 ponto percentual do parcial. Com desvio real de 0,60 ponto, a ordem se inverte de forma brutal: 0,5899 do total contra 0,3843 do parcial. O agrupamento parcial nunca é o pior dos três em nenhum cenário testado, e é isso que o recomenda.