Regressão Descontínua: medir efeito num limiar
A regressão descontínua compara quem ficou logo acima de um corte com quem ficou logo abaixo. Quando ela vale, quando ela mente, e o teste que decide isso.

📚 Este artigo faz parte do guia Significância Estatística em Teste A/B: O Guia.
Quando um benefício é dado por uma regra de corte, quem ficou logo acima e quem ficou logo abaixo são quase a mesma pessoa, e a diferença entre os dois no limiar é o efeito da regra. Na simulação deste guia, comparar todo mundo acima do corte com todo mundo abaixo devolveu mais 20,0525 pontos com valor-p indistinguível de zero, enquanto a regressão descontínua devolveu 4,55 pontos contra uma verdade de 4,50. Mas o método tem um interruptor de liga e desliga: se as pessoas conseguem escolher de que lado do corte cair, ele para de funcionar, e existe um teste que detecta isso. Este guia mostra a conta, o teste de manipulação, a sensibilidade à largura de banda e o preço em amostra. Faz parte do nosso guia completo de teste A/B e complementa diferenças em diferenças e controle sintético.
O problema: a regra já existe, e o sorteio não
Todo produto tem limiares. Frete grátis acima de um valor, desconto por volume, upgrade automático de plano, selo de vendedor, limite de uso do plano gratuito, faixa de pontuação que libera um benefício, escore interno que dispara uma campanha.
Nenhum deles foi sorteado. E ainda assim cada um deles é uma pergunta legítima: o benefício funciona?
A intuição por trás da regressão descontínua é bonita e simples. Alguém com escore 59,8 e alguém com escore 60,1 são, para todos os efeitos práticos, a mesma pessoa. Mesmo perfil, mesmo histórico, mesma intenção. A única coisa que os separa é que um recebeu o benefício e o outro não, e isso foi decidido por uma regra rígida, não por escolha de ninguém.
Lee e Lemieux formalizam por que isso é mais que uma intuição: quando indivíduos têm controle impreciso sobre a variável de corte, mesmo que alguns tenham mais chance de ficar perto do limiar, todo indivíduo tem aproximadamente a mesma probabilidade de cair logo acima ou logo abaixo do corte, algo semelhante a um experimento de cara ou coroa. Nas palavras deles, a variação do tratamento perto do limiar fica aleatorizada como se viesse de um experimento aleatorizado.
Essa é a promessa. E o resto deste artigo é sobre quando ela se cumpre.
A leitura errada, e a calculadora que a confirma
Simulamos um caso de produto: um selo de suporte prioritário concedido automaticamente a quem tem escore interno de saúde acima de 60, com o escore não exibido em lugar nenhum. Métrica: renovação. Sessenta mil usuários. O efeito verdadeiro plantado no corte foi de 4,50 pontos.
A leitura que qualquer pessoa faria primeiro é comparar quem tem o selo com quem não tem. 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.
| campo | abaixo do corte (A) | acima do corte (B) |
|---|---|---|
| usuários | 37.379 | 22.621 |
| renovações | 7.553 | 9.107 |
| taxa | 20,2065% | 40,2591% |
Ela devolve diferença de mais 20,0525 pontos, lift relativo de mais 99,24 por cento, valor-p que a calculadora mostra apenas como menor que 0,0001, e intervalo de confiança de 95 por cento entre 19,2948 e 20,8102 pontos, exibido arredondado como mais 19,3 a mais 20,8 pontos. A conta por trás disso é z igual a 53,1536.
O selo praticamente dobra a renovação, diz a leitura. E ela erra por 4,46 vezes, porque o efeito verdadeiro no corte é de 4,50 pontos.
O motivo é óbvio quando dito em voz alta: quem tem escore 85 renova mais que quem tem escore 30 por causa do escore, não por causa do selo. A comparação entre os dois lados do corte inteiro mistura duas coisas, o efeito da regra e o efeito de ser um usuário mais saudável, e a segunda domina.
A calculadora está certa. Ela está respondendo “esses dois grupos têm taxas diferentes?”, e eles têm. A pergunta que interessa é outra.
A conta certa: ajustar dos dois lados e ler a distância no corte
A regressão descontínua faz o seguinte:
- pega só quem está dentro de uma janela em volta do corte, digamos escore entre 52 e 68
- ajusta uma reta separadamente de cada lado, dando mais peso a quem está mais perto do limiar
- extrapola cada reta até o corte exato
- o efeito é a distância vertical entre as duas extrapolações no corte
Rodando isso na nossa simulação, com kernel triangular e reta local de cada lado, o resultado por largura de banda:
| largura | usuários à esquerda | à direita | salto estimado | erro-padrão | IC 95% | valor-p |
|---|---|---|---|---|---|---|
| 3 | 4.439 | 4.147 | 2,3167 pp | 2,2072 pp | de menos 2,01 a 6,64 | 0,2939 |
| 5 | 7.435 | 6.739 | 3,7461 pp | 1,7085 pp | de 0,40 a 7,10 | 0,0283 |
| 8 | 11.809 | 10.257 | 4,5482 pp | 1,3636 pp | de 1,88 a 7,22 | 0,0009 |
| 12 | 17.579 | 14.219 | 4,4038 pp | 1,1242 pp | de 2,20 a 6,61 | 0,00009 |
| 20 | 26.924 | 19.336 | 4,5585 pp | 0,8977 pp | de 2,80 a 6,32 | 0,0000004 |
| 35 | 35.512 | 22.621 | 4,7624 pp | 0,7372 pp | de 3,32 a 6,21 | 0,0000000001 |
O efeito verdadeiro é 4,50 pontos, e todas as seis larguras contêm esse valor no intervalo de confiança. Repare no que a tabela ensina de verdade:
- a janela mais estreita não é a mais correta, é a mais imprecisa. Com largura 3, a estimativa saiu em 2,32 com erro-padrão de 2,21 e valor-p de 0,29. Ela não errou, ela não sabe.
- a janela mais larga não é a mais errada. Com largura 35, ela devolveu 4,76 com o menor erro-padrão de todos. Aqui o resultado é bom porque a curvatura real é suave. Numa curva mais torta, a largura grande introduziria viés.
- o padrão de estabilidade é o que sustenta a leitura. De largura 8 a 35, a estimativa oscilou entre 4,40 e 4,76, uma faixa apertada. É isso, não um número único, que se reporta.
Lee e Lemieux recomendam exatamente isso na lista de práticas deles: explorar a sensibilidade dos resultados a uma faixa de larguras de banda e de ordens de polinômio, e reportar uma estimativa “típica” junto de uma faixa de estimativas pontuais. Eles sugerem ainda um recurso gráfico útil, plotar a estimativa local linear contra um contínuo de larguras de banda.
E fica registrada a regra dura: a largura de banda é escolhida antes, ou por um critério mecânico como validação cruzada, ou por uma faixa reportada por inteiro. Escolher a largura que devolve o número desejado é o mesmo pecado de escolher o controle depois do resultado em diferenças em diferenças, e vale a mesma disciplina do plano de análise pré-registrado.
O interruptor: se dá para escolher o lado, acabou
Aqui está o que separa a regressão descontínua de um truque estatístico.
Lee e Lemieux são diretos: a existência de um tratamento que é função descontínua de uma variável de corte não basta para justificar a validade do desenho. E mais: se alguma coisa, regras descontínuas podem gerar incentivos, causando comportamento que invalidaria a abordagem. O exemplo deles é acadêmico, alunos “escolhendo” a nota por esforço, mas o exemplo de produto é ainda mais gritante.
Frete grátis acima de R$ 199. O limiar está estampado na tela. Quem chega em R$ 186 vê o aviso e adiciona um item de R$ 20. Não existe “quase o mesmo cliente” dos dois lados do corte: quem está em R$ 195 é quem não quis, não conseguiu ou não viu, e quem está em R$ 201 inclui um monte de gente que fez força para chegar lá. São populações diferentes por construção.
O teste que detecta isso não olha para o resultado, olha para a distribuição da própria variável de corte. Se ninguém consegue controlar o lado, a densidade atravessa o limiar sem degrau. Se as pessoas empurram, aparece um empilhamento.
Simulamos os dois casos com 60.000 observações cada. No cenário do frete grátis, 35 por cento de quem estava entre R$ 179 e R$ 199 completou a cesta para passar do limiar, o que corresponde a 3.554 cestas, ou 5,92 por cento da base.
| cenário | densidade à esquerda | densidade à direita | razão | z | valor-p | veredito |
|---|---|---|---|---|---|---|
| escore interno de saúde, não exibido | 0,024589 | 0,023671 | 0,9627 | menos 1,334 | 0,1823 | passa |
| frete grátis a partir de R$ 199, visível | 0,005052 | 0,015881 | 3,1438 | 22,367 | indistinguível de zero | reprova |
Três vezes mais cestas logo acima do limiar do que logo abaixo. Não é sutil, e não precisa de sofisticação para ser visto: um histograma do valor de carrinho com faixas de R$ 1 mostra isso a olho nu. Lee e Lemieux recomendam exatamente esse gráfico como primeiro item da lista de checagens, apresentar a distribuição da variável de corte num histograma de faixas fixas e o mais estreitas possível, e recomendam contra plotar uma curva suavizada de densidade no lugar dele, porque o degrau some na suavização. O teste formal de descontinuidade na densidade que eles citam é o de McCrary.
E o estrago no resultado é exatamente o esperado. Rodando a regressão descontínua no cenário do frete grátis, onde o salto verdadeiro plantado era de 3,00 pontos:
| largura | salto estimado | erro-padrão | valor-p |
|---|---|---|---|
| 3 | menos 4,0818 pp | 4,1530 pp | 0,3257 |
| 5 | menos 0,1356 pp | 3,1884 pp | 0,9661 |
| 8 | 2,5539 pp | 2,5491 pp | 0,3164 |
| 12 | 4,3948 pp | 2,0772 pp | 0,0344 |
| 20 | 4,7443 pp | 1,6111 pp | 0,0032 |
O sinal muda com a largura de banda. De menos 4,08 a mais 4,74, atravessando o zero, e com o resultado só ficando “significativo” nas larguras grandes, que são justamente as que diluem o empilhamento. Um analista que rodasse só a largura 20 publicaria 4,74 pontos com valor-p de 0,0032 e estaria errado por 58 por cento.
O teste de placebo: cortes falsos
A segunda checagem obrigatória é rodar a mesma leitura em cortes que não existem. Se o método acha salto em escore 55, onde não há regra nenhuma, ele acha salto em qualquer lugar.
No nosso cenário do limiar invisível, com largura 8:
| corte testado | salto estimado | erro-padrão | valor-p |
|---|---|---|---|
| 50 (falso) | menos 1,2329 pp | 1,2306 pp | 0,3164 |
| 55 (falso) | menos 1,3404 pp | 1,2690 pp | 0,2908 |
| 60 (real) | 4,5482 pp | 1,3636 pp | 0,0009 |
| 65 (falso) | menos 2,0900 pp | 1,5089 pp | 0,1660 |
| 70 (falso) | menos 1,8553 pp | 1,7302 pp | 0,2836 |
Quatro cortes falsos, quatro nulos. Um corte real, um efeito. É esse contraste que transforma um número numa evidência.
Lee e Lemieux acrescentam duas checagens irmãs na lista deles, e as duas valem cinco minutos: rodar uma análise de regressão descontínua paralela nas covariáveis de base, porque se a premissa de não manipulação vale não deve haver descontinuidade em variáveis determinadas antes da atribuição; e explorar a sensibilidade dos resultados à inclusão dessas covariáveis, porque a inclusão delas não deveria mudar o salto estimado, por mais correlacionadas com o resultado que sejam. Se mudar de forma importante, isso pode indicar ordenação da variável de corte.
O preço: a regressão descontínua custa muito mais amostra
Este é o ponto que quase nunca aparece, e que decide se o método vale a pena.
A regressão descontínua só usa quem está dentro da janela, e ela mede o efeito apenas no corte. Na nossa simulação:
| leitura | usuários usados | o que se mede |
|---|---|---|
| base total disponível | 60.000 | nada, sem desenho |
| janela de largura 5 | 14.174 (23,62%) | efeito no escore 60 |
| janela de largura 8 | 22.066 (36,78%) | efeito no escore 60 |
| teste sorteado com o mesmo efeito | 3.386 no total | efeito na população sorteada |
Com base de 30 por cento e um efeito de 4,5 pontos absolutos, a 95 por cento de confiança e 80 por cento de poder, a calculadora de tamanho de amostra pede 1.693 por variação, 3.386 no total. A regressão descontínua com largura 8 consumiu 22.066 usuários para responder a mesma pergunta, ou seja cerca de 6,5 vezes mais.
E a resposta que ela dá é mais estreita. O que se estima é o efeito para quem está bem perto do corte. Se o selo de suporte prioritário ajuda muito quem tem escore 30, isso não aparece: aquela região não entrou na janela, e o desenho não tem nada a dizer sobre ela.
Lee e Lemieux registram a razão estrutural disso: a estimativa depende de dados longe do corte, e por isso ela depende da forma funcional escolhida. Thistlethwaite e Campbell, na primeira aplicação do desenho, já apontavam que ele é fundamentalmente uma abordagem de extrapolação.
Ou seja, o quadro completo é: mais amostra, resposta mais local, e dependência de escolhas de ajuste. É um bom método quando não existe alternativa. Não é uma alternativa quando existe sorteio.
Roteiro de regressão descontínua em oito passos
- Escreva a regra exata. Qual variável, qual corte, quem aplica, desde quando. Se a regra mudou de valor no meio do período, você tem dois desenhos, não um.
- Pergunte se a pessoa vê o limiar. Se vê, o desenho provavelmente está morto antes de começar. Frete grátis, meta de desconto e barra de progresso são casos de morte quase certa.
- Plote o histograma da variável de corte com faixas estreitas e fixas. Antes de estimar qualquer salto. Isso custa cinco minutos e cancela metade dos projetos.
- Rode o teste formal de descontinuidade na densidade. Se ele reprova, pare. Não existe conserto estatístico para manipulação do lado do corte.
- Rode a leitura em várias larguras de banda e publique a faixa inteira, com intervalos de confiança.
- Rode cortes falsos e covariáveis de base. Salto onde não pode haver salto derruba o desenho.
- Diga quantos usuários entraram na janela e qual fração da base isso é. “4,55 pontos sobre 22.066 dos 60.000 usuários, dentro de 8 pontos do corte” é uma frase completa.
- Diga que o efeito é local. O número vale perto do corte, e não é o efeito de estender o benefício a todo mundo.
Erros comuns
- Comparar quem está acima com quem está abaixo do corte inteiro. É o erro central. Na nossa simulação ele exagerou o efeito em 4,46 vezes, com valor-p indistinguível de zero.
- Usar limiar que a pessoa enxerga. Frete grátis, faixa de desconto, meta de pontos. O teste de densidade reprova, e o resultado troca de sinal com a largura de banda.
- Escolher a largura de banda depois de ver os resultados. Com seis larguras disponíveis, uma delas conta a história que você queria. No cenário manipulado, largura 20 devolveu 4,74 pontos com valor-p de 0,0032 e estava errada.
- Ler a estimativa da janela mais estreita como a mais confiável. Com largura 3 a estimativa saiu em 2,32 com valor-p de 0,29. Ela não é mais pura, ela é mais cega.
- Extrapolar o efeito para longe do corte. É o erro de interpretação mais comum, e ele é próximo do de generalizar um resultado de subgrupo, como em efeito heterogêneo por segmento.
- Esquecer que a regra pode ter mudado. Um corte que era 50 no ano passado e virou 60 mistura dois desenhos e produz um salto onde não há efeito nenhum.
- Confundir com um teste sorteado na hora de dimensionar. A janela é uma fração da base. Dimensione pela janela, não pelo total, e compare com o que a calculadora de tamanho de amostra pediria para o teste sorteado equivalente.
- Aplicar quando o corte é fuzzy sem tratar isso. Se atravessar o limiar só aumenta a CHANCE de receber o benefício em vez de garanti-lo, o salto na métrica precisa ser dividido pelo salto na taxa de recebimento, uma lógica próxima da de intenção de tratar.
Faça isso automático na Donnu
A regressão descontínua exige uma coisa que a maioria dos sistemas não guarda: o valor da variável de corte no momento em que a regra foi aplicada. Painel que guarda o escore de hoje, e não o escore que valia quando o selo foi concedido, não permite a leitura, porque o escore andou desde então e a janela em volta do corte deixa de ser a janela certa.
A Donnu guarda o valor que decidiu a atribuição junto do resultado, com carimbo de tempo, o que preserva a possibilidade de ler um limiar depois. Mas o conselho mais valioso deste artigo é anterior a isso: se a regra ainda vai ser criada, sorteie. Conceder o benefício por sorteio para uma fatia dos usuários perto da faixa relevante responde a mesma pergunta com cerca de um sexto da amostra e sem premissa nenhuma sobre manipulação. Rode a conta na calculadora de tamanho de amostra antes de decidir, e feche a leitura na calculadora de significância.
Referências
- Lee, D. S. e Lemieux, T. Regression Discontinuity Designs in Economics. Journal of Economic Literature 48(2), 2010. Fonte de que o desenho foi introduzido por Thistlethwaite e Campbell em 1960 para estimar efeitos de tratamento fora de um cenário experimental, quando o tratamento é determinado por uma variável de atribuição cruzar um corte conhecido; de que a existência de um tratamento definido por uma função descontínua da variável de atribuição não basta para justificar a validade do desenho, e de que regras descontínuas podem gerar incentivos e provocar comportamento que invalidaria a abordagem; de que, quando indivíduos têm controle impreciso sobre a variável de atribuição, todo indivíduo tem aproximadamente a mesma probabilidade de cair logo acima ou logo abaixo do corte, algo semelhante a um experimento de cara ou coroa, deixando a variação perto do limiar aleatorizada como se viesse de um experimento aleatorizado; da recomendação de apresentar a distribuição da variável de atribuição num histograma de faixas fixas e o mais estreitas possível, e contra plotar uma curva suavizada de estimativas de densidade no lugar, com o teste formal de descontinuidade na densidade atribuído a McCrary (2008); da recomendação de explorar a sensibilidade dos resultados a uma faixa de larguras de banda e de ordens de polinômio, reportando uma estimativa típica junto de uma faixa de estimativas pontuais, e de plotar a estimativa local linear contra um contínuo de larguras; da recomendação de rodar uma análise paralela nas covariáveis de base, que não devem apresentar descontinuidade se não houver manipulação, e de checar a sensibilidade à inclusão dessas covariáveis, cuja inclusão não deveria alterar o salto estimado por mais correlacionadas que sejam com o resultado; e de que a estimativa depende de dados longe do corte e portanto da forma funcional escolhida, com a observação de que a primeira aplicação do desenho, de Thistlethwaite e Campbell, já apontava tratar-se fundamentalmente de uma abordagem de extrapolação. princeton.edu.
- Bertrand, M., Duflo, E. e Mullainathan, S. How Much Should We Trust Differences-in-Differences Estimates? NBER Working Paper 8841, 2002. Fonte do princípio de inferência por aleatorização, que usa a distribuição empírica dos efeitos estimados para intervenções fictícias como distribuição de referência, e que é a mesma lógica dos cortes falsos usados aqui como teste de placebo. nber.org.
- Abadie, A., Diamond, A. e Hainmueller, J. Synthetic Control Methods for Comparative Case Studies: Estimating the Effect of California’s Tobacco Control Program. Journal of the American Statistical Association 105(490), 2010. Fonte do princípio de que um método de comparação sem sorteio deve declarar antes o critério de validação e não deve ser usado quando esse critério não é atingido, o análogo, no controle sintético, do teste de densidade usado aqui. law.upenn.edu.
- Blake, T., Nosko, C. e Tadelis, S. Consumer Heterogeneity and Paid Search Effectiveness: A Large Scale Field Experiment. NBER Working Paper 20171, 2014. Fonte do contraste de magnitude entre uma leitura sem sorteio e uma leitura sorteada sobre o mesmo fenômeno: retorno sobre investimento acima de 4.100 por cento por mínimos quadrados comuns contra menos 63 por cento pela variação experimental, com intervalo de confiança de 95 por cento entre menos 124 e menos 3 por cento. nber.org.
Leia também: Diferenças em diferenças · Controle sintético · Intenção de tratar · Efeito heterogêneo por segmento · Plano de análise pré-registrado · Calculadora de tamanho de amostra · Read in English
Perguntas frequentes
- O que é regressão descontínua?
- É uma leitura para o caso em que um benefício é concedido por uma REGRA de corte sobre uma variável contínua, por exemplo um selo dado a quem tem escore acima de 60. Ela compara quem ficou logo acima do corte com quem ficou logo abaixo, estimando o salto exatamente no limiar. Foi introduzida por Thistlethwaite e Campbell em 1960.
- Por que não basta comparar quem está acima com quem está abaixo do corte?
- Porque o resultado normalmente cresce com a própria variável de corte, então a diferença total mistura o efeito da regra com o efeito de ter escore maior. Na simulação deste guia, essa comparação devolveu mais 20,0525 pontos com valor-p indistinguível de zero, quando o efeito verdadeiro no corte era de 4,50 pontos. Ela exagerou por 4,46 vezes.
- Quando a regressão descontínua NÃO vale?
- Quando as pessoas conseguem controlar com precisão de que lado do corte elas caem. Lee e Lemieux registram que a existência de um tratamento definido por uma regra descontínua não basta para validar o desenho, e que regras descontínuas podem criar incentivos e provocar comportamento que invalida a leitura. Limiar de frete grátis é o caso clássico de invalidação.
- Como se testa se as pessoas manipularam o corte?
- Olhando a distribuição da própria variável de corte perto do limiar, com um teste formal de descontinuidade na densidade. Na simulação deste guia, no limiar invisível a densidade à direita ficou em 0,9627 da densidade à esquerda, com valor-p de 0,1823, e no limiar visível de frete grátis ela ficou em 3,1438 vezes, com valor-p indistinguível de zero.
- Como se escolhe a largura de banda?
- Não se escolhe uma só: reporta-se um intervalo. Lee e Lemieux recomendam explorar a sensibilidade do resultado a uma faixa de larguras e de ordens polinomiais, e reportar uma estimativa típica junto de uma faixa de estimativas. Na simulação deste guia, o salto estimado ficou entre 2,32 e 4,76 pontos conforme a largura, contra uma verdade de 4,50.
- Regressão descontínua substitui um teste A/B?
- Não. Ela mede o efeito apenas PERTO do corte, e usa apenas quem está dentro da janela. Na simulação deste guia, a janela de 8 pontos usou 22.066 dos 60.000 usuários, enquanto um teste sorteado detectaria o mesmo efeito com 3.386 usuários no total, cerca de 6,5 vezes menos.