Estatística

Série Temporal Interrompida: ler o efeito de um lançamento

Série temporal interrompida: a regressão segmentada separa degrau, tendência e sazonalidade do que já estava crescendo antes do lançamento.

Ilustração plana de uma linha ascendente sobre grade, cortada por um marcador vertical tracejado, com uma linha pontilhada pálida seguindo a inclinação antiga por baixo dela

Quando o lançamento atinge todo mundo ao mesmo tempo, o único controle disponível é o passado da própria métrica. Na simulação deste guia, o efeito real embutido era de mais 0,10 ponto percentual: comparar a média de depois com a média de antes devolveu mais 0,96 ponto, a regressão segmentada sem controle sazonal devolveu mais 0,31 ponto, e a regressão segmentada com sazonalidade devolveu mais 0,166 ponto com intervalo de 95 por cento entre mais 0,029 e mais 0,302 depois de corrigir a autocorrelação. Este guia mostra como montar a conta da série temporal interrompida, as três armadilhas que fazem ela mentir e o teste placebo que pega a mentira antes de você publicar o número. Faz parte do nosso guia completo de teste A/B e complementa diferenças em diferenças e controle sintético.

O problema: existe mudança que não deixa ninguém de fora

Nem toda mudança aceita um grupo de controle paralelo, nem mesmo por praça:

Nesses casos não existe nem grupo sorteado (o caminho do teste A/B) nem grupo de controle paralelo (o caminho de diferenças em diferenças). Sobra uma coisa só: a série histórica da métrica antes da mudança. A série temporal interrompida é o desenho que transforma esse passado num contrafactual explícito.

Vale registrar que a alternativa preferida continua sendo sortear. Quando a mudança couber num sorteio de usuário, sorteie, porque nenhuma modelagem de série substitui um grupo de controle simultâneo.

A leitura ingênua, e a calculadora que a confirma com entusiasmo

Simulamos 78 semanas de taxa de conversão de um site: 52 semanas antes de um redesenho e 26 depois. A série tem tendência de alta (o negócio estava crescendo), sazonalidade anual e semestral, e ruído correlacionado no tempo. O efeito real do redesenho, embutido na simulação, é um degrau de mais 0,10 ponto percentual.

A leitura ingênua agrega tudo e compara duas médias:

período visitantes conversões taxa
52 semanas antes 260.000 7.509 2,8881%
26 semanas depois 130.000 5.001 3,8469%

Cole esses números na calculadora abaixo e veja o veredito.

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.

A calculadora devolve 2,89 por cento contra 3,85 por cento, mais 33,2 por cento em termos relativos e valor-p abaixo do que ela consegue exibir, com intervalo de confiança de 95 por cento entre mais 0,8 e mais 1,1 ponto. A diferença bruta entre as duas taxas é de 0,9588 ponto percentual. Um resultado esmagador para um efeito real de 0,10 ponto: quase dez vezes a verdade, com precisão aparente altíssima.

A calculadora não errou. Ela respondeu exatamente a pergunta que recebeu, que era “as duas proporções são diferentes?”. As duas são mesmo diferentes. O que ela não pode saber é que a diferença já estava a caminho antes do redesenho existir.

A conta certa da série temporal interrompida: degrau, tendência e sazonalidade

A regressão segmentada estima três coisas de uma vez, sobre a série semanal (não sobre o agregado). Na formulação do tutorial de Lopez Bernal, Cummins e Gasparrini, o modelo tem um termo de tempo, um indicador de período pós-intervenção e a interação entre os dois:

Série semanal de conversão com corte na semana 53Linha de taxa de conversão semanal subindo ao longo de 78 semanas, cortada por uma linha vertical tracejada na semana 53. Uma reta de tendência atravessa a série inteira e uma segunda reta paralela, deslocada para cima, acompanha o período posterior.2,42,83,23,64,0taxa (%)redesenhosemana 53contrafactual: a tendência anteriorprojetada para a frentes1s27s53s78O efeito é a distância entre a linha cheia escura e a tracejada cinza, não a diferença entre as duas médias.
A comparação de médias mede a distância entre dois patamares. A série interrompida mede a distância entre o observado e a projeção do que já vinha acontecendo.

Rodando os quatro modelos sobre a mesma série de 78 semanas:

leitura degrau estimado intervalo de 95% estatística t
médias de antes e depois mais 0,960 pp 0,864 a 1,056 19,66
indicador de período, sem termo de tendência mais 0,960 pp 0,851 a 1,069 17,23
segmentada com tendência, sem sazonalidade mais 0,313 pp 0,249 a 0,377 9,56
segmentada com tendência e sazonalidade mais 0,166 pp 0,069 a 0,263 3,34
efeito real embutido na simulação mais 0,100 pp

O segundo modelo merece atenção: incluir um indicador de “depois” sem incluir o termo de tempo não conserta nada. Ele devolve exatamente a diferença de médias, porque é matematicamente a mesma coisa. O que corrige a leitura é o termo de tendência, e ele sozinho já derruba a estimativa de 0,96 para 0,31 ponto. A sazonalidade derruba de 0,31 para 0,166.

As três armadilhas

1. A tendência anterior, que é a armadilha principal

Foi o que acabamos de ver: uma série que já sobe 0,017 ponto por semana acumula quase 0,9 ponto ao longo de 52 semanas. Se você compara a média das 26 semanas seguintes com a média das 52 anteriores, atribui ao lançamento praticamente todo esse acúmulo. Nenhum ajuste posterior salva uma leitura que não modelou a tendência.

2. A sazonalidade, que se disfarça de efeito

Se o período de depois cai numa parte do ano melhor que a média, o degrau captura a estação. Lopez Bernal, Cummins e Gasparrini alertam exatamente para isso: uma distribuição desigual de meses antes e depois da intervenção pode enviesar o resultado. No exemplo trabalhado deles, sobre a lei antifumo italiana de janeiro de 2005 e as internações por eventos coronarianos agudos, a estimativa não ajustada foi de uma redução de 11 por cento (razão de risco de 0,894, com intervalo de 95 por cento entre 0,864 e 0,925 e valor-p abaixo de 0,001), e o ajuste sazonal levou a razão de risco para 0,885 com intervalo entre 0,839 e 0,933.

Na nossa simulação, o efeito é maior porque o período de depois cobre meio ano de sazonalidade favorável: sem controle, o degrau vem 0,31; com dois pares de termos harmônicos, 0,166.

3. A autocorrelação, que aperta o intervalo de confiança sem direito

Semanas vizinhas se parecem. Se esta semana foi acima da tendência, a próxima também tende a ser. A regressão comum presume independência entre observações e, quando essa premissa quebra, o erro-padrão sai pequeno demais e o intervalo sai estreito demais.

Na nossa série, a autocorrelação de defasagem 1 dos resíduos era 0,589 no modelo sem sazonalidade e caiu para 0,328 com sazonalidade (a estatística de Durbin-Watson foi de 0,80 para 1,34). Uma correção simples pelo fator de inflação leva o intervalo do degrau de mais 0,069 a mais 0,263 para mais 0,029 a mais 0,302 ponto. O efeito real de 0,10 está dentro dos dois, mas o segundo é honesto sobre o quanto ainda não se sabe.

Os autores do tutorial recomendam sempre avaliar a autocorrelação pelo gráfico dos resíduos e por testes formais, e no exemplo deles o ajuste para superdispersão alargou o intervalo de 0,839 a 0,933 para 0,839 a 0,953, mudando o valor-p de abaixo de 0,001 para 0,001. O sinal continuou o mesmo. A confiança diminuiu.

Estimativa do degrau por modeloBarras horizontais mostrando o degrau estimado por quatro modelos, decrescendo de 0,96 ponto na comparação de médias para 0,166 ponto na regressão segmentada com sazonalidade, com uma linha vertical marcando o efeito real de 0,10 ponto.degrau estimado, em pontos percentuaismédias antes e depois0,960indicador sem tendência0,960com tendência0,313com tendência e sazonalidade0,166efeito real: 0,100barra do último modelo com o intervalo corrigido
Cada termo que entra no modelo tira uma camada de explicação alternativa. A ordem importa: tendência primeiro, sazonalidade depois, incerteza corrigida por último.

4. A forma do efeito, que raramente é um degrau limpo

O modelo padrão pergunta “houve um salto na semana da mudança?”. Mas boa parte das mudanças de produto não produz salto nenhum na primeira semana. Quatro formatos aparecem com frequência, e cada um exige um termo diferente:

formato do efeito como aparece na série o que o modelo precisa risco se você usar só degrau
degrau limpo salto imediato e patamar novo indicador de pós-intervenção nenhum, é o caso feliz
efeito que se acumula inclinação maior depois da data termo de interação entre tempo e pós subestima, porque a média do início do pós ainda é baixa
efeito com atraso nada por algumas semanas, depois salto período de transição excluído da conta subestima, porque as semanas mortas puxam a média
pico que se dissipa salto grande que decai janela de leitura longa e inspeção visual superestima, porque lê só a fase do pico

O terceiro caso é o mais comum em produto: uma mudança de onboarding só afeta a conversão de quem entrou depois dela, e leva semanas para a base refletir isso. A prática usual é declarar um período de transição, tipicamente as primeiras semanas depois da data, e removê-lo do modelo em vez de forçá-lo a caber num degrau.

O quarto é o mais perigoso, porque parece a melhor notícia do trimestre. Um redesenho que gera curiosidade produz um pico que decai, o mesmo mecanismo do efeito novidade. Ler duas semanas depois do corte e publicar o degrau é a receita para reverter a decisão dois meses depois.

Em todos os casos, olhar o gráfico antes de rodar o modelo é obrigatório. A regressão devolve um número mesmo quando o formato do efeito não cabe no modelo, e ela não avisa.

5. A composição do tráfego, que muda sem ninguém mexer nela

Existe uma última fonte de erro que nenhum termo temporal captura: a mistura de quem chega ao site muda ao longo do período, e a taxa de conversão agregada muda junto sem que nada no produto tenha mudado. Se a proporção de tráfego pago subiu no semestre do lançamento, e tráfego pago converte menos, o degrau vem para baixo por um motivo que não é o redesenho.

A verificação é a mesma que se usa em paradoxo de Simpson: rode o modelo por segmento, não só no total. Se o degrau aparece igual em todos os canais, a leitura é robusta. Se ele existe só no agregado e some em cada canal separado, o que você mediu foi a mudança de mistura.

O teste placebo que pega a leitura errada antes da publicação

Existe uma verificação barata que deveria ser obrigatória: escolha uma data dentro do período anterior, onde não houve mudança nenhuma, e rode o mesmo modelo como se ali tivesse havido uma intervenção. Se o modelo encontra degrau, ele está capturando estrutura da série, não o efeito da sua mudança.

Rodamos isso na nossa série, com corte falso na semana 27 e usando só as 52 semanas anteriores ao redesenho de verdade:

modelo placebo degrau no corte falso estatística t veredito
segmentada sem sazonalidade menos 0,168 pp menos 4,35 falso positivo
segmentada com sazonalidade mais 0,031 pp 0,56 corretamente nulo

Repare no que esse teste entregou: a versão sem controle sazonal acusou um efeito estatisticamente significativo onde não existia nenhuma intervenção. Se você tivesse rodado só o modelo simples e visto o degrau de 0,31 no corte de verdade, não teria como saber que ele estava contaminado. O placebo diz.

Essa é a mesma lógica que Imbens e Xu colocam entre as cinco lições da literatura de métodos não experimentais: usar um desfecho ou um período que o tratamento não podia ter afetado e conferir se a análise devolve zero. Efeito não nulo no placebo indica confundimento não observado.

Quando existe controle, use controle

A série interrompida usa o passado como contrafactual porque não há alternativa. Quando existe uma série de controle, mesmo que observacional, a leitura fica muito melhor.

Brodersen, Gallusser, Koehler, Remy e Scott mostraram isso com uma campanha de anúncios de seis semanas direcionada a 95 de 190 áreas de mercado, o que dava um gabarito sorteado de verdade. A leitura com modelo de série temporal estrutural bayesiano, usando as regiões não tratadas como controles, devolveu 88.400 cliques incrementais, um aumento de 22 por cento com intervalo de credibilidade de 95 por cento entre 13 e 30 por cento. A comparação experimental convencional sobre os mesmos dados devolveu 84.700 cliques, com intervalo entre 19 e 22 por cento.

O mais interessante veio depois. Eles refizeram a conta jogando fora as regiões de controle e usando apenas buscas públicas por palavras-chave do setor como covariáveis. Resultado: 85.900 cliques, 21 por cento, intervalo entre 12 e 30 por cento, ainda mais perto do gabarito de 84.700 do que a primeira versão. E, como teste de falseamento, rodaram a mesma análise sobre as regiões que não receberam a campanha: efeito de 2 por cento, com intervalo entre menos 6 e mais 10 por cento, ou seja, corretamente nulo.

A lição prática é dupla. Primeiro, séries de controle que só correlacionam com a sua métrica, sem serem afetadas pela sua mudança, valem muito. Segundo, o teste de falseamento em quem não foi tratado é tão importante quanto a estimativa principal.

Quanto tráfego custaria testar isso direito

O último argumento é o mais desconfortável. Depois de toda a modelagem, o efeito honesto ficou em 0,166 ponto sobre uma base perto de 3,33 por cento. Coloque esses números na calculadora abaixo, com significância de 95 por cento e poder de 80 por cento, usando o modo de diferença absoluta.

Calculadora de tamanho de amostra
-Visitantes por variação
-Total (2 variações)
-Duração estimada

Cálculo por aproximação normal de duas proporções, 2 variações (50/50). Mexa nos campos e veja o impacto ao vivo.

A resposta é 187.791 visitantes por variação. Com 35 mil visitantes por semana no total, isso são 76 dias de teste. Já o efeito de 0,96 ponto que a leitura ingênua alegou exigiria apenas 6.242 por variação, ou 3 dias.

Ou seja: a comparação de médias “confirmou” em uma tarde de consulta um efeito que, se fosse real, seria detectável em três dias de experimento. O efeito verdadeiro exige onze semanas. Toda vez que a leitura observacional parece barata demais, a explicação mais provável é que ela está medindo outra coisa.

Roteiro de série temporal interrompida em oito passos

  1. Junte pontos suficientes antes e depois. O tutorial de referência usou 59 meses de dado. Poucos pontos, ou efeito esperado pequeno, pedem cautela explícita e simulação prévia de poder.
  2. Escolha a granularidade que preserva a estrutura. Semana costuma ser o ponto certo para conversão: agrega ruído diário sem apagar a sazonalidade.
  3. Fixe a data de corte antes de olhar o gráfico. Corte escolhido depois de ver o dado é o mesmo problema do espiar em teste sequencial.
  4. Modele tendência, degrau e mudança de inclinação. E diga qual dos três você espera, antes de rodar.
  5. Adicione sazonalidade. Termos harmônicos ou indicadores de mês. Sem isso, o degrau captura a estação.
  6. Verifique a autocorrelação dos resíduos e corrija o intervalo. Reporte a estatística que você usou.
  7. Rode o placebo. Corte falso no período anterior. Degrau significativo ali derruba a leitura.
  8. Liste tudo que mudou na mesma data. Se houve mais de uma coisa, a leitura mede a soma, e o relatório precisa dizer isso.

Erros comuns

Faça isso automático na Donnu

A série temporal interrompida depende de uma coisa que quase ninguém tem: a métrica guardada por período com a mesma definição antes e depois da mudança. Basta o time ter ajustado o evento de conversão junto com o redesenho para que o degrau meça a mudança de rastreamento, não a mudança de produto. Nenhum termo de modelo separa as duas.

A Donnu guarda o resultado por dia com a definição de métrica carimbada, o que torna a leitura de série interrompida uma consulta em vez de uma reconstrução, e deixa o teste placebo a um clique de distância. E, mais importante, ela existe para o caso em que dá para sortear: quando a mudança couber num sorteio, esse é o caminho, porque ele dispensa a modelagem de tendência, a de sazonalidade e a correção de autocorrelação de uma vez só. Para saber se o seu tráfego comporta esse teste, a calculadora de tamanho de amostra responde em segundos, e a calculadora de significância fecha a leitura no fim.

Referências

Leia também: Diferenças em diferenças · Controle sintético · Escore de propensão · Regressão descontínua · Ciclo semanal em teste A/B · Calculadora de tamanho de amostra · Read in English

Perguntas frequentes

O que é uma série temporal interrompida?
É uma leitura que usa a própria série histórica da métrica como grupo de controle. Você modela a tendência de antes da mudança, projeta essa tendência para frente como contrafactual e mede o quanto a série observada se afastou dela. Ela serve quando não existe grupo de controle paralelo, porque a mudança atingiu todo mundo ao mesmo tempo.
Por que comparar a média de antes com a média de depois erra?
Porque atribui à mudança tudo que a série já vinha fazendo sozinha. Na simulação deste guia o efeito real embutido era de mais 0,10 ponto percentual, e a comparação de médias devolveu mais 0,96 ponto, com estatística t de 19,66. O erro não é de ruído, é de desenho: quase toda a diferença era tendência anterior mais crescimento normal.
O que a regressão segmentada estima?
Três coisas separadas: a tendência antes da mudança, o degrau imediato no momento da mudança e a variação de inclinação depois dela. É a distinção entre um efeito que aparece de uma vez e um efeito que se acumula. O modelo padrão descrito por Lopez Bernal, Cummins e Gasparrini é uma regressão com termo de tempo, indicador de pós-intervenção e interação entre os dois.
Preciso controlar sazonalidade?
Quase sempre. Na simulação deste guia, a regressão segmentada sem controle sazonal devolveu um degrau de mais 0,31 ponto para um efeito real de 0,10, e o mesmo modelo com dois pares de termos harmônicos devolveu mais 0,166 ponto. Mais importante: o teste placebo com um corte falso no meio do período anterior acusou um efeito falso de menos 0,17 ponto sem controle sazonal, e caiu para mais 0,03 ponto, sem significância, com o controle.
Por que o intervalo de confiança padrão engana aqui?
Porque pontos vizinhos de uma série são correlacionados entre si, e a regressão comum presume que são independentes. Na nossa simulação, a autocorrelação de defasagem 1 dos resíduos era 0,328 mesmo depois do controle sazonal, o que infla o erro-padrão por um fator de cerca de 1,41. O intervalo de 95 por cento passou de mais 0,069 a mais 0,263 ponto para mais 0,029 a mais 0,302 ponto.
Quando esse método não serve?
Quando outra coisa aconteceu na mesma data. Uma campanha que subiu junto, uma mudança de rastreamento, um feriado. A série não distingue duas mudanças simultâneas, e nenhum termo do modelo conserta isso. Nesses casos, ou você acha um grupo de controle e usa diferenças em diferenças, ou aceita que a leitura ficou inconclusiva.