Exponential Smoothing is a technique to make forecasts by using a weighted mean of past values, wherein more recent values are given higher weights.
Now, let’s try to unpack that statement and actually understand it.
Background: We have a ‘time series’ of values, typically taken at equally distant time intervals. As an example, think of the Quarterly Sales numbers for some product for the last 5 years. So we have a total of 20 sales numbers. How to use that to forecast the expected sales for the next (future) quarter?
Before we get to Exponential Smoothing, let’s understand simpler options first.
Simple Mean: We can simply average these 20 sales numbers. That would be a valid forecast. But it will miss trends and seasonal variations in our data.
Next, we could try a (Simple) Moving Average. For this technique, we pick a “window size” k. Say we decide on k=4 time periods. The SMA technique is nothing but the average of the first 4 numbers, then the set of numbers 2-to-5, then 3rd-to-6th values and so on. Doing this has the effect of “smoothing” out our sales time series because the impact of one strong (or weak) quarter gets mitigated by its other neighboring values. Because we are always dividing by 4 (our chosen window size) this is also often called “Equally-weighted” Moving Average.
A natural thing to try next is to give the more recent values some “extra weight” because the latest sales figures could be reflecting more important recent trends. This is where Exponential Smoothing comes in. For this technique we have to pick a factor (called the smoothing constant) alpha, a number between 0 and 1. [Alpha closer to 1 means we are giving a lot of importance to the most recent values.]
Smoothed Value(at time t) = Actual value at time t * alpha + Smoothed Value at the previous time t-1 * (1 – alpha)
Notice that the formula above for Exponential Smoothing is recursive. This is neat, because it means that all the past values do end up playing a role in the forecast, albeit with decreasing importance as the values get ‘older’ in time.
With this background, you can read up on exponential smoothing techniques. And if you are using R, try the ses() command on a small series, and trying changing the alpha values. That is one good way to develop intuition about ETS forecasts.
Keep Learning 🙂
An article by – Ram Narasimhan