Viés de Instrumentação: quando a medição é o bug
Quando a variação muda a forma como o dado é coletado, o teste A/B mede o instrumento. Como reconhecer, isolar e corrigir esse viés.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Um teste A/B compara duas experiências, mas ele só enxerga o que a telemetria conseguiu registrar. Quando a variação muda a forma como o dado é coletado, e não apenas o que o usuário fez, o experimento passa a medir o instrumento. O resultado é uma diferença perfeitamente significativa, com valor-p pequeno e intervalo estreito, correspondendo a um efeito real de zero. Este guia cobre por que o viés de instrumentação passa por todas as checagens estatísticas, um exemplo trabalhado em que uma melhora aparente de 4,26 por cento vem inteiramente de perda de sinal, os quatro modos de falha que aparecem na prática, e o desenho de quatro braços que separa o efeito da medição. Faz parte do nosso guia completo de teste A/B e conversa com erros comuns em teste A/B.
A medição não é neutra
Existe uma suposição escondida em todo painel de experimento: a de que o cano que leva o comportamento até o número é o mesmo nos dois braços. Quase sempre é. Quando não é, nada no aparato estatístico avisa.
O motivo é simples. O valor-p mede quão improváveis são os dados observados sob a hipótese nula, dado que os dados medem o que você acha que medem. Ele não carrega informação nenhuma sobre a validade da medição. Um defeito de telemetria que infla o tratamento produz um valor-p pequeno com total confiança, e um intervalo de confiança estreito em torno de um número que não descreve o mundo.
Exemplo trabalhado: mais 4,26 por cento de nada
Um time testa abrir um link de destino numa janela nova. A taxa de clique verdadeira é 12,000 por cento nos dois braços, porque a mudança não afeta a decisão de clicar, só o que acontece depois do clique. São 60.000 usuários por variação.
O clique é registrado por um pedido assíncrono de uma imagem de 1 por 1 pixel, o mecanismo padrão da indústria e conhecidamente sujeito a perdas: quando a navegação sai da página antes de o pedido completar, o evento simplesmente não chega. No controle, a navegação no lugar mata 6 por cento dos sinais. No tratamento, a janela nova mantém a página original viva e a perda cai para 2 por cento.
Cole os números na calculadora:
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.
| O que o banco registrou | Usuários | Cliques medidos | Taxa medida |
|---|---|---|---|
| A, controle, perde 6 por cento | 60.000 | 6.768 | 11,280 por cento |
| B, janela nova, perde 2 por cento | 60.000 | 7.056 | 11,760 por cento |
A calculadora devolve mais 0,480 ponto percentual, mais 4,26 por cento relativo, z = 2,604, valor-p 0,00921, com intervalo de 95 por cento de mais 0,119 a mais 0,841 ponto percentual. Significativo a 99 por cento de confiança.
E a verdade era esta:
| O que de fato aconteceu | Usuários | Cliques reais | Taxa real |
|---|---|---|---|
| A, controle | 60.000 | 7.200 | 12,000 por cento |
| B, janela nova | 60.000 | 7.200 | 12,000 por cento |
A calculadora devolve mais 0,000 ponto percentual, valor-p 1,00000, com intervalo de menos 0,368 a mais 0,368 ponto percentual. Efeito verdadeiro exatamente zero, resultado medido significativo a 99 por cento. Nenhuma quantidade de amostra adicional corrigiria isso: dobrar o teste apenas estreitaria o intervalo em torno dos 4,26 por cento inexistentes.
Este não é um cenário hipotético. Kohavi relata o caso real no artigo de resultados inesperados publicado no SIGKDD Explorations. O sinal de alarme não foi o resultado principal, foi uma métrica que não deveria ter se movido: a porcentagem de usuários que clicavam no link apareceu significativamente maior no tratamento. Como clicar no link é o ponto de gatilho do experimento, e antes desse ponto os dois braços são idênticos, aquela diferença era impossível por construção. O time cortou os dados por navegador, encontrou variação altamente significativa do efeito por família de navegador, e chegou à explicação: abrir o destino numa janela nova melhorou muito a confiabilidade do sinal em navegadores fora do Internet Explorer. Depois da correção o recurso continuou positivo, mas bem menos do que o resultado inicial afirmava.
Os quatro modos de falha
| Modo | O que acontece | Sinal que denuncia |
|---|---|---|
| Perda desigual de sinal | Um braço registra melhor que o outro | Métrica pré-gatilho difere entre braços |
| Robô concentrado | Tráfego automatizado cai sempre na mesma variação | Contagem por usuário com cauda absurda |
| Penalidade assimétrica | Um braço paga redirecionamento, latência ou etapa extra | Tempo de carregamento difere entre braços |
| Exposição mal controlada | Populações diferentes entram em cada braço | Composição por país, navegador ou dispositivo difere |
Os dois últimos merecem detalhe, porque não parecem problemas de medição à primeira vista.
Robôs: quando o ruído vira viés
A intuição comum é que robô sempre contamina experimento. A realidade é mais precisa e mais útil. Crook, Frasca, Kohavi e Longbotham colocam a regra assim no artigo do KDD 2009: em experimentação, a preocupação é remover robôs que causam viés. Se o tráfego de um robô se distribui entre as variações de forma não enviesada, ele adiciona ruído aos dados e reduz o poder do experimento, mas não invalida os resultados. Robôs que aparecem como vários usuários distintos, por resetarem cookies ou rodarem de várias máquinas, também não introduzem viés.
O caso perigoso é o robô que age como um usuário só e gera tráfego de forma consistente para uma única variação. Nas palavras dos autores, se um robô consistentemente atribuído à variação A gera um número excessivo de cliques, ele pode fazer com que A tenha taxa de clique estatisticamente maior que B mesmo que B seja preferida pelos humanos.
A escala disso surpreende. No mesmo artigo, os autores relatam um experimento no portal MSN em que uma mudança pequena e localizada num único módulo produziu diferenças estatisticamente significativas na taxa de clique de várias áreas não relacionadas da página. A causa eram robôs que aceitavam cookies e executavam JavaScript, disparando eventos de clique a cerca de 100 por minuto durante 2,5 horas. São 15.000 cliques vindos de uma origem só. Contra um braço de 60.000 usuários com aproximadamente 7.000 cliques legítimos, isso triplica a métrica.
Os autores acrescentam um detalhe que complica a limpeza: quando um robô roda numa máquina também usada por uma pessoa, os dois compartilham o mesmo cookie. Se a identidade do usuário está guardada em cookie, o que é muito comum, o usuário aparece como se tivesse duas personalidades, agindo como humano em alguns momentos e como robô em outros.
Penalidade assimétrica e exposição
Redirecionamento é o exemplo canônico de penalidade que recai sobre um braço só. Kohavi lista três razões pelas quais a versão com redirecionamento fica atrás: os usuários do tratamento sofrem um redirecionamento extra, que parece rápido em laboratório mas pode custar centenas de milissegundos na vida real, e desacelerações nessa escala têm impacto significativo em métricas; robôs distintos tratam redirecionamentos de formas distintas, o que introduz vieses sutis e faz até testes A/A falharem; e o redirecionamento é assimétrico, porque a página de destino pode ser marcada nos favoritos, passada adiante ou indexada, e na maioria das implementações a página de tratamento não confere se aquele usuário realmente deveria estar ali, o que gera contaminação.
Controle de exposição é o parente próximo. Kohavi relata dois casos: a página inicial americana do MSN redirecionava visitantes de certos países para versões locais, e a nova versão testada ainda não tinha essa checagem implementada, então a população de usuários com endereços fora dos Estados Unidos ficou muito maior no tratamento que no controle. Em outro caso, uma configuração errada no Bing fazia com que todos os usuários da Microsoft vissem sempre o controle. Em nenhum dos dois o problema aparece como erro; ele aparece como resultado.
O desenho de quatro braços que isola a instrumentação
Quando não dá para eliminar a assimetria, dá para medi-la. Kohavi descreve o desenho: rodar A, B, A linha e B linha, em que A linha e B linha passam pelo mesmo redirecionamento ou pelo mesmo caminho de medição.
- A linha contra B linha é a comparação justa do efeito do produto, porque os dois pagaram a mesma penalidade.
- A contra A linha mede exatamente quanto o mecanismo custou nas métricas-chave, já que o conteúdo é idêntico e só o caminho difere.
O custo é tráfego dividido em quatro em vez de dois, o que reduz o poder do desenho e alonga o prazo. Vale quando a decisão é cara e o mecanismo é suspeito, e é uma extensão natural da disciplina de teste A/A e validação de plataforma.
Checklist antes de confiar num resultado
- Métricas pré-gatilho batem? Contagem de usuários expostos, taxa de disparo e qualquer métrica anterior ao ponto da mudança. Diferença aqui é defeito, não achado.
- A divisão de tráfego bate com o planejado? O procedimento de divisão desigual de tráfego pega uma boa parte desses problemas antes de qualquer análise.
- O tempo de carregamento é igual entre os braços? Se um braço é mais lento, parte do efeito é velocidade e não produto.
- A composição da população bate? Corte por país, navegador e dispositivo. Diferença grande de composição aponta para controle de exposição furado.
- O efeito se concentra num navegador ou dispositivo? Efeito de produto costuma ser difuso; efeito de instrumentação costuma se concentrar exatamente onde o mecanismo de captura difere.
- Existe cauda absurda na contagem por usuário? Um usuário com centenas de eventos num período curto é robô ou monitoramento, não cliente.
- Algum sistema automatizado toca esse fluxo? Kohavi relata um caso em que o monitoramento de disponibilidade pedia a página e simulava clique no botão de compra, e com o novo desenho o clique falhava e o sistema tentava de novo várias vezes, derrubando a taxa de clique do tratamento. O sinal foi o número de páginas vistas por usuário significativamente maior no tratamento.
Erros comuns
- Tratar métrica pré-gatilho desbalanceada como curiosidade. É a evidência mais barata que existe de que algo está errado, e ela é ignorada com frequência porque não é a métrica principal.
- Excluir todo robô por precaução. Filtro agressivo de robô também remove humanos e pode introduzir o viés que se queria evitar. O alvo é o robô concentrado num braço, não o volume de robô.
- Comparar velocidade só quando o resultado desagrada. Se o tempo de carregamento entra na análise apenas quando o teste perde, você criou um filtro que só corrige numa direção.
- Confiar em vitória grande sem checar a instrumentação. Quanto maior o resultado, maior a chance de ser defeito. Vitória excepcional pede checagem de medição antes de comemoração, um princípio que vale para métricas de guardrail também.
Faça isso automático na Donnu
Nada disso é difícil de entender. É difícil de lembrar, toda vez, com o resultado bom já na tela e a reunião marcada.
Na Donnu, as checagens que denunciam medição rodam antes de o resultado aparecer, e não depois que alguém desconfia: comparação de métricas pré-gatilho entre os braços, checagem da proporção de tráfego, tempo de carregamento por variação e composição da população por navegador, dispositivo e origem. Quando alguma delas acende, o relatório mostra o alerta acima do resultado principal, porque a ordem em que a informação aparece muda a decisão que é tomada. Se preferir conferir os números na mão, a calculadora de valor-p aceita as contagens brutas de qualquer um dos cortes.
Referências
- Kohavi, R. Unexpected Results in Online Controlled Experiments. SIGKDD Explorations, 12(2), 2010. Fonte do caso do link em nova janela, incluindo a porcentagem de usuários que clicavam aparecendo significativamente maior no tratamento apesar de o clique ser o ponto de gatilho, a variação altamente significativa do efeito por família de navegador, a explicação de que cliques são medidos por imagem de 1 por 1 pixel pedida de forma assíncrona e que o mecanismo é sujeito a perdas, e a conclusão de que o valor do recurso continuou positivo mas menor depois da correção. Também fonte das três razões pelas quais redirecionamento prejudica um braço, da recomendação de mecanismo no servidor e do desenho com braços redirecionados, e dos casos de controle de exposição no MSN e no Bing e do sistema de monitoramento que simulava cliques de compra. kdd.org.
- Crook, T., Frasca, B., Kohavi, R. e Longbotham, R. Seven Pitfalls to Avoid when Running Controlled Experiments on the Web. KDD 2009. Fonte da regra de que robô distribuído de forma não enviesada adiciona ruído e reduz poder sem invalidar resultados enquanto robô consistentemente atribuído a uma variação cria viés significativo, do experimento no portal MSN em que robôs que aceitavam cookies e executavam JavaScript dispararam eventos de clique a cerca de 100 por minuto durante 2,5 horas, e da observação de que robô e humano compartilhando máquina compartilham cookie. exp-platform.com.
- Kohavi, R., Deng, A., Longbotham, R. e Xu, Y. Seven Rules of Thumb for Web Site Experimenters. KDD 2014. Fonte do princípio de que desenhos complexos escondem defeitos, com o caso da checagem de elegibilidade cujo defeito removia do experimento quem já tinha visto o recurso, e da observação de que tempo de carregamento tem impacto significativo em métricas-chave. exp-platform.com.
- Kohavi, R., Tang, D. e Xu, Y. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press, 2020. Capítulos sobre confiabilidade de experimentos, telemetria e diagnóstico de resultados suspeitos. Material complementar em experimentguide.com.
Leia também: Erros comuns em teste A/B · Teste A/A e validação · Divisão desigual de tráfego · Métricas de guardrail · Calculadora de valor-p · Read in English
Perguntas frequentes
- O que é viés de instrumentação em teste A/B?
- É quando a variação altera não o comportamento do usuário, mas a forma como esse comportamento é registrado. O resultado é uma diferença real nos dados e inexistente na realidade. Kohavi descreve um caso exato disso: ao abrir um link numa janela nova, a confiabilidade do sinal de clique melhorou em navegadores fora do Internet Explorer, porque cliques são medidos por um pedido assíncrono de uma imagem de 1 por 1 pixel, mecanismo conhecidamente sujeito a perdas. O recurso continuou positivo depois da correção, mas bem menos do que o número inicial dizia.
- Como diferenciar viés de instrumentação de um efeito real?
- A checagem mais forte é o ponto de gatilho. Antes do ponto em que as variações passam a ser diferentes, os dois braços viram exatamente a mesma coisa, então nenhuma métrica pré-gatilho deveria diferir de forma estatisticamente significativa. Quando difere, aquilo é impossível por construção e a causa é medição, não comportamento. Foi assim que o caso do link em nova janela foi descoberto: a porcentagem de usuários que clicavam no link apareceu significativamente maior no tratamento, o que não podia acontecer.
- Robô sempre estraga o resultado do teste?
- Não. Crook, Frasca, Kohavi e Longbotham fazem essa distinção com cuidado no artigo do KDD 2009: se o tráfego de robô se distribui entre as variações de forma não enviesada, ele adiciona ruído e reduz o poder do experimento, mas não invalida o resultado. Robô que reseta cookie ou roda de várias máquinas aparece como vários usuários distintos e também não gera viés. O caso perigoso é o robô que age como um usuário só e gera tráfego de forma consistente para uma única variação, porque aí ele pode tornar aquela variação estatisticamente melhor sem que nenhum humano tenha preferido nada.
- Por que redirecionamento é um problema em teste A/B?
- Porque ele penaliza um braço só. Kohavi lista três razões: os usuários do tratamento sofrem um redirecionamento extra que pode custar centenas de milissegundos, robôs diferentes tratam redirecionamentos de formas diferentes e introduzem viés sutil, e o redirecionamento é assimétrico, já que a página de destino pode ser marcada nos favoritos, compartilhada ou indexada sem que ninguém confira se aquele usuário deveria estar no tratamento. A recomendação é preferir um mecanismo no servidor e, quando não der, garantir que os dois braços paguem a mesma penalidade.
- O que é um teste A/A com braços redirecionados?
- É o desenho que isola a instrumentação do efeito. Você roda quatro braços: A e B normais, mais A linha e B linha que passam pelo mesmo redirecionamento ou pelo mesmo caminho de medição. A comparação entre A linha e B linha é justa, porque os dois pagaram a mesma penalidade, e a diferença entre A e A linha mede exatamente quanto o mecanismo de medição custou nas métricas-chave. Kohavi relata usar esse desenho quando não é possível eliminar o redirecionamento.