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 observations. It has only one parameter: the number of observations used in the calculation (aka the “length”). For example, for SMA(13), we just take the last 13 observations, calculate the average, and use it as the point forecast for the next few observations. As simple as that!
SMA sits between two other simple forecasting methods: Naïve, which only relies on the most recent observation, and the global average, which uses all observations. The Naïve method works well for “Random walk” time series, which can be seen in finance, but not often in supply chain context. The global average is suitable for the series with the fixed level (“global level”), which are also rare in supply chain. Reality is usually somewhere in the middle. We know that average sales might go up or down gradually, but sudden jumps are uncommon in supply chain unless driven by some internal or external events. Also, supply chain data is typically not fast-moving and is often intermittent. In this situation, SMA does well.
The main challenge with SMA is in choosing the appropriate length. Petropoulos & Svetunkov (2017) showed that SMA has an underlying statistical model and demonstrated that the length can be selected for each time series based on information criteria. In practice, using an arbitrary length (e.g., 7, 12, or 13) often works fine too (see Sani & Kingsman, 1997, and Syntetos & Boylan, 2006) and can be used as a standard benchmark.
You might argue that SMA lacks important features, so it can’t be that good. Yes and no. While we can do better than SMA by accounting for seasonality, promotions, prices, etc., a more complex model might overfit and yield less accurate forecasts than SMA.
Take, for example, a recently finished VN1 competition of Nicolas Vandeput, where the winning Machine Learning approach improved upon SMA by about 40%. Still, out of 59 submissions, 10 failed to outperform SMA. This highlights two points:
- you can achieve much better results than SMA with ML if you know what you’re doing;
- SMA should be one of the standard benchmarks to make sure that your fancy approach outperforms it.
We’ll cover this and other aspects of forecasting methods in the “Demand Forecasting with R” course with Kandrika Pritularga next week. There are only a few places left, so act fast! Registration closes on the 4th, and the course starts on the 5th November (remember, remember the 5th of November!).