Estatística

Intenção de Tratar em Teste A/B: analise por sorteio

Intenção de tratar mede o efeito de quem foi sorteado, não de quem usou. Por que a análise por protocolo exagerou 2,4 vezes e como recuperar o efeito real.

Ilustração plana de uma grade densa de círculos verdes, com um único círculo claro destacado no meio e uma seta fina apontando para ele

Intenção de tratar significa analisar cada usuário no braço em que ele foi sorteado, mesmo que ele nunca tenha aberto o recurso que você lançou. É a única comparação que continua aleatória depois que o teste começa, e por isso é a única que mede causa. Filtrar por quem usou parece mais justo e é o erro mais caro do gênero: no exemplo trabalhado deste guia, essa filtragem devolveu mais 9,5723 pontos percentuais quando o efeito verdadeiro era de 4 pontos. Este guia mostra por que a filtragem quebra o sorteio, como recuperar o efeito em quem de fato usou dividindo pelo tamanho da adesão, e quanto a adesão parcial custa em tamanho de amostra. Faz parte do nosso guia completo de teste A/B e conversa direto com análise por gatilho e diluição e unidade de sorteio.

O que a aleatorização garante, e o que ela deixa de garantir

O sorteio garante uma coisa só, e ela é enorme: no instante em que os usuários são distribuídos entre controle e tratamento, os dois grupos são estatisticamente iguais em tudo, inclusive no que você não mediu e no que nem sabe que existe. Essa igualdade é o que permite atribuir qualquer diferença posterior à mudança que você fez.

A garantia vale para os grupos como foram sorteados, e não sobrevive a nenhum filtro aplicado depois. Assim que você seleciona usuários por algo que aconteceu após o sorteio, você deixa de comparar dois grupos aleatórios e passa a comparar dois grupos escolhidos por comportamento. O nome disso é viés de seleção, e ele não some com mais tráfego: ele é um erro de desenho, não de precisão.

O caso mais comum em produto é a adesão parcial. Você lança um checklist de onboarding, um assistente novo, uma trilha de configuração guiada. O recurso fica disponível para todo mundo no braço de tratamento, e uma parte dos usuários simplesmente não interage com ele. Aí vem a pergunta que parece razoável: “por que comparar contra quem nem viu o recurso? Vamos olhar só quem usou”.

Essa frase destrói o experimento. Quem usa não é uma amostra aleatória de quem foi sorteado: é a parte mais engajada, mais motivada, com mais chance de converter mesmo sem tratamento nenhum. Você compara os melhores do tratamento contra a média do controle e chama a diferença de resultado.

Os quatro tipos de usuário diante do sorteio

A literatura de inferência causal organiza o problema classificando cada usuário pelo que ele faria em cada um dos dois cenários possíveis. Imbens resume a classificação na revisão de 2014, atribuindo a formulação a Imbens e Angrist (1994) e a Angrist, Imbens e Rubin (1996). São quatro tipos:

Os quatro tipos de adesão diante do sorteioMatriz de dois por dois. As linhas indicam o que o usuário faria se fosse sorteado para o controle, usar ou não usar o recurso. As colunas indicam o que ele faria se fosse sorteado para o tratamento. O quadrante superior esquerdo, não usa no controle e não usa no tratamento, é o nunca adere. O quadrante superior direito, não usa no controle e usa no tratamento, é o aderente, o único tipo em que o sorteio muda o comportamento na direção esperada. O quadrante inferior esquerdo, usa no controle e não usa no tratamento, é o contrariante, tipo que a suposição de monotonicidade elimina. O quadrante inferior direito, usa nos dois, é o sempre adere. Uma anotação embaixo registra que num teste de produto em que o recurso simplesmente não existe no controle, os dois quadrantes de baixo ficam vazios por construção.O que o usuário faria em cada cenáriose sorteado para CONTROLEse sorteado para TRATAMENTOnão usariausarianunca aderenão usa nos dois braçosefeito do recurso: zero por construçãoaderentesó usa porque foi sorteadoo único tipo que carrega o sinalcontrariantefaz o contrário do sorteioa monotonicidade supõe que não existesempre adereusa nos dois braçosvazio quando o recurso não existe no controleNum lançamento de produto o controle não tem acesso ao recurso: sobram só os dois quadrantes de cima.
A classificação por tipo de adesão. Você nunca observa o tipo de um usuário individual, porque só vê um dos dois cenários para cada pessoa.

