Pular para o conteúdo

Artigo · Experimentação

Teste A/B quebra em rollout de IA: difference-in-differences é a saída

Features de IA lançadas em ondas invalidam a comparação simples de teste A/B. Difference-in-differences estima o efeito real mesmo sem randomização.

Taciana Serafim

· 3 min de leitura

Neste artigo · 5 seções
  1. Por que o teste A/B quebra em rollout de IA
  2. Como difference-in-differences resolve
  3. Minha leitura
  4. Perguntas frequentes sobre difference-in-differences
  5. Fontes

Em resumo: features de IA raramente são lançadas com randomização: saem em ondas, por workspace, junto com outras mudanças e eventos sazonais. Comparar quem recebeu com quem não recebeu mistura o efeito da feature com todo o resto. Difference-in-differences é o método que separa o efeito real nesse cenário.

O artigo do freeCodeCamp dá nome ao problema: a armadilha do calendário de rollout. A feature nova de IA sai para a primeira onda de workspaces na semana 20. Na mesma terça-feira, sai um redesign de onboarding. E a semana 20 coincide com um pico trimestral de engajamento. Comparar os grupos depois disso é medir três coisas ao mesmo tempo e chamar o resultado de efeito da IA.

Por que o teste A/B quebra em rollout de IA

O teste A/B pressupõe que a única diferença entre os grupos é o tratamento, garantida pela randomização. Rollout em ondas não randomiza: a primeira onda é escolhida por critérios como tamanho do cliente, região ou disposição para testar, que já diferenciam os grupos antes de qualquer feature. Some lançamentos simultâneos e sazonalidade, e a comparação simples perde a validade causal.

Como difference-in-differences resolve

Em vez de comparar os grupos em um momento, o difference-in-differences compara a mudança ao longo do tempo em cada grupo. Se tratados e controle evoluíam em paralelo antes do lançamento, a diferença entre as trajetórias depois do lançamento é o efeito estimado da feature. O pressuposto central, tendências paralelas, é testável com os dados anteriores ao rollout.

O artigo traz a implementação completa em Python, do DiD 2×2 simples à regressão com efeitos fixos, e o que fazer quando o pressuposto de paralelismo falha.

Minha leitura

Estamos no momento em que toda empresa lança feature de IA em ondas e precisa defender o resultado para a diretoria. Quem mede com comparação ingênua vai superestimar o efeito e tomar decisão de investimento em cima de número inflado. E o pior: o número inflado é sempre o mais fácil de apresentar. O difference-in-differences não é sofisticação estatística de luxo, é o mínimo para a conversa ser honesta. Se o seu time mede rollout como se fosse teste A/B, este artigo é a correção de rota.

Perguntas frequentes sobre difference-in-differences

O que é difference-in-differences?

Um método de inferência causal que compara a mudança ao longo do tempo entre grupo tratado e controle, em vez de comparar os dois em um único momento. Permite estimar o efeito de uma mudança mesmo sem randomização.

Quando o teste A/B não funciona em lançamentos de IA?

Quando o lançamento é feito em ondas escolhidas por critério, e não por sorteio. Sem randomização, os grupos já diferem antes da feature, e lançamentos simultâneos e sazonalidade contaminam a comparação.

Qual é o pressuposto central do difference-in-differences?

O de tendências paralelas: antes do lançamento, os dois grupos precisam evoluir em trajetórias paralelas. O pressuposto é testável com os dados do período anterior.

Fontes

Why A/B Testing Breaks in AI Rollouts and How Difference-in-Differences Fixes It, freeCodeCamp (em inglês, com código em Python). Traduzido e adaptado pela CRO Brasil.

Artigos relacionados