Exponential Smoothing
A simple, robust forecasting rule that blends the newest observation with the previous forecast, weighting recent data more heavily and older data less and less. The idea behind the ubiquitous EWMA.
Prerequisites: ARMA Models
Exponential smoothing is the forecasting rule you would invent yourself if you had to guess tomorrow from a noisy history and wanted something dead simple. The idea: your next forecast is mostly your last forecast, nudged a little toward whatever just happened. Recent data counts more than old data, and the influence of any observation fades smoothly, exponentially, as it recedes into the past. It is the engine behind the exponentially weighted moving average (EWMA) you see everywhere, from volatility estimates to server-load monitors.
The updating rule
Let be the latest observation and the forecast you made for it. The forecast for the next step is
Here is the smoothing parameter, a number between 0 and 1 that sets how twitchy the forecast is. A large (say ) leans hard on the newest point and reacts fast but jitters; a small (say ) barely moves, staying smooth but sluggish. In words: new forecast = a slice of the newest data plus the rest of your old forecast.
Unrolling that recursion shows where the name comes from. The forecast is a weighted average of all past observations,
with weights that shrink by a factor at every step back. The weights never hit zero, but they decay geometrically, so the distant past is quietly forgotten.
The one-line forecast: . It is a geometrically weighted average of the whole past, newest data heaviest, older data fading by a factor each step.
Worked example
You track a metric and start with a forecast of . You choose . New values arrive: , then , then .
- After : .
- After : .
- After : .
Each step moves the forecast of the way toward the surprise and keeps of what it believed before. The forecast trails the data, deliberately, so a single spike does not yank it around.
A handy dial: the half-life of the weights is . For that is about steps, so the memory is roughly two periods. Pick by the half-life you actually want, not by eye.
Growing the model: trend and seasonality
Plain (single) exponential smoothing has no notion of trend, so it always lags a rising series. Two extensions fix that:
- Holt's method adds a second equation that smooths the slope, so the forecast can climb or fall in a straight line.
- Holt–Winters adds a third equation for a repeating seasonal pattern, giving each month or weekday its own multiplier.
The same "blend new with old" logic runs each component.
Where it misleads
- It lags real trends. Single smoothing chases a genuine upward move and stays permanently behind it, an important flaw if the drift is the signal.
- It is a one-step tool. The natural forecast for every future step is just the current level (a flat line), so plain smoothing is weak for long horizons unless you add a trend term.
- is a choice, not a truth. Too high and you fit the noise; too low and you miss the turn. Tune it on held-out data, and remember exponential smoothing is a special case of an ARMA model and of the Kalman filter, so if you need more structure, graduate to those.
Exponential smoothing reacts but never anticipates, so it systematically lags trends and turning points. If your series has a persistent drift or a seasonal cycle, use Holt or Holt–Winters, not plain single smoothing.
The same recursion powers EWMA volatility: replace "observation" with "squared return" and you get RiskMetrics' one-parameter volatility estimate, a small idea with an outsized footprint.
Practice in interviews
Further reading
- Holt (1957), Forecasting Seasonals and Trends by Exponentially Weighted Moving Averages
- Hyndman & Athanasopoulos, Forecasting: Principles and Practice (Ch. 8)
- RiskMetrics Technical Document (EWMA volatility)