Time Series
Advanced 16 min read Time Series

SARIMA and ETS

Seasonal structure, two statistically honest ways

SARIMA adds seasonal AR/MA/differencing terms to capture periodic patterns; ETS (error-trend-seasonality) models the components with smoothing instead. Choosing between them is a forecast-architecture decision.

SARIMAETSseasonal differencingseasonal AR/MAHolt-Wintersexponential smoothing
Prerequisites: ARIMA Models
Before we start

What you will learn

  • Write and interpret the SARIMA seasonal terms (P,D,Q,m)
  • Understand ETS models from the smoothing recursion
  • Choose SARIMA vs ETS from AIC and residual quality
Introduction

What is this?

SARIMA extends ARIMA with seasonal autoregressive (P), seasonal differencing (D) and seasonal moving average (Q) terms at period m — SARIMA(p,d,q)(P,D,Q)_m — capturing repeating effects at fixed offsets. ETS (error, trend, seasonality) models both level and structure through exponential smoothing recurrences, with additive or multiplicative terms selected by information criteria and Box-Cox transforms. Both are classical families; SARIMA wins on rich irregular dynamics, ETS wins on simplicity and trend/season interactive forms.

Motivation

Why do you need it?

  • Plain ARIMA leaks seasonality into residuals — the pattern is memory, not noise.
  • ETS handles seasonality with interpretable component weights and direct interval forecasts.
  • Auto-selection (auto_arima, ETS selector via AIC) gives reproducible picks without hand-tweaking.
  • They're the honest baselines ML forecasters must beat before adding complexity.
Think about it

Mental model

Imagine

Reading a tide chart vs sweeping a pendulum clock

Think of

SARIMA vs ETS

SARIMA explicitly models 'what happened this season vs last' with lagged terms — a tide chart built from lunar lags. ETS assumes the season pattern evolves smoothly, like a pendulum — track the amplitude, correct slowly. Both tell you the ocean; the physics they assume differs.

Mechanics

How it works

  • SARIMA: add (P,D,Q)_m — seasonal differencing removes repeat-trend, seasonal AR multiplies the series by (1 − Φ₁B^m − ...).
  • Seasonal order m = the cycle length (12 monthly, 7 daily/weekly).
  • ETS: level, trend and seasonal equations update with smoothing parameters (α, β, γ), additive or multiplicative.
  • Both are fit by maximum likelihood (SARIMA uses Kalman/state space internally; ETS matches a state-space likelihood).
  • Select among candidates with AIC/BIC, then verify residual white noise and out-of-sample backtest.

SARIMA seasonal terms vs ETS component smoothing.

Series
SARIMA
ETS
Select
Forecast
Real world

In production

  • A retailer picks SARIMA(2,1,1)(1,1,1)_12 for monthly demand — 12-month seasonal effects matter more than deep AR memory.
  • An energy scheduler uses Holt-Winters (ETS) for weekly load because the αβγ smoothing tracks slow seasonal drift.
  • Both are compared each month by auto-selection, and the winner feeds safety-stock via its prediction intervals.
Guidelines

Best practices

  • Set m from real cycles and confirm with spectral/ACF checks.
  • Let auto_arima/AIC-driven ETS do the order search, but sanity-check by hand.
  • Compare SARIMA vs ETS candidates on the same walk-forward backtest, not just in-sample AIC.
  • Forecast intervals come from the fitted state space — never hack percentiles of one path.
Watch out

Common mistakes

  • Writing SARIMA with the wrong m (monthly data but m=4 'quarterly') and wondering at the residual spikes.
  • Differencing both d and D aggressively, then overdifferencing (stationary field says immune).
  • Fitting ETS additive when the series needs multiplicative seasonal — spikes blow up.
  • Selecting purely on in-sample AIC and skipping the backtest where both fail differently.
Root cause analysis

Common issues

Error
SARIMA 'explodes' the forecast (blows up)
Root cause

Roots near the unit circle after heavy differencing

Fix

Reduce d/D, stabilize with SARIMAX constraints or cap orders; verify characteristic roots inside the unit circle.

Error
ETS and SARIMA disagree wildly
Root cause

One captured structure the other isn't (damping, seasonal drift)

Fix

Look at residual ACF both — the analysis that passes diagnostics wins the backtest.

When things break

Debugging tips

  • Residual ACF spike at lag m → add seasonal MA(Q) term (or raise it).
  • PACF spike at lag m → add seasonal AR(P).
  • ETS forecast variance wrong → check the residual variance decomposition and Box-Cox choice.
  • Turn summer factors stay 'constant' forever? The smoothing γ may be pinned to ~0 — season is fixed or data short.
Interviews

Interview checkpoint

Practice

Hands-on lab

SARIMA vs ETS on Seasonal Data
35 min · advanced
In progress
Objectives
  • Fit SARIMA(.,.,.)(1,1,1)_12 on monthly data
  • Fit an ETS model with multiplicative season
  • Compare on a future-only backtest window

SARIMA vs ETS on Seasonal Data

35 min · advanced

0/4 steps
0%
sandbox · Linux sandbox
$
Try these commands
Test yourself

Quick quiz

0/2
1

In SARIMA(p,d,q)(P,D,Q)_12, the 12 means:

2

ETS can model multiplicative seasonality while SARIMA primarily uses differencing and linear lags.

Go deeper

Official documentation