Don’t use MAE-based error measures for intermittent demand!

I’m currently doing a literature review for one of my papers on intermittent demand forecasting with machine learning, and I’ve noticed a recurring fundamental mistake in several recently published papers, even in respectable peer-reviewed journals. The mistake? Using error measures based on the Mean Absolute Error (MAE). This is a crime against the humanity when … Read more

There is no such thing as an “assumption-free approach”

Spherical unicorn in a vacuum

One thing that bothers me when I read posts on social media or papers in peer-reviewed journals is the claim that a proposed approach is “assumption-free.” In forecasting, this is never true. Such an approach is like a spherical unicorn in a vacuum (see image above). Here’s why. Every model is a simplification of reality, … Read more

A paper to read over the Xmas holiday: Wang et al. (2023) – Forecast combinations: An over 50-year review

Christmas and the New Year are upon us, and I wanted to publish a celebratory post before taking a break. Instead of writing something educational, I decided to simply recommend a paper for you to read over the holidays – something you might have overlooked in the past couple of years. Here it is or … Read more

Intermittent demand: don’t try to predict WHEN it will happen

I’ve seen several times ML experts applying principles of classification for intermittent demand forecasting. For example, they try predicting, WHEN the demand will happen. This is not a very sensible thing to do. The featured image in this post shows two forecasting approaches: one that tries to predict when demand happens (the yellow line), and … Read more

Why Naive is not a good benchmark for intermittent demand

While Naive is considered a standard benchmark in forecasting, there is a case where it might not be a good one: intermittent demand. And here is why I think so. Naive is a forecasting method that uses the last available observation as a forecast for the next ones. It does not have any parameters to … Read more

Why zeroes happen

Anna Sroginis and I have been working on a new approach for intermittent demand classification over the past year. We’ve taken a fresh look at the problem, starting by asking: why do zeroes happen? Let’s discuss why indeed. First, a quick note: it’s a mistake to define intermittent demand simply as “demand with zeroes”. That … Read more

Why is it hard to beat the Simple Moving Average?

Intermittent demand and a forecast

Simple Moving Average (SMA) is one of the basic forecasting methods. It doesn’t rely on time series decomposition, doesn’t have a seasonal component, and doesn’t include explanatory variables. Yet, in a supply chain context, SMA is sometimes a tough benchmark to beat. Why? First things first, SMA is simply the arithmetic mean of several recent … Read more

Methods for the smooth functions in R

Forecast from the full ADAM, containing both location and scale parts

I have been asked recently by a colleague of mine how to extract the variance from a model estimated using adam() function from the smooth package in R. The problem was that that person started reading the source code of the forecast.adam() and got lost between the lines (this happens to me as well sometimes). … Read more

What about the training/test sets?

Train on a test site... maybe

Another question my students sometimes ask is how to define the sizes for the training and test sets in a forecasting experiment. If you’ve done data mining or machine learning, you’re likely familiar with this concept. But when it comes to forecasting, there are a few nuances. Let’s discuss. First and foremost, in forecasting, the … Read more