O ponto incômodo dessa tabela é que você nunca sabe de que tipo é um usuário específico. Um usuário do tratamento que não abriu o checklist pode ser um nunca adere ou um contrariante. Um usuário do controle que converteu pode ser aderente ou nunca adere. Como Imbens coloca, os dados não contêm informação nenhuma sobre o que o usuário teria feito no outro braço.

O que se recupera são as proporções agregadas, e é disso que a análise correta vive.

Três contas sobre os mesmos dados, três respostas diferentes

O exemplo canônico da literatura é um experimento de vacinação contra gripe conduzido por McDonald, Hiu e Tierney em 1992, com 2.861 pacientes, reanalisado por Imbens em 2014. Os pesquisadores não sortearam a vacina: sortearam cartas enviadas aos médicos, lembrando da temporada de gripe e incentivando a vacinação dos pacientes. O sorteio é da carta, a adesão é a vacina, o desfecho é internação por causa relacionada à gripe.

É exatamente a estrutura de um teste de produto: você sorteia a exposição ao recurso, não o uso dele.

conta o que ela compara resultado
intenção de tratar 1.472 sorteados para carta (7,8125% internados) contra 1.389 sem carta (9,2873%) menos 1,4748 pp
como tratado 716 vacinados (8,5196%) contra 2.145 não vacinados (8,5315%) menos 0,0119 pp
por protocolo 453 vacinados do braço da carta (6,8433%) contra 1.126 não vacinados do braço sem carta (8,7922%) menos 1,9489 pp
efeito nos aderentes intenção de tratar dividida pela adesão menos 12,4557 pp

Quatro números para o mesmo experimento, variando de praticamente zero a menos 12,5 pontos percentuais. Só o primeiro e o quarto significam alguma coisa, e por motivos diferentes.

A conta “como tratado” diz que a vacina não faz nada. Isso é quase certamente falso, e o motivo é visível: pacientes vacinados sem carta nenhuma tendem a ser pacientes de risco mais alto, que o médico vacinaria de qualquer jeito. Comparar vacinados contra não vacinados compara doentes contra saudáveis.

A conta por protocolo tem o mesmo defeito, atenuado. E o número da intenção de tratar, o único que preserva o sorteio, é honesto e modesto: menos 1,4748 ponto percentual. Colando os quatro números do experimento na calculadora de significância, a diferença sai com z de menos 1,4115, valor-p de 0,158091 e intervalo de 95 por cento indo de menos 3,5265 a mais 0,5770 ponto percentual. Não é significante. Um resultado inconclusivo obtido corretamente vale mais que um resultado forte obtido pela conta errada.

A quarta linha é o assunto da próxima seção.

Exemplo trabalhado: um checklist de onboarding com 35 por cento de adesão

Simulamos um caso de produto para poder comparar cada conta contra a verdade, que num experimento real você nunca conhece. O cenário: um SaaS lança um checklist de onboarding para metade dos novos cadastros. O recurso não existe no controle, então não há sempre adere nem contrariante.

Os parâmetros do mundo simulado, que o analista não vê:

Rodamos o experimento com 20.000 usuários por braço, semente fixa. Os números observados:

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.

Colando na calculadora acima o controle com 20.000 visitantes e 1.692 conversões (8,4600 por cento) contra o tratamento com 20.000 visitantes e 2.035 conversões (10,1750 por cento), o resultado é z de 5,9000, valor-p de 3,647 vezes 10 elevado a menos 9, diferença de 1,7150 ponto percentual, ganho relativo de 20,2719 por cento e intervalo de 95 por cento de 1,1455 a 2,2845 ponto percentual. É o efeito de intenção de tratar, medido no denominador do sorteio.

No braço de tratamento, 7.054 dos 20.000 usuários abriram o checklist, ou seja, 35,2700 por cento de adesão. Agora as contas erradas, sobre os mesmos dados:

