Estatística

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.

Ilustração plana de uma nuvem de pontos cortada por uma linha vertical, com o nível dos pontos saltando visivelmente de um lado para o outro do corte

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:

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.

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 diferença total entre os dois lados do corte contra o salto no limiarGráfico com o escore no eixo horizontal, de 30 a 90, e a taxa de renovação no eixo vertical. Uma curva ascendente mostra que a renovação cresce continuamente com o escore, dos dois lados do corte. Uma linha vertical marca o corte em 60. No corte, a curva salta verticalmente 4,50 pontos, que é o efeito verdadeiro do selo. Duas linhas horizontais tracejadas marcam as médias de cada lado inteiro, 20,2065 por cento abaixo e 40,2591 por cento acima, separadas por 20,0525 pontos. Uma anotação registra que essa distância de 20 pontos mistura o efeito do selo com o efeito de ter escore maior, e que apenas o salto vertical exatamente no corte isola o efeito do selo.A renovação já subia com o escore. Só o salto NO corte é efeito do selo.corte: escore 60média de todo o lado esquerdo: 20,2065%média de todo o lado direito: 40,2591%+4,50 pp: o efeito do selo+20,05 ppescore 306090Os 20,05 pontos entre as duas médias misturam o selo com o efeito de ter escore maior.A regressão descontínua lê só o salto vertical, extrapolando cada lado até o corte.Na simulação, a leitura ingênua exagerou por 4,46 vezes.
O erro da leitura ingênua não é ruído, é confusão: ela cobra do selo o mérito de ter escore alto.

A conta certa: ajustar dos dois lados e ler a distância no corte

A regressão descontínua faz o seguinte:

  1. pega só quem está dentro de uma janela em volta do corte, digamos escore entre 52 e 68
  2. ajusta uma reta separadamente de cada lado, dando mais peso a quem está mais perto do limiar
  3. extrapola cada reta até o corte exato
  4. 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:

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.

Estimativa do salto e seu intervalo de confiança por largura de bandaGráfico com a largura de banda no eixo horizontal, com os valores 3, 5, 8, 12, 20 e 35, e o salto estimado em pontos percentuais no eixo vertical. Para cada largura há um ponto com uma barra vertical de intervalo de confiança de 95 por cento. Com largura 3 a estimativa é 2,32 com intervalo de menos 2,01 a 6,64. Com largura 5 é 3,75 com intervalo de 0,40 a 7,10. Com largura 8 é 4,55 com intervalo de 1,88 a 7,22. Com largura 12 é 4,40 com intervalo de 2,20 a 6,61. Com largura 20 é 4,56 com intervalo de 2,80 a 6,32. Com largura 35 é 4,76 com intervalo de 3,32 a 6,21. Uma linha horizontal tracejada marca o efeito verdadeiro de 4,50 pontos e passa dentro de todos os seis intervalos. As barras encolhem da esquerda para a direita conforme a janela cresce e inclui mais usuários.Janela estreita não é mais honesta, é mais imprecisaverdade: 4,50 pp+8+4,5+1menos 2h = 32,32h = 53,75h = 84,55h = 124,40h = 204,56h = 354,76Cinza: intervalo cruza o zero, a leitura não conclui. Verde: intervalo inteiro acima de zero.Reporte a FAIXA de estimativas, nunca uma largura escolhida depois de ver os resultados.
O intervalo encolhe conforme a janela cresce, e a estimativa fica estável de h = 8 em diante. Esse platô é o que se publica.

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.

Distribuição da variável de corte com e sem manipulaçãoDois histogramas lado a lado. No painel da esquerda, rotulado limiar invisível, as barras de frequência atravessam a linha vertical do corte sem degrau, seguindo uma curva suave decrescente, com densidade à direita igual a 0,9627 da densidade à esquerda e valor-p de 0,1823. No painel da direita, rotulado limiar visível de frete grátis, as barras logo à esquerda do corte estão claramente rebaixadas e as barras logo à direita do corte formam um pico alto, com densidade à direita igual a 3,1438 vezes a densidade à esquerda e valor-p indistinguível de zero. Uma anotação registra que o painel da esquerda permite a leitura de regressão descontínua e o painel da direita não permite.O teste não olha o resultado, olha a distribuição da própria variável de cortelimiar invisível: passarazão direita/esquerda: 0,9627 · valor-p 0,1823a densidade atravessa o corte sem degraulimiar visível: reprovarazão direita/esquerda: 3,1438 · valor-p indistinguível de zero5,92% da base foi empurrada por cima do limiarEmpilhamento em cima do corte não é um detalhe do dado, é a leitura inteira caindo.Faça esse histograma ANTES de estimar qualquer salto. Ele custa cinco minutos.
À esquerda, quem cai de cada lado do corte é comparável. À direita, o lado direito é feito de gente que fez força para chegar lá.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Rode a leitura em várias larguras de banda e publique a faixa inteira, com intervalos de confiança.
  6. Rode cortes falsos e covariáveis de base. Salto onde não pode haver salto derruba o desenho.
  7. 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.
  8. 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

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

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.