The main idea behind the Croston’s method

How Croston works

Have you heard of Croston’s method for intermittent demand forecasting? Some modern data scientists dislike it because it is too simple and not as accurate as some modern forecasting approaches. And they have a point. But here is why it is worth keeping Croston in mind. Back in 1972, John Croston, who worked on stock … Read more

Simple Exponential Smoothing: one parameter instead of many weights

SMA vs SES

In one of the comments to my previous post about the Simple Moving Average on LinkedIn, a reader mentioned that they use a Weighted Moving Average with their own weighting scheme. This can work well although defining the weights can be a nuisance: a Weighted Moving Average of order 12 needs 12 weights that someone … Read more

The Menace of ML: Simple Moving Average

Simple Moving Average of order 8

And here is another forecasting method that is hard to beat in practice. In a recent competition, it gave data scientists huge headaches and even outperformed some powerful ML methods. What’s the name of this beast?! Simple Moving Average! The idea behind the Simple Moving Average (SMA) is to take the average of the last … Read more

Five assumptions behind “forecastability”

Example of two time series with exactly the same coefficient of variation

Here is a confession. I don’t like the idea of “forecastability”. I think it does not bring value and can be harmful in some cases. Let me explain. One of the definitions I see on the internet: “A measure of the degree to which something may be forecast with accuracy”. This definition is so disturbing … Read more

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: 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

smooth in python: Non-normal distributions in ETS/ARIMA

So, you know quite well that the normal distribution is one of the most popular distributions in statistics. The reasons are manifold, including convenience for the academic community and the fact that it is taught in every single statistics course in the world. But what if we don’t want to be normal? There are situations … Read more

smooth in python: multiple seasonal ETS

Another interesting case in demand forecasting is the high frequency data. For example, if you work with demand on daily level, you might notice that demand increases every Monday but also exhibits proper seasonal fluctuations (e.g. decline every Winter). What do you do in this case? One of the solutions (old but gold) is the … Read more