conta numerador e denominador resultado contra o verdadeiro (4 pp)
intenção de tratar 2.035/20.000 contra 1.692/20.000 mais 1,7150 pp mede o efeito diluído, correto
por protocolo 1.272/7.054 (18,0323%) contra 1.692/20.000 (8,4600%) mais 9,5723 pp exagero de 2,393 vezes
como tratado 1.272/7.054 contra 763/12.946 (5,8937%) mais 12,1386 pp exagero de 3,03 vezes
efeito nos aderentes 1,7150 dividido por 0,352700 mais 4,8625 pp intervalo contém o verdadeiro

A análise por protocolo devolve um valor-p que a calculadora arredonda para zero e um ganho relativo de 113,15 por cento. É o tipo de número que fecha uma reunião. E ele está errado por um fator de mais de dois, porque 7,4 pontos dos 9,6 medidos já existiam antes do experimento: no braço de controle da mesma simulação, os usuários que seriam aderentes converteram a 13,2710 por cento e os demais a 5,8950 por cento.

De onde vem o exagero da análise por protocoloGráfico de barras horizontais comparando taxas de conversão. A primeira barra mostra o braço de controle inteiro em 8,46 por cento. A segunda mostra, dentro do próprio controle, os usuários que seriam aderentes convertendo a 13,27 por cento sem nenhum tratamento. A terceira mostra os usuários que aderiram no tratamento convertendo a 18,03 por cento. Uma chave sobre a figura separa a diferença total de 9,57 pontos em duas partes: 4,81 pontos que já existiam antes do experimento, porque aderentes convertem mais, e 4,76 pontos que são o efeito real do recurso.A diferença por protocolo mistura seleção com efeitocontrole inteiro8,46%aderentes, no controle13,27% (sem tratamento nenhum)aderentes, no tratamento18,03%diferença por protocolo: 9,57 pontos4,81 pontos: seleção, já existiam antes4,76 pontos: efeito medido do recursoO efeito verdadeiro do recurso nesta simulação é de 4,00 pontos percentuais.
Metade do resultado por protocolo é seleção pura. A parte medida como efeito ainda carrega o ruído amostral desta rodada, que ficou um pouco acima do valor verdadeiro de 4 pontos.

A conta que recupera o efeito de quem usou

Existe uma forma correta de responder “quanto o recurso fez por quem o usou”, e ela não passa por filtrar ninguém. Passa por uma divisão.

O efeito de intenção de tratar é o efeito nos aderentes multiplicado pela fração de aderentes. Quem nunca adere tem efeito zero por construção, então ele não contribui com nada para a diferença entre os braços, só dilui. Invertendo a relação:

efeito nos aderentes = efeito de intenção de tratar dividido pela diferença de adesão entre os braços

Essa razão é o estimador de Wald. Imbens e Angrist (1994) e Angrist, Imbens e Rubin (1996) mostraram que, sob duas suposições que a próxima seção detalha, ela identifica o efeito médio local, também chamado de efeito causal médio nos aderentes.

A cadeia do sorteio até o resultado e a razão que a inverteDiagrama de fluxo em três caixas ligadas por setas. A primeira caixa é o sorteio, a segunda é a adesão ao recurso e a terceira é o resultado de conversão. A seta do sorteio para a adesão está rotulada com a diferença de adesão de 35,27 por cento. A seta da adesão para o resultado está rotulada com o efeito nos aderentes, que é a incógnita. Uma seta curva por cima liga direto o sorteio ao resultado, rotulada com o efeito de intenção de tratar de 1,7150 ponto percentual. Uma anotação embaixo mostra a divisão de 1,7150 por 0,3527 resultando em 4,8625 pontos, e uma seta tracejada cortada indica que o caminho direto do sorteio para o resultado, sem passar pela adesão, precisa ser inexistente para a conta valer.O sorteio só toca o resultado passando pela adesãosorteioadesãoconversão35,27 ppincógnitaintenção de tratar: 1,7150 ppcaminho direto precisa não existir (restrição de exclusão)1,7150 dividido por 0,3527 igual a 4,8625 pontos percentuais
A razão de Wald desfaz a diluição. Ela só é interpretável como efeito causal se o sorteio não tocar o resultado por fora da adesão.

No nosso exemplo, 1,7150 dividido por 0,352700 devolve 4,8625 pontos percentuais. O erro-padrão do efeito de intenção de tratar é 0,2906 ponto percentual, e o erro-padrão da razão sai aproximadamente dividindo pelo mesmo denominador, ou seja, 0,8238 ponto. O intervalo de 95 por cento vai de 3,2479 a 6,4771 pontos, e contém o valor verdadeiro de 4,00 pontos.

Repare no preço embutido: o intervalo do efeito nos aderentes é quase três vezes mais largo que o da intenção de tratar, exatamente porque foi dividido por 0,35. Recuperar o efeito de quem usou não é de graça, é uma amplificação da incerteza junto com a amplificação do sinal.

Para confirmar que não foi sorte da semente, rodamos 4.000 réplicas do mesmo desenho:

verificação resultado esperado
efeito nos aderentes, média das 4.000 réplicas 3,9780 pp 4,00 pp
cobertura do intervalo de 95 por cento 95,03% 95%
efeito por protocolo, média das réplicas 9,1834 pp 4,00 pp
viés da análise por protocolo mais 5,1834 pp zero
poder do teste de intenção de tratar (N de 20.000) 99,72% alto por desenho

A razão de Wald é praticamente não viesada e o intervalo cobre o que promete. A análise por protocolo erra por mais 5,18 pontos percentuais em média, e esse erro não diminui com mais tráfego.

O preço em amostra: a adesão entra quase ao quadrado

A parte que quebra cronograma é o dimensionamento. Se o efeito nos aderentes é de 4 pontos percentuais e só 35 por cento aderem, o efeito visível no braço inteiro é de 1,4 ponto. E como o tamanho de amostra necessário cresce com o inverso do quadrado do efeito, dividir o efeito por três multiplica a amostra por cerca de nove.

Com base de 8,80 por cento, 95 por cento de confiança e 80 por cento de poder:

adesão efeito visível no braço N por variação dias a 40 mil/semana N contra adesão total
5% 0,200 pp 318.189 112 337,1x
10% 0,400 pp 80.352 29 85,1x
20% 0,800 pp 20.489 8 21,7x
35% 1,400 pp 6.885 3 7,3x
50% 2,000 pp 3.468 2 3,7x
75% 3,000 pp 1.611 1 1,7x
100% 4,000 pp 944 1 1,0x
Tamanho de amostra necessário conforme a taxa de adesãoGráfico de barras verticais em escala logarítmica mostrando o número de usuários necessários por variação para detectar o mesmo efeito de 4 pontos percentuais nos aderentes, conforme a adesão cai. Com adesão total são 944 usuários por variação. Com 75 por cento são 1.611. Com 50 por cento são 3.468. Com 35 por cento são 6.885. Com 20 por cento são 20.489. Com 10 por cento são 80.352. Com 5 por cento são 318.189. A curva sobe de forma acelerada conforme a adesão diminui, quase quadruplicando a cada corte pela metade da adesão.Mesmo efeito, mesmo poder, adesões diferentes (escala logarítmica)318.1895%80.35210%20.48920%6.88535%3.46850%1.61175%944100%taxa de adesão ao recurso no braço de tratamento
Usuários por variação para detectar um efeito de 4 pontos percentuais nos aderentes, com base de 8,80 por cento, 95 por cento de confiança e 80 por cento de poder.

A razão entre a linha de 35 por cento e a de adesão total é 7,3 vezes, um pouco abaixo do quadrado puro de 8,2 vezes, porque a variância da proporção também muda conforme o efeito cresce. Na linha de 5 por cento a distância fica maior: 337 vezes contra os 400 vezes que o quadrado puro previria. A regra prática é que a amostra cresce aproximadamente com o inverso do quadrado da adesão, e a aproximação vale melhor quanto menor o efeito.

O erro que essa tabela expõe é frequente e silencioso. O time dimensiona o teste para o efeito que espera em quem usa o recurso, roda com a amostra dessa conta e lê o resultado no braço inteiro. Dimensionando 944 usuários por variação, o poder real vira:

adesão real poder efetivo amostra que daria 80%
20% 8,71% 20.489
35% 17,80% 6.885
50% 30,90% 3.468

Um teste com 17,8 por cento de poder falha em detectar um efeito real em mais de 4 de cada 5 tentativas. O time conclui que o checklist “não funcionou” e mata um recurso que funciona. É o mesmo mecanismo descrito no nosso guia sobre poder observado: o teste nunca teve chance.

Quando a divisão não vale

O estimador de Wald não é mágico. Ele exige duas suposições além da aleatorização.

Restrição de exclusão. O sorteio só pode afetar o resultado passando pela adesão. Imbens descreve essa suposição como a mais crítica e tipicamente mais controversa desse tipo de método. Em produto, ela costuma valer quando o usuário que não adere literalmente não percebe diferença nenhuma. E ela falha em casos concretos e comuns:

Nesses casos a intenção de tratar continua válida como efeito da mudança inteira, que é o que o negócio sente de verdade, mas a divisão deixa de isolar o efeito do recurso.

Monotonicidade. Não pode existir usuário que use o recurso quando não é sorteado para ele e deixe de usar quando é. Em lançamento de produto isso é automático, porque o recurso não existe no controle. Em teste de mensagem, cupom ou incentivo, existem contrariantes de verdade: gente que reage ao empurrão fazendo o oposto.

Um detalhe que ajuda: quando o controle não tem acesso nenhum ao recurso, a diferença de adesão entre os braços é simplesmente a taxa de uso no tratamento, e a fração de aderentes é diretamente observável. Foi o nosso caso. No experimento da vacina, não: 18,9345 por cento dos pacientes se vacinaram mesmo sem carta, então a fração de aderentes é a diferença, 11,84 por cento, e não a taxa bruta de 30,7745 por cento.

Intenção de tratar não é análise por gatilho

Essa confusão é frequente porque as duas coisas se parecem no código: as duas restringem quem entra na conta. A diferença é quando o critério é decidido.

análise por gatilho filtro por adesão
critério chegou ao ponto do fluxo em que os braços diferem usou o recurso
determinado por estado anterior à ação do tratamento escolha do usuário depois do sorteio
afetado pelo tratamento não, quando bem montado sim, por definição
preserva a aleatorização sim não
checagem barata contagem de disparados igual nos dois braços não existe conserto por filtro

A análise por gatilho é legítima e aumenta o poder do teste, porque remove do denominador gente cujo efeito é zero por construção sem olhar para o comportamento pós-tratamento. O filtro por adesão faz o oposto: seleciona pelo comportamento que o tratamento causou. A checagem que separa uma coisa da outra é comparar a contagem de usuários disparados nos dois braços, exatamente como se faz numa verificação de divisão desigual de tráfego. Se o número de “disparados” é diferente entre controle e tratamento, o seu gatilho virou um filtro de adesão disfarçado.

Como montar isso na prática

  1. Registre o sorteio no momento do sorteio, não no momento do uso. Se o seu log só grava usuários que interagiram com o recurso, você perdeu o denominador e não tem como fazer a conta certa depois.
  2. Reporte sempre a intenção de tratar como número principal. É o efeito que o negócio vai sentir, porque o lançamento também terá adesão parcial.
  3. Reporte a adesão como métrica de primeira classe. Ela é metade da explicação de qualquer resultado morno e é acionável: um efeito real com adesão baixa é um problema de descoberta, não de produto.
  4. Só então calcule a razão, e declare que ela vale para os aderentes, não para a base inteira.
  5. Dimensione pelo efeito diluído, usando a adesão esperada, com a calculadora de tamanho de amostra. Se você não tem estimativa de adesão, rode uma semana só para medi-la antes de dimensionar.
  6. Antes de dividir, verifique se o sorteio toca o resultado por fora da adesão. Banner de anúncio, mudança de layout e impacto de desempenho são os três suspeitos de sempre.
  7. Nunca reporte a comparação por protocolo como se fosse causal. Se ela for pedida, apresente junto a diferença de base entre aderentes e não aderentes medida no controle, que é o tamanho do viés.

Erros comuns

Faça isso automático na Donnu

A causa raiz do erro por protocolo quase nunca é estatística, é de instrumentação: a ferramenta registra o usuário no experimento quando ele interage com o recurso, porque é aí que o evento dispara. Nesse modelo de dados, o braço de tratamento passa a conter apenas aderentes, e a comparação por protocolo deixa de ser uma escolha do analista e vira a única conta possível.

A Donnu grava a atribuição no instante do sorteio, separada do evento de uso, o que mantém os dois denominadores disponíveis: o do sorteio, para a intenção de tratar, e o da adesão, para a razão. Se a sua ferramenta atual só registra quem interagiu, o passo imediato é adicionar um evento de exposição no momento da atribuição e, enquanto isso, tratar todo resultado por protocolo como estimativa de teto, nunca como efeito. Para checar se o seu efeito diluído tem amostra suficiente, a calculadora de poder estatístico responde em um minuto.

Referências

Leia também: Análise por gatilho e diluição · Unidade de sorteio · Poder observado · SRM: divisão desigual de tráfego · Métrica primária e OEC · Calculadora de tamanho de amostra · Read in English

Perguntas frequentes

O que é análise por intenção de tratar em teste A/B?
É analisar cada usuário no braço em que ele foi sorteado, mesmo que ele nunca tenha usado o recurso que você lançou. O denominador é a população sorteada inteira, não a população que aderiu. É a única comparação que continua sendo aleatória depois que o experimento começa, e por isso é a única que responde a uma pergunta causal sem suposição adicional. Como Imbens registra na revisão de 2014, o efeito de intenção de tratar se apoia em menos suposições que qualquer alternativa.
Qual a diferença entre intenção de tratar e análise por protocolo?
A intenção de tratar compara os braços inteiros como foram sorteados. A análise por protocolo compara só quem aderiu ao tratamento contra o controle, e essa comparação deixa de ser aleatória porque quem adere é diferente de quem não adere. No exemplo trabalhado deste guia, a análise por protocolo devolveu mais 9,5723 pontos percentuais quando o efeito verdadeiro era de 4 pontos, um exagero de 2,393 vezes, porque os usuários que aderiram já convertiam mais que a média antes de qualquer tratamento.
Como recuperar o efeito em quem realmente usou o recurso?
Dividindo o efeito de intenção de tratar pela diferença de adesão entre os braços. Essa razão é o estimador de Wald, e Imbens e Angrist mostraram em 1994, junto com Angrist, Imbens e Rubin em 1996, que ela identifica o efeito médio nos usuários que aderem por causa do sorteio. No exemplo deste guia, 1,7150 ponto percentual dividido por 35,27 por cento de adesão devolveu 4,8625 pontos, com intervalo de 3,2479 a 6,4771, contendo o valor verdadeiro de 4 pontos.
Quanto a adesão parcial custa em tamanho de amostra?
Muito, porque o efeito visível encolhe proporcionalmente à adesão e o tamanho de amostra cresce aproximadamente com o quadrado dessa redução. Na tabela deste guia, detectar um efeito de 4 pontos percentuais exige 944 usuários por variação com adesão total, 6.885 com adesão de 35 por cento e 318.189 com adesão de 5 por cento. Dimensionar pelo efeito em quem usa, e não pelo efeito diluído no braço inteiro, é o jeito mais comum de rodar um teste sem poder nenhum.
Quando o estimador de Wald não vale?
Quando o sorteio afeta o resultado por algum caminho que não passa pela adesão, o que se chama restrição de exclusão, ou quando existem usuários que fazem o contrário do que foram designados. Imbens descreve a restrição de exclusão como a suposição mais crítica e tipicamente mais controversa por trás desse tipo de método. Em teste A/B de produto ela costuma valer para quem nunca vê o recurso, e costuma falhar quando o próprio anúncio da novidade muda comportamento de quem não a usa.
Intenção de tratar é o mesmo que análise por gatilho?
Não. A análise por gatilho restringe o denominador a quem chegou ao ponto do fluxo em que as variações passam a diferir, um critério que não depende do tratamento e por isso preserva a aleatorização. A adesão é uma escolha do usuário tomada depois do sorteio e afetada pelo tratamento, então filtrar por ela quebra a comparação. As duas coisas parecem iguais no código e são opostas na estatística.