On differencing of ARIMA in state space

The model fit of MSARIMA

A reader left a comment under the MSARIMA post on LinkedIn saying that in order to compare ARIMAs via information criteria, we need to make sure that the candidate models have the same order of differencing. They are right — for the conventional ARIMA. BUT! In the state space formulation, the problem disappears. Here is … Read more

smooth in python: Multiple Seasonal ARIMA

MSARIMA model fit and point forecast

ARIMA has been a workhorse for decades. But the standard implementations quietly hard-code assumptions: one seasonal cycle, Gaussian errors, regressors handled separately etc. This is fine for textbook well-behaved data. But what do you do when you face real data? The conventional implementations (statsmodels or pmdarima in Python, stats in R) do their job well: … Read more

Another important Naïve method

Seasonal Naive depiction

There is another forecasting method that is extremely popular, hard to beat, and has no parameters to estimate. It also has “Naïve” in its name. Do you know what I’m talking about? It is called “Seasonal Naïve”. While the simple Naïve copies the last observed actual into the future as a forecast, the seasonal one … Read more

smooth in python: Multistep losses

Example of fits of ETS with several multistep losses

Why train a forecasting model on one-step-ahead errors when you care about 10-step-ahead accuracy? This is the core motivation behind multistep losses in dynamic models. This has connection with the so-called “direct forecasting strategy”. And here what it is and how to work with it in Python. Conventional maximum likelihood estimation minimises one-step-ahead errors. It … Read more

Why Naïve is popular and important

How Naive works

There is one forecasting method that appears more often than any other in competitions and evaluations. An experienced forecaster will always use it as a benchmark. This method is called “Naïve”, and here is why it is popular and important. Naïve is a very simple forecasting method: the forecast equals to the last observed value. … Read more

Demand Forecasting Principles course, October 2026

A photo of the participants of Demand Forecasting Principles open course

Our demand forecasting course is back! This time under the OpenForecast umbrella. Since 2024, Kandrika Pritularga and I have run a demand forecasting principles course at the Centre for Marketing Analytics and Forecasting. We ran it three times, and it has received good reviews from the participants. They liked that the material was motivated by … Read more

Five things that determine your safety stock

One of the most common questions we get from companies is “How much safety stock should we hold?” Companies usually want simple solutions, but the honest answer is that there is no universal number and no universal formula – depending on what you sell, how often you sell, how your operations are setup etc, you … Read more

Website redesign

Good news, everyone! I’ve turned my website into a company. But first, some history that explains why… Back in 1990, Robert Fildes joined Lancaster University and established the Centre for Marketing Analytics and Forecasting (called “Lancaster Centre for Forecasting” back then). The main idea of the centre was to bridge the gap between academia and … Read more

ISF2026: PTS Taxonomy of Multiple Source of Error State Space Models for Demand Forecasting

This time, at ISF2026, I presented the paper that I have worked on together with Juan Ramon Trapero and Diego Pedregal. The idea of the paper is to introduce a taxonomy of the models in the Multiple Sources of Error (MSOE) framework. In the Single Source of Errors one, there is ETS, in the MSOE, … Read more