1. Start With the Problem
Suppose we observe monthly ice-cream sales:
Sales generally increase, but every summer demand rises and every winter it falls.
The series contains:
- A changing level or trend.
- A repeating 12-month seasonal pattern.
- Relationships between neighboring months.
- Random forecasting errors.
ARIMA can handle trend and short-term dependence, but ordinary ARIMA does not explicitly represent repeating seasonal relationships.
SARIMA extends ARIMA by adding seasonal differencing, seasonal autoregression, and seasonal moving-average terms.
SARIMA models both short-term relationships and relationships between matching positions in different seasonal cycles.
2. What Does SARIMA Mean?
SARIMA stands for:
The first group describes nonseasonal behavior:
| Parameter | Meaning |
|---|---|
| \(p\) | Nonseasonal AR order |
| \(d\) | Nonseasonal differencing order |
| \(q\) | Nonseasonal MA order |
The second group describes seasonal behavior:
| Parameter | Meaning |
|---|---|
| \(P\) | Seasonal AR order |
| \(D\) | Seasonal differencing order |
| \(Q\) | Seasonal MA order |
| \(m\) | Number of observations in one seasonal cycle |
3. Meaning of the Seasonal Period \(m\)
The value of \(m\) depends on the frequency of the observations and the repeating pattern.
| Dataset | Repeating pattern | \(m\) |
|---|---|---|
| Monthly data | Annual | 12 |
| Quarterly data | Annual | 4 |
| Daily data | Weekly | 7 |
| Hourly data | Daily | 24 |
| Hourly data | Weekly | 168 |
For monthly data with annual seasonality:
Therefore:
- \(Y_{t-1}\) is the previous month.
- \(Y_{t-12}\) is the same month last year.
- \(Y_{t-24}\) is the same month two years ago.
The seasonal component primarily works with lags such as:
Seasonal Differencing
4. Why Ordinary Differencing May Not Remove Seasonality
Suppose quarterly demand is:
Each group of four values has a similar shape.
The first differences are:
The seasonal pattern is still visible. First differencing compares neighboring periods, but the repeating relationship is between matching quarters.
We instead compare each value with the same seasonal position in the previous cycle.
5. Seasonal Differencing
Seasonal differencing is:
For monthly data with annual seasonality:
This asks:
How different is this month from the same month last year?
For daily data with weekly seasonality:
This asks:
How different is today from the same weekday last week?
6. Seasonal Differencing Example
Suppose quarterly demand over three years is:
Here:
The seasonal differences between years 1 and 2 are:
Therefore:
The large quarterly pattern disappears. What remains is the year-over-year growth.
7. Meaning of \(D\)
The seasonal differencing order is \(D\).
- \(D=0\): no seasonal differencing.
- \(D=1\): subtract the previous seasonal value.
- \(D=2\): seasonally difference twice.
With \(D=1\):
Here, \(B\) is the backshift operator:
Most applications use:
Excessive seasonal differencing can amplify noise and create artificial seasonal autocorrelation.
8. Using Ordinary and Seasonal Differencing Together
Some series contain both a nonseasonal trend and changing seasonality.
We can apply both:
For monthly data:
First apply seasonal differencing:
Then apply ordinary differencing:
Expanding this gives:
This compares the current month-to-month change with the corresponding month-to-month change from last year.
Seasonal Autoregression
9. Seasonal AR Intuition
A nonseasonal AR(1) model uses:
A seasonal AR(1) model uses:
For monthly data:
The coefficient \(\Phi_1\) measures how strongly this month depends on the same month last year.
Example
Suppose:
If sales in the same month last year were 200:
The model carries forward 80% of the previous year’s same-month value and adds an intercept of 20.
10. Meaning of \(P\)
The seasonal AR order is \(P\).
A seasonal AR(\(P\)) component uses:
For \(P=2\) and \(m=12\), the model uses:
It asks:
Do matching months from one or more previous years help predict the current month?
A seasonal AR pattern may appear as significant PACF spikes at:
Seasonal Moving Average
11. Seasonal MA Intuition
A nonseasonal MA(1) component uses the previous error:
A seasonal MA(1) component uses the error from one complete seasonal cycle ago:
For monthly data:
The model asks:
Did an unexpected event in the same month last year contain information that helps correct this month’s forecast?
12. Seasonal MA Example
Suppose:
Last year’s forecast for the same month was 180, but actual sales were 200.
Therefore:
The seasonal error correction is:
Ignoring the unknown current error:
The model adjusts the forecast because a similar seasonal position was previously underpredicted.
13. Meaning of \(Q\)
The seasonal MA order is \(Q\).
A seasonal MA(\(Q\)) component uses:
For \(Q=1\) and \(m=7\), the current forecast can use the unexpected error from the same weekday last week.
A seasonal MA pattern may appear as ACF spikes at:
Putting Everything Together
14. Complete SARIMA Structure
The complete model is:
Using the backshift operator, it can be written as:
where:
- \(\phi(B)\): nonseasonal AR polynomial
- \(\theta(B)\): nonseasonal MA polynomial
- \(\Phi(B^m)\): seasonal AR polynomial
- \(\Theta(B^m)\): seasonal MA polynomial
- \((1-B)^d\): ordinary differencing
- \((1-B^m)^D\): seasonal differencing
In plain language:
15. Understanding a Model Name
Consider:
This means:
Nonseasonal part
- \(p=1\): use the previous differenced value.
- \(d=1\): take one ordinary difference.
- \(q=1\): use the previous forecast error.
Seasonal part
- \(P=1\): use the corresponding value from the previous year.
- \(D=1\): take one annual seasonal difference.
- \(Q=1\): use the forecast error from the same month last year.
- \(m=12\): twelve observations form one cycle.
This is a fairly complex model. Simpler models should also be tested.
16. Multiplicative Does Not Mean Multiplicative Seasonality
SARIMA is sometimes called a multiplicative seasonal ARIMA model because the seasonal and nonseasonal polynomials are multiplied:
This multiplication creates interaction lags.
For example:
Expanding gives:
Therefore, a model with:
- a nonseasonal AR lag at \(1\),
- a seasonal AR lag at \(12\),
also produces an interaction at:
This use of “multiplicative” is different from multiplicative seasonality in Holt-Winters.
17. Small SARIMA Example
Consider:
The AR polynomials are:
Expanding:
Therefore:
Suppose:
and:
Ignoring the unknown current error:
The forecast combines:
- the latest observation,
- the matching month last year,
- the interaction between the two lag structures.
Choosing the Seasonal Orders
18. Choose \(m\) From Domain Knowledge
The seasonal period should usually come from how the data is generated.
Examples:
- Seven-day work cycles suggest \(m=7\) for daily data.
- Annual climate patterns suggest \(m=12\) for monthly data.
- Daily activity suggests \(m=24\) for hourly data.
Do not automatically use a peak in a periodogram without checking whether the period makes operational sense.
Also remember:
Observation frequency does not uniquely determine seasonality.
Hourly data may contain both:
and:
Standard SARIMA handles one seasonal period directly.
19. Choose \(D\) Before \(P\) and \(Q\)
Ask whether the seasonal pattern is stable after accounting for trend.
Evidence for seasonal differencing may include:
- similar patterns repeating across cycles,
- a strong ACF spike at lag \(m\),
- slowly decaying correlations at \(m,2m,3m,\ldots\),
- improved stability after plotting \(Y_t-Y_{t-m}\),
- better rolling-validation performance.
Choose the smallest useful value of \(D\), usually 0 or 1.
20. Use Seasonal ACF and PACF as Hints
After applying the required differencing:
| Pattern | Possible component |
|---|---|
| PACF spike at \(m\), seasonal ACF decays | Seasonal AR(1) |
| ACF spike at \(m\), seasonal PACF decays | Seasonal MA(1) |
| Both decay at seasonal lags | Mixed seasonal ARMA structure |
These are only starting points.
Finite samples, nonseasonal dependence, multiple seasonalities and outliers can blur textbook patterns.
21. Practical Model-Selection Workflow
- Determine the seasonal period \(m\) from domain knowledge.
- Plot the series and compare multiple seasonal cycles.
- Decide whether a transformation is required.
- Choose ordinary differencing order \(d\).
- Choose seasonal differencing order \(D\).
- Inspect the ACF and PACF of the transformed series.
- Propose a small collection of \(p,q,P,Q\) values.
- Compare AIC or BIC among fitted candidates.
- Compare rolling-origin forecast accuracy.
- Inspect residual diagnostics.
- Prefer the simplest model that forecasts reliably.
Do not choose the model using AIC alone. A model can fit historical data well but forecast poorly.
Diagnostics
22. What Should Good SARIMA Residuals Look Like?
After fitting SARIMA, residuals should contain no remaining predictable structure.
Check that they have:
- mean close to zero,
- stable variance,
- no remaining trend,
- no remaining seasonal pattern,
- no important nonseasonal autocorrelation,
- no important spikes at \(m,2m,\ldots\).
Use:
- residual time plot,
- residual ACF,
- Ljung–Box test,
- histogram,
- Q–Q plot when interval assumptions matter.
A residual ACF spike at lag \(m\) suggests that seasonal information remains unmodeled.
23. Reconstructing Forecasts After Seasonal Differencing
Suppose:
The model predicts:
To recover the level forecast, add the corresponding observation from last year:
If the matching month last year had sales of 150:
The forecast says:
Use the same seasonal position last year as the baseline, then add the predicted year-over-year change.
Software normally reverses the differencing automatically.
Practical Boundaries
24. When Is SARIMA Useful?
SARIMA works well when:
- observations are regularly spaced,
- one dominant seasonal period exists,
- seasonal relationships remain reasonably stable,
- lag relationships are informative,
- the series can be made approximately stationary,
- interpretability matters,
- the dataset is small or moderately sized.
SARIMA may struggle when:
- multiple seasonalities are important,
- the seasonal period is extremely long,
- behavior changes frequently,
- external drivers dominate the target,
- relationships are highly nonlinear,
- the series contains many missing periods,
- demand is highly intermittent.
For multiple seasonalities, alternatives may include:
- dynamic harmonic regression with Fourier features,
- TBATS,
- Prophet,
- machine-learning models with calendar and lag features.
25. SARIMA Versus Holt-Winters
| Holt-Winters | SARIMA |
|---|---|
| Stores evolving level, trend and seasonal states | Models ordinary and seasonal lag relationships |
| Seasonality is represented as a changing seasonal effect | Seasonality is represented through seasonal differencing, AR and MA terms |
| Strong state-based intuition | Strong correlation-based intuition |
| Adapts naturally to a changing local level | Captures structured dependence among observations and errors |
| Additive or multiplicative seasonal form | Seasonal and nonseasonal lag polynomials |
Neither method is universally better.
Compare them using:
- identical training periods,
- identical forecast horizons,
- identical rolling origins,
- the same business-relevant metrics.
Final Intuition
SARIMA extends the ARIMA story across seasonal cycles.
It asks five questions:
- Should the series be differenced from the previous observation?
- Should it be differenced from the matching seasonal observation?
- Do recent values help predict the next value?
- Do matching values from previous seasons help?
- Do recent or seasonal forecast errors require correction?
The complete mental model is:
ARIMA remembers nearby history. SARIMA remembers nearby history and matching seasonal history.