ADVISIA Analytics
Insights Letter

Do passado ao futuro: entendendo séries temporais

O que a temperatura máxima diária de São Paulo, o índice mensal de inflação e o volume de vendas semanal de uma loja têm em comum? Qualquer que seja o total de semelhanças, uma resposta fundamental já aparece nos adjetivos das variáveis citadas. As três variáveis trazem dados novos a cada período (seja diária, mensal ou semanalmente), adicionando mais observações a um histórico de dados. De maneira geral, as três podem ser consideradas séries temporais.

O que são séries temporais?

Quando falamos de séries temporais, tratamos de dados sequenciais ordenados por quando foram gerados, seguindo algum intervalo de produção das observações, seja ele em anos, trimestres, meses, semanas, dias, minuto, segundos, entre outros. Acompanhamos uma fonte de dados por várias observações ao longo do tempo.

Esse tipo de dado é encontrado amplamente no cotidiano em diversos formatos. Lojas armazenam desde uma série de vendas para cada produto até um histórico da receita agregada. Preços de ações estão constantemente variando ao longo do dia, sendo analisados em várias janelas de tempo. Dados macroeconômicos como IPCA, PIB, taxa de câmbio e desocupação são séries temporais muito presentes na análise de conjuntura econômica, independentemente de suas periodicidades. Até mesmo dados não tão diretamente associados a business e economia podem ser séries de tempo, como temperaturas diárias e taxas de batimento cardíaco por minuto.

A ordem dos dados para uma série temporal é um aspecto crucial de sua interpretação, assim como sua interação com o tempo. Não se pode avaliar cada observação de maneira independente ou selecionando apenas um pequeno subconjunto do realizado. Séries de tempo possuem componentes que devem ser identificados olhando para o histórico como um todo. Cada um deles possui uma interpretação diferente, sendo de suma importância considerar o seu papel no desempenho recente para avaliar o contexto atual e os estimar impactos futuros.

Componentes de séries temporais

Tendência

A tendência de uma série é o componente que dita para onde a série caminha no geral. A Figura 1 mostra uma série com duração de vários anos. Há meses que exibem crescimento e outros que apresentam queda, mas, de modo geral, os valores vêm crescendo ao longo do tempo. Essa é característica crucial: um comportamento de longo-prazo dos dados. Para muitas séries sem crescimento ou queda aparente, a própria ausência de tendência pode ser vista como tendência, uma vez que reflete sua direção. Assim, identificar a tendência dos dados é importante para separar o que é mais pontual do que realmente reflete um padrão duradouro.

Fonte: Yahoo! Finance

Figura 1

Sazonalidade

Já a sazonalidade é um comportamento de repetição de eventos após uma quantidade de períodos. Por exemplo, a ideia de que a venda de produtos com tema natalino aumenta nos últimos meses do ano não parece ousada, assim como sugerir uma maior presença de bens para o verão logo antes ou durante o verão. Isso evidencia um comportamento sazonal dessas séries.

A Figura 2 traz uma série com efeito sazonal forte, destacado pelos picos no final do ano. É importante distinguir a sazonalidade dos outros componentes pois ela indica um comportamento que já deve ser esperado em certa época da periodicidade, não refletindo nada por si só de tendência ou ruídos.

Índice base (2014 = 100)

Fonte: IBGE – PMC

Figura 2

Há outros tipos de comportamentos repetitivos que uma série pode exibir sem serem sazonalidade. Um ciclo econômico, a citar como exemplo, é repetitivo, mas não depende do período do ano especificamente, podendo durar até mais do que 24 meses, enquanto um ano teria 12 sazonalidades mensais.

Para estimar uma sazonalidade, é ideal termos no mínimo dois pontos de dado para cada período. No caso mensal, seriam 2 observações para 12 meses, ou 24 pontos. Semanalmente, 2 observações para 52 semanas do ano. Podemos estimar mais de uma sazonalidade para uma mesma série, evidenciando mês, dia do ano e dia da semana, como exemplo. É importante citar, no entanto, que uma sazonalidade mais granular ou de vários tipos traria muitos parâmetros para estimar, tornando desejável possuir mais dados. Para estimar efeitos macroeconômicos, seria necessário um histórico de vários anos de dados, sobretudo em ciclos mais longos. Para fins de simplicidade, ciclos econômicos serão desconsiderados no restante do artigo.

Ruído

Até então, mapeamos que uma série, em longo-prazo, pode seguir uma direção específica e exibir alguns padrões repetitivos. Isso nos traz ao curto-prazo. É importante destacar que o componente mais imediato, o “ruído”, está sempre sujeito a algum grau de variação. Uma loja seguindo tendência de crescimento e pouca sazonalidade ainda pode ter uma semana com desempenho menor do que a anterior, e vice-versa. Há incontáveis variáveis que influenciam semanalmente seus clientes, fornecedores e produtos, de modo que o comportamento de longo-prazo não explica completamente o comportamento semanal.

Dito isso, é possível investigar a existência de padrões nos desvios. Enquanto alguns podem ser vistos majoritariamente como aleatórios, outros podem possuir alguma relação com o comportamento da série no período recente. Por exemplo, um mercado que fez mais vendas do que o normal na semana passada pode realizar uma quantidade menor do que o normal na semana que vem se seus clientes tiverem feito as compras de forma adiantada. É também possível que uma loja passe por um boom temporário de vendas que leve algumas semanas para se dissipar e voltar aos valores normais.

Eventos e feriados irregulares

Se um varejo realizasse uma grande promoção sempre no mesmo período do ano, seria de se esperar uma espécie de sazonalidade. Entretanto, e se o período não for fixo? Seria impreciso considerar a sazonalidade de julho como o efeito da promoção se ela pode ocorrer em qualquer outro mês de ano. Isso também vale para feriados móveis, como Carnaval e Páscoa. Em um nível de semana ou dia do mês, as mudanças de um ano para outro impedem esses efeitos de serem incluídos na sazonalidade precisa. Com isso, é importante considerar essas ocasiões com algo separado dos outros padrões da série temporal, identificando de maneira mais correta seus impactos.

Mudanças estruturais

Até fevereiro/2020, uma loja física tinha funcionamento regular e fluxo de clientes elevado. A partir de março/2020, com o isolamento, o funcionamento foi alterado e o fluxo de clientes reduzido. É correto considerar que a loja continuou a seguir o mesmo comportamento de antes? Que tendência, sazonalidade e desvios se mantiveram parecidos? Para isso, a análise de séries temporais inclui mudanças estruturais, situações onde os parâmetros que caracterizam o comportamento geral da série se alteram. Embora o exemplo dado seja mais extremo, mudanças estruturais ocorrem frequentemente, como em uma série que crescia pouco e subitamente passou a crescer mais. Identificar essas mudanças permite uma análise adaptada ao novo contexto e uma separação mais clara dos efeitos.

Variáveis externas

Embora o histórico de uma série temporal permita uma boa identificação de padrões, há situações onde o comportamento de outra série contribua para a explicação. As vendas de um grande produtor podem ser afetadas pelo preço de mercado dos seus bens ou pelo desempenho dos seus concorrentes, por exemplo. A modelagem contemplando varáveis externas também possibilita a construção de cenários diferentes para projeção do futuro, podendo contrastar situações de baixa e alta para seus resultados futuros segundo as variáveis externas especificadas.

Exemplo de aplicação

Considere o exemplo de uma empresa no setor de revenda. Todo mês, ela adquire seu produto de um fornecedor, que atende outras diversas empresas em todo o território nacional. A Figura 3 traz um histórico do volume mensal comprado pela empresa. Para balizar seu orçamento atual e ter uma ideia dos recursos que serão demandados, o fornecedor gostaria de ter uma previsibilidade do quanto seu cliente comprará nos próximos meses.

Figura 3

A figura 4 exemplifica a decomposição de uma série temporal de vendas em tendência e sazonalidade. No longo-prazo, a série manteve uma tendência de crescimento, mas notavelmente com uma mudança de inclinação em mar/2021. Em relação à sazonalidade, o desempenho da série se eleva no 1º semestre do ano, enquanto é reduzido consideravelmente na maior parte do 2º semestre.

Figura 4

Com os componentes modelados, é possível usá-los para prever os períodos seguintes. A Figura 5 mostra a comparação entre o projetado para o 1º semestre de 2023 e o realizado de fato. Alguns dos meses foram mais precisos do que outros, mas no período como um todo a previsão trouxe um erro médio absoluto ponderado (MAPE) de 7%, além de um valor total projetado muito próximo do total realizado (menos de 0,1% de diferença).

Com isso, o fornecedor pode utilizar projeções de série temporal para ter uma referência do quando o cliente irá comprar em um período de vários meses. Adicionando os valores de jan/23 a jun/23 ao histórico, o modelo pode ser atualizado para prever valores para o restante de 2023. Isso também é aplicado aos seus outros clientes, proporcionando uma visão mais geral das compras futuras e permitindo um planejamento mais seguro.

Séries no passado, presente e futuro

Uma vez detalhado como uma variável interage com o tempo, podemos mapear situações em analytics nas quais a análise de séries temporais é útil, senão imprescindível:

  • Análise exploratória: Estudo e diagnóstico inicial de um conjunto de dados, compreendendo as evoluções históricas e distribuição temporal das observações
  • Modelagem sazonal: Estimação do componente de sazonalidade para mensuração de crescimento de tendência ou variação de curto-prazo
  • Suavização: Remoção de ruídos ou variações abruptas a partir de alguma janela móvel de tempo, deixando a série com o formato de curvas mais suaves
  • Modelagem conjunta: Análise da relação histórica de curto ou longo-prazo entre duas ou mais variáveis 
  • Forecasting: Utilizar valores históricos e atuais para previsão de valores futuros, podendo trazer cenários distintos

Em termos de metodologia, a caixa de ferramentas para se trabalhar com séries temporais é extensa. Análises mais simples podem ser realizadas com gráficos de visualização e estatísticas de correlação, mas modelagens mais complexas incluem uma gama de modelos econométricos para aplicações distintas. Com a ascensão de Machine Learning no século atual, muitos modelos e aplicações acabam sendo utilizados, inclusive no contexto de previsão.

A análise de séries temporais é importante para identificar padrões em dados cuja intepretação depende fundamentalmente da sua ordenação e interação com o tempo. Distinguir componentes de curto e longo-prazo, além de identificar desvios, irregularidades e mudanças na estrutura, traz insights sobre seu negócio, permitindo tomadas de decisão reforçadas pela maior compreensão dos dados.

Igor Peressinotto

Data Scientist
ADVISIA Analytics

Formado em Ciências Econômicas pela Escola de Economia de São Paulo, é Data Scientist na ADVISIA ANALYTICS. Proficiente em modelos estatísticos e aplicações de analytics no desenvolvimento de propostas para tomadas de decisão. Experiência com soluções de dados, linguagens de programação, projetos de varejo, estratégias de marketing e trabalhos de segmentação.

Conheça as soluções da ADVISIA Analytics

Oferecemos soluções especializadas nesse campo, caso tenha interesse em saber mais sobre nossas ferramentas entre em contato conosco hoje mesmo!

ADVISIA Analytics

Count on our team of experts to achieve the digital transformation of your company.

Conte com o nosso time de especialistas para alcançar a transformação digital da sua empresa.