Exponential Smoothing Explained.
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for republication.
When people first encounter the term Exponential Smoothing they may think
“that sounds like a hell of a lot of smoothing . . . whatever smoothing is".
They then start to envision a complicated mathematical calculation that likely requires a degree in mathematics to understand, and hope there is a built-in Excel function available if they ever need to do it. The reality of exponential smoothing is far less dramatic and far less traumatic.
The truth is, exponential smoothing is a very simple calculation that accomplishes a rather simple task. It just has a complicated name because what technically happens as a result of this simple calculation is actually a little complicated.
To understand exponential smoothing, it helps to start with the general concept of “smoothing” and a couple of other common methods used to achieve smoothing.
What is smoothing?
Smoothing is a very common statistical process. In fact, we regularly encounter “smoothed” data in various forms in our day-to-day lives. Any time you use an average to describe something, you are using a smoothed number. If you think about why you use an average to describe something, you will quickly understand the concept of smoothing. For example, we just experienced the warmest winter on record. How are we able to quantify this? Well we start with datasets of the daily high and low temperatures for the period we call “Winter” for each year in recorded history. But that leaves us with a bunch of numbers that jump around quite a bit (it’s not like every day this winter was warmer than the corresponding days from all previous years). We need a number that removes all this “jumping around” from the data so we can more easily compare one winter to the next. Removing the “jumping around” in the data is called smoothing, and in this case we can just use a simple average to accomplish the smoothing.
In demand forecasting, we use smoothing to remove random variation (noise) from our historical demand. This allows us to better identify demand patterns (primarily trend and seasonality) and demand levels that can be used to estimate future demand. The “noise” in demand is the same concept as the daily “jumping around” of the temperature data. Not surprisingly, the most common way people remove noise from demand history is to use a simple average—or more specifically, a moving average. A moving average just uses a predefined number of periods to calculate the average, and those periods move as time passes. For example, if I’m using a 4-month moving average, and today is May 1st, I’m using an average of demand that occurred in January, February, March, and April. On June 1st, I will be using demand from February, March, April, and May.
Weighted moving average.
When using an “average” we are applying the same importance (weight) to each value in the dataset. In the 4-month moving average, each month represented 25% of the moving average. When using demand history to project future demand (and especially future trend), it’s logical to come to the conclusion that you would like more recent history to have a greater impact on your forecast. We can adapt our moving-average calculation to apply various “weights” to each period to get our desired results. We express these weights as percentages, and the total of all weights for all periods must add up to 100%. Therefore, if we decide we want to apply 35% as the weight for the nearest period in our 4-month “weighted moving average”, we can subtract 35% from 100% to find we have 65% remaining to split over the other 3 periods. For example, we may end up with a weighting of 15%, 20%, 30%, and 35% respectively for the 4 months (15 + 20 + 30 + 35 = 100).
Exponential smoothing.
If we go back to the concept of applying a weight to the most recent period (such as 35% in the previous example) and spreading the remaining weight (calculated by subtracting the most recent period weight of 35% from 100% to get 65%), we have the basic building blocks for our exponential smoothing calculation. The controlling input of the exponential smoothing calculation is known as the smoothing factor (also called the smoothing constant). It essentially represents the weighting applied to the most recent period’s demand. So, where we used 35% as the weighting for the most recent period in the weighted moving average calculation, we could also choose to use 35% as the smoothing factor in our exponential smoothing calculation to get a similar effect. The difference with the exponential smoothing calculation is that instead of us having to also figure out how much weight to apply to each previous period, the smoothing factor is used to automatically do that.
So here comes the “exponential” part. If we use 35% as the smoothing factor, the weighting of the most recent period’s demand will be 35%. The weighting of the next most recent period’s demand (the period before the most recent) will be 65% of 35% (65% comes from subtracting 35% from 100%). This equates to 22.75% weighting for that period if you do the math.
The next most recent period’s demand will be 65% of 65% of 35%, which equates to 14.79%. The period before that will be weighted as 65% of 65% of 65% of 35%, which equates to 9.61%, and so on. And this goes on back through all your previous periods all the way back to the beginning of time (or the point at which you started using exponential smoothing for that particular item).
You’re probably thinking that’s looking like a whole lot of math. But the beauty of the exponential smoothing calculation is that rather than having to recalculate against each previous period every time you get a new period’s demand, you simply use the output of the exponential smoothing calculation from the previous period to represent all previous periods.
Are you confused yet? This will make more sense when we look at the actual calculation
Typically we refer to the output of the exponential smoothing calculation as the next period “forecast”. In reality, the ultimate forecast needs a little more work, but for the purposes of this specific calculation, we will refer to it as the forecast.
The exponential smoothing calculation is as follows:
The most recent period’s demand multiplied by the smoothing factor.
PLUS
The most recent period’s forecast multiplied by (one minus the
smoothing factor).
OR
(D*S)+(F*(1-S))
Where
D = most recent period’s demand
S = the smoothing factor represented in decimal form (so 35% would be represented as 0.35).
F = the most recent period’s forecast (the output of the smoothing calculation from the previous period).
OR (assuming a smoothing factor of 0.35)
(D * 0.35) + ( F * 0.65)
It doesn’t get much simpler than that.
As you can see, all we need for data inputs here are the most recent period’s demand and the most recent period’s forecast. We apply the smoothing factor (weighting) to the most recent period’s demand the same way we would in the weighted moving average calculation. We then apply the remaining weighting (1 minus the smoothing factor) to the most recent period’s forecast.
Since the most recent period’s forecast was created based on the previous period’s demand and the previous period’s forecast, which was based on the demand for the period before that and the forecast for the period before that,
which was based on the demand for the period before that and the forecast for the period before that,
which was based on the period before that . . .
well, you can see how all previous period’s demand are represented in the calculation without actually going back and recalculating anything.
And that’s what drove the initial popularity of exponential smoothing. It wasn’t because it did a better job of smoothing than weighted moving average, it was because it was easier to calculate in a computer program. And, because you didn’t need to think about what weighting to give previous periods or how many previous periods to use, as you would in weighted moving average. And, because it just sounded cooler than weighted moving average.
In fact, it could be argued that weighted moving average provides greater flexibility since you have more control over the weighting of previous periods. The reality is either of these can provide respectable results, so why not go with easier and cooler sounding.
Exponential Smoothing in Excel
Let’s see how this would actually look in a spreadsheet with real data.
Figure 1A
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for republication.
In Figure 1A, we have an Excel spreadsheet with 11 weeks of demand, and an exponentially smoothed forecast calculated from that demand. I’ve used a smoothing factor of 25% (0.25 in cell C1). The current active cell is Cell M4 which contains the forecast for week 12. You can see in the formula bar, the formula is =(L3*$C1)+(L4*(1-$C1)) . So the only direct inputs to this calculation are the previous period’s demand (Cell L3), the previous period’s forecast (Cell L4), and the smoothing factor (Cell C1, shown as absolute cell reference $C1).
When we start an exponential smoothing calculation, we need to manually plug the value for the 1st forecast. So in Cell B4, rather than a formula, we just typed in the demand from that same period as the forecast. In Cell C4 we have our 1st exponential smoothing calculation =(B3*$C1)+(B4*(1-$C1)) . We can then copy Cell C4 and paste it in Cells D4 through M4 to fill the rest of our forecast cells.
You can now double-click on any forecast cell to see it is based on the previous period’s forecast cell and the previous period’s demand cell. So each subsequent exponential smoothing calculation inherits the output of the previous exponential smoothing calculation. That’s how each previous period’s demand is represented in the most recent period’s calculation even though that calculation does not directly reference those previous periods. If you want to get fancy, you can use Excel’s “trace precedents” function. To do this, click on Cell M4, then on the ribbon tool bar (Excel 2007 or 2010) click the Formulas tab, then click “Trace Precedents”. It will draw connector lines to the 1st level of precedents, but if you keep clicking Trace Precedents it will draw connector lines to all previous periods to show you the inherited relationships.
Now let’s see what exponential smoothing did for us.
Figure 1B
Figure 1B shows a line chart of our demand and forecast. You can see how the exponentially smoothed forecast removes most of the jaggedness (the jumping around) from the weekly demand, but still manages to follow what appears to be an upward trend in demand. You’ll also notice that the smoothed forecast line tends to be lower than the demand line. This is known as “trend lag” and is a side effect of the smoothing process. Any time you use smoothing when a trend is present; your forecast will lag behind the trend. This is true for any smoothing technique. In fact, if we were to continue this spreadsheet and start inputting lower demand numbers (making a downward trend) you would see the demand line drop, and the trend line move above it before starting to follow the downward trend.
That’s why I previously mentioned the output from the exponential smoothing calculation that we call a forecast, still needs some more work. There is a lot more to forecasting than just smoothing out the bumps in demand. We need to make additional adjustments for things like trend lag, seasonality, known events that may effect demand, etc. But all that is beyond the scope of this article.
You will likely also run into terms like double-exponential smoothing and triple-exponential smoothing. These terms are a bit misleading since you are not re-smoothing the demand multiple times (you could if you want, but that’s not the point here). These terms represent using exponential smoothing on additional elements of the forecast. So with simple exponential smoothing, you are smoothing the base demand, but with double-exponential smoothing you are smoothing the base demand plus the trend, and with triple-exponential smoothing you are smoothing the base demand plus the trend plus the seasonality.
The other most commonly asked question about exponential smoothing is “where do I get my smoothing factor?” There is no magical answer here, you need to test various smoothing factors with your demand data to see what gets you the best results. There are calculations that can automatically set (and change) the smoothing factor. These fall under the term “adaptive smoothing”, but you need to be careful with them. There simply is no perfect answer and you should not blindly implement any calculation without thorough testing and developing a thorough understanding of what that calculation does. You should also run “what-if” scenarios to see how these calculations react to demand changes that may not currently exist in the demand data you are using for testing.
The data example I used previously is a very good example of a situation where you really need to test some other scenarios. That particular data example shows a somewhat consistent upward trend. Many large companies with very expensive forecasting software got in big trouble in the not-so-distant past when their software settings that were tweaked for a growing economy didn’t react well when the economy started stagnating or shrinking. Things like this happen when you don’t understand what your calculations (software) is actually doing. If they understood their forecasting system, they would have known they needed to jump in and change something when there were sudden dramatic changes to their business.
So there you have it; the basics of exponential smoothing explained. Want to know more about using exponential smoothing in an actual forecast, check out my book Inventory Management Explained.
More Articles by Dave Piasecki.
© Copyright. Content on InventoryOps.com is copyright-protected and is not available for republication.
Dave Piasecki, is owner/operator of Inventory Operations Consulting LLC, a consulting firm providing services related to inventory management, material handling, and warehouse operations. He has over 25 years experience in operations management and can be reached through his website (https://www.inventoryops.com), where he maintains additional relevant information.