Seasonal or not?

Not every pattern that appears seasonal is genuinely seasonal. This means you don’t always require a seasonal model when you see repetitive patterns with fixed periodicity. How come?

First things first, in forecasting, the term “seasonality” refers to any natural pattern repeating with some periodicity. For example, if you work in a hospital with A&E attendance, you know that every Monday has higher demand than other days, while weekends tend to have lower demand. This is a well known phenomenon: people have fun over the weekend and then go to hospital first thing in the morning of the work week (https://digital.nhs.uk/data-and-information/publications/statistical/hospital-accident–emergency-activity/2019-20/time-of-day), so if you don’t want to get stuck in the hospital, don’t injure yourselves over the weekend!

Anyway, back to the main topic of this post!

Consider the following example:

Seemingly seasonal time series

Seemingly seasonal time series

This is a daily data. Is it seasonal? Without context, you might assume so: there’s a midweek peak followed by a decline, repeating weekly, so it must be seasonal, right? But what if I told you that this data is daily LinkedIn impressions of my posts? The peaks coincide with posts releases, and it is hard to tell from the image, but I released first three posts on Thursdays and then switched to Wednesdays, shifting peaks one day forward. So, this is not a seasonal data, but instead it is a classical life cycle (which can be described, for example, by the Bass model), repeating every week. It would be seasonal if the impressions happened naturally without me releasing anything. For example, number of visitors of my website has natural seasonality, because they happen without my interventions:

The series with natural seasonality

The series with natural seasonality

Bringing this to a business context, I have encountered several times the “spurious seasonality”. For example, one company, working with weekly data, used a seasonal model with periodicity of 4, because they noticed that at the end of each month, people get their salary and spend it, increasing the sales of the company. However this is not true seasonality, but rather a calendar event that happens seemingly periodically, on a specific day of month (not necessarily the same one).

Why is this important?

Relying on a seasonal model (like seasonal ETS or ARIMA) in such cases poses risks. If the periodicity shifts (e.g., salaries received on a different week), the model will produce misaligned forecasts (e.g., predicting an earlier peak). To address this, you should model such events with explanatory variables instead of seasonal indices. This way you will be able to control the timing of the event in your model and adjust it if needed.

So, next time you see a pattern that looks seasonal, think whether it happens naturally, or whether you are dealing with the spurious seasonality. Remember, the context is always important!

Leave a Reply