Exponential Smoothing ETS in R: A Hands-On Interactive Course
Exponential smoothing does one simple thing well: it weights recent observations more than old ones, with the weights decaying geometrically the further back you look. This six-lesson interactive course builds that one idea into a full forecasting toolkit, from a series with no trend to one with both trend and season.
Exponential smoothing is not a single technique but a family, one that gets a new component added at a time. You start with simple exponential smoothing on a series with no clear direction, add a slope with Holt's method, add a seasonal cycle with Holt-Winters, then step back to see the state-space taxonomy that ties all of it together and the automatic selection that fits, compares and forecasts with one function call.
Each lesson is a guided, interactive experience: you run real R code in the page, answer checkpoints, and work with one real dataset per idea. No setup, no installs.
The six lessons
Lesson 1: Simple exponential smoothing
Forecast a series with no trend to follow by weighting recent years more than old ones. Build Algeria's 58 years of export data as a tsibble, compare a naive repeat-the-last-value guess and a flat historical average against SES, then fit ETS(y ~ error("A") + trend("N") + season("N")) in fable and see why every SES forecast is a flat line at the last smoothed level.
Start Lesson 1: Simple exponential smoothing
Lesson 2: Holt linear trend and the damped trend
Add a slope component with beta to forecast a series that climbs or falls steadily. See why an undamped trend embarrasses you at long horizons, meet the damping parameter phi and its usual range, and compare the naive, Holt and damped-Holt forecasts on a decade of air passenger numbers.
Start Lesson 2: Holt linear trend and the damped trend
Lesson 3: Holt-Winters seasonal methods
Add a seasonal component with gamma to forecast a series with a repeating calendar pattern. Tell additive from multiplicative seasonality, meet the damped seasonal variant, and forecast quarterly tourism with each version side by side.
Start Lesson 3: Holt-Winters seasonal methods
Lesson 4: The ETS taxonomy
Learn what the three letters in ETS, error, trend and season, actually mean, and which of the thirty combinations are stable enough to fit. See the state-space form behind an additive versus a multiplicative error, and why that choice decides the width of your prediction interval as much as the point forecast does.
Start Lesson 4: The ETS taxonomy
Lesson 5: Automatic ETS model selection
Let ETS() search the whole taxonomy for you. See how maximum likelihood estimates the parameters and initial states, how AICc ranks the candidates, how to read report() output, and the cases where the automatic choice still needs a human override.
Start Lesson 5: Automatic ETS model selection
Lesson 6: Forecasting with ETS in fable
Turn a fitted ETS model into a forecast you can trust. Call forecast(h = ), compare prediction intervals from the state-space form against simulation, pull apart the fitted states with components() and autoplot(), check the residuals, and benchmark the result against the naive and seasonal-naive baselines with accuracy().
Start Lesson 6: Forecasting with ETS in fable
Who this is for
Anyone who has already worked through Time Series Foundations, or is otherwise comfortable holding a tsibble and reading a series' trend and season by eye. You do not need any prior exponential smoothing experience. By the end you will be able to fit simple exponential smoothing, Holt's linear and damped trend, and Holt-Winters seasonal methods by hand and automatically, read the ETS taxonomy that ties them together, and forecast with a fitted model's prediction intervals and diagnostics in fable.
What you will be able to do
- Fit simple exponential smoothing and explain what the smoothing parameter alpha controls
- Add a trend component with Holt's method, and damp it with phi to avoid runaway long-horizon forecasts
- Add a seasonal component with Holt-Winters, and choose additive versus multiplicative seasonality
- Read the ETS(error, trend, season) taxonomy and know which combinations are stable
- Let
ETS()select a model automatically with AICc, and know when to override it - Generate forecasts with
forecast(), read state-space versus simulated prediction intervals, and check residuals
This course is part of the Forecaster track.