Exponential Smoothing

You run a warehouse and need next week's demand for a part. You have years of weekly sales, jittery and noisy. A moving average would work, but it has an odd habit: it treats the sale 20 weeks ago as exactly as important as last week's, then drops it off a cliff the moment it leaves the window. Intuitively, recent weeks should matter more, and old weeks should fade — not vanish abruptly.

Exponential smoothing builds exactly that intuition into a forecast. It is one of the most widely used forecasting methods on Earth — simple, robust, and shockingly hard to beat on noisy, level series. Retailers, supply chains and dashboards run millions of exponential-smoothing forecasts every night. And, as we will see, it is a state-space model in disguise.

The recursion

Simple exponential smoothing (SES) forecasts the next value as a blend of the latest observation and the latest forecast:

\hat{y}_{t+1} = \alpha\,y_t + (1 - \alpha)\,\hat{y}_t, \qquad 0 < \alpha < 1.

That's it — a single line and a single parameter \alpha, the smoothing constant. Read it as: "my new forecast is a fraction \alpha of what I just saw, plus the rest of what I already believed." Each new forecast is an updated average, nudged toward the freshest data.

Unroll the recursion and something beautiful appears. Substituting \hat{y}_t in terms of y_{t-1} and \hat{y}_{t-1}, again and again, gives a weighted sum of all past observations:

\hat{y}_{t+1} = \alpha\sum_{k=0}^{\infty}(1-\alpha)^{k}\,y_{t-k} = \alpha y_t + \alpha(1-\alpha) y_{t-1} + \alpha(1-\alpha)^2 y_{t-2} + \cdots

The weights \alpha(1-\alpha)^k shrink geometrically as you reach further back — hence exponential smoothing. Every observation contributes, but the distant past fades smoothly toward zero instead of being chopped off. (The weights sum to one, so the forecast stays on the same scale as the data.)

What α does

The single dial \alpha trades responsiveness against stability:

There is no universally right value; it is estimated from the data by minimising one-step forecast error (typically the sum of squared innovations). Drag the slider below and watch the smooth follow the noisy series more or less eagerly.

Responsiveness vs stability, live

The dots are a fixed noisy series hovering around a level that shifts partway through. The line is its exponential smooth for the chosen \alpha. Push \alpha up and the line clings to every dot; pull it down and the line glides serenely, ignoring the jitter but lagging when the level jumps.

The error-correction form

Rearrange the recursion around the forecast error e_t = y_t - \hat{y}_t (the one-step innovation) and it reads even more intuitively:

\hat{y}_{t+1} = \hat{y}_t + \alpha\,e_t.

"Take your last forecast; nudge it by a fraction \alpha of how wrong you were." This error-correction shape is the same predict-then-correct rhythm as the Kalman filter — and that is no coincidence. Simple exponential smoothing is exactly the steady-state Kalman filter for the local-level model, with \alpha playing the role of the steady Kalman gain. The state-space framework gives SES its rigorous foundation: honest forecast intervals, likelihood-based estimation of \alpha, and a home in a much larger family.

The forecast is a flat line

What does SES predict for two, five, ten steps ahead? The same number. With no observations to correct it, the recursion just repeats the last smoothed value:

\hat{y}_{T+h} = \hat{y}_{T+1} \quad\text{for all } h \ge 1.

The multi-step forecast is a flat horizontal line at the current level. That is the right answer for a series with no trend and no season — but a serious limitation otherwise, which we fix next.

Worked example: one update with α = 0.3

Say your current forecast is \hat{y}_t = 100 and this week's actual demand comes in at y_t = 120. With \alpha = 0.3:

The forecast moved 30% of the way from 100 toward the surprising 120, landing at 106 — responsive enough to notice the jump, cautious enough not to over-react to what might be noise.

The most common misuse: applying simple exponential smoothing to a series that is clearly trending or seasonal. Because the multi-step forecast is a flat line at the current level, SES on a rising series will forecast a flat continuation — systematically too low, lagging the trend forever, because it is always chasing a level that has already moved on. On a seasonal series it smears the peaks and troughs into mush.

SES is the right tool only for a series that is roughly level (no trend, no seasonality) with noise around it. The moment a trend or a repeating pattern is present, you need the richer members of the family: Holt's linear method and Holt–Winters, which add a trend term and a seasonal term while keeping the same elegant error-correction machinery.

It was born of a very practical problem: inventory control in the 1950s. Robert G. Brown, working on tracking systems and later spare-parts logistics for the US Navy, needed a forecast a clerk (or a primitive computer) could update with almost no arithmetic and almost no memory — just one number carried forward and one multiplication per period. Exponential smoothing was that method. Charles Holt extended it to trends and seasons around the same time, and Peter Winters added the seasonal piece. Decades later, statisticians showed these hand-cranked recipes were secretly optimal state-space filters all along — a lovely case of engineering pragmatism arriving at deep theory by the back door.