SPSS command: SPSS SEASON
Seasonal decomposition and seasonal adjustment
Seasonal decomposition separates a series into a repeating seasonal pattern, a smooth trend-cycle and what is left over.
Free · No account · Files stay on your device · Updated 18 October 2026
What it tells you
Crosstabs runs the classical ratio-to-moving-average method of SPSS SEASON, multiplicative or additive, and gives the seasonal factors plus the SAS, SAF, STC and ERR series as a CSV download.
- How far each month or quarter typically sits above or below the trend: a factor of 108% means 8% above.
- The seasonally adjusted series (SAS), so you can compare consecutive periods without the calendar effect.
- The trend-cycle (STC) underneath the noise, and the irregular component (ERR) that neither explains.
When to use it
Use it when
- A monthly tracker jumps every December and you want to know whether this December was better than usual.
- You need seasonally adjusted figures for reporting or as input to another model.
- You want to see whether the seasonal swing is constant (additive) or grows with the level (multiplicative).
Use something else when
- There is no clear periodicity or fewer than two full cycles of data.
- You need forecasts: use exponential smoothing with a seasonal component or a seasonal ARIMA model.
- You need X-13ARIMA-SEATS style adjustment with trading-day and holiday effects; SEASON is the simpler classical method.
How to run it in Crosstabs
- 01
Open Seasonal decomposition
In Statistics mode, choose Seasonal decomposition (SEASON) in the Forecasting group.
- 02
Define the time axis with a periodicity
Set the Periodicity to 2 or more, e.g. Monthly (12) or Quarterly (4). Gaps are not allowed, so tick Fill missing time points by linear interpolation if periods are empty.
- 03
Choose the Series and Model
Pick the Series and set Model to Multiplicative (the default) or Additive.
- 04
Choose the Moving average weight
For an even periodicity choose Endpoints weighted by 0.5 (a centred 2 × p average, the SPSS default) or All points equal. Odd periodicities always use equal weights.
- 05
Run and download
Click Run, read the Seasonal Factors and chart, then use Download ERR, SAS, SAF and STC (CSV) to keep the new series.
Worked example
Computed by the Crosstabs engine from the synthetic data below when this page was built — not typed in.
Data
48 synthetic monthly values (January 2022 to December 2025) of a brand-tracker metric in percent: a level of 40 rising 0.25 points a month, a fixed seasonal pattern that peaks in December and dips in July, and normal noise (SD 1.1) from a fixed seed, so every build produces the same series.
| Period | Seasonal Factor (%) |
|---|---|
| 1 (Jan) | 102.949 |
| 2 (Feb) | 102.613 |
| 3 (Mar) | 101.495 |
| 4 (Apr) | 99.632 |
| 5 (May) | 93.675 |
| 6 (Jun) | 94.819 |
| 7 (Jul) | 93.951 |
| 8 (Aug) | 97.230 |
| 9 (Sep) | 97.116 |
| 10 (Oct) | 103.551 |
| 11 (Nov) | 103.973 |
| 12 (Dec) | 108.996 |
Multiplicative model; moving average of span 12 with endpoints weighted by 0.5. Period 1 is January 2022.
| Time point | Original | Seasonally adjusted (SAS) | Trend-cycle (STC) |
|---|---|---|---|
| 2025-07 | 48.2 | 51.30 | 50.12 |
| 2025-08 | 45.6 | 46.90 | 49.95 |
| 2025-09 | 50.9 | 52.41 | 50.76 |
| 2025-10 | 52.5 | 50.70 | 51.32 |
| 2025-11 | 55.2 | 53.09 | 51.88 |
| 2025-12 | 56.5 | 51.84 | 52.16 |
These columns come from the panel's CSV download of ERR, SAS, SAF and STC.
How to read it
Month 12 runs at 109.0% of the trend level and month 5 at 93.7%. Dividing by these factors gives the seasonally adjusted series: December 2025 reads 56.5 raw but 51.84 after adjustment, against a trend-cycle value of 52.16.
Output tables explained
- Seasonal Factors
- One factor per position in the cycle. Multiplicative factors are percentages averaging 100 (medial averages of the ratios to the moving average); additive factors are differences centred on 0. Period 1 is the cycle position of the first time point.
- Original, seasonally adjusted and trend-cycle series
- A chart of the original series, SAS and STC. The CSV download adds SAF (the factor at each time point) and ERR (the irregular component).
Assumptions and notes
- The seasonal pattern is stable across the years in the file; factors are averages over all cycles.
- The multiplicative model needs positive values; use additive for series that can be zero or negative.
- The series has no missing values inside its span.
How the results are validated
The additive model with centred weights matches statsmodels seasonal_decompose (seasonal and trend components) to 1e-11. The multiplicative model, equal weights and an odd periodicity are checked against an independent numpy implementation of the SPSS manual's formulas, with factors, SAS, STC and ERR agreeing to 1e-11. Validation evidence
Questions
Multiplicative or additive?
If December is always about 10% above trend regardless of the level, use multiplicative. If it is always about 4 points above, use additive. Plotting the series usually makes it clear.
What do SAS, SAF, STC and ERR stand for?
SAS is the seasonally adjusted series, SAF the seasonal adjustment factor at each time point, STC the smoothed trend-cycle and ERR the irregular remainder. They use the SPSS variable-name prefixes.
Are the new series added to my dataset?
No. SPSS SEASON creates new variables; here the four series are offered as a CSV download so your open file is not changed.
How many years of data do I need?
At least two full cycles, and preferably four or more: the moving average loses half a cycle at each end, and each factor averages only the cycles that remain.
Related procedures
- Exponential SmoothingEXSMOOTH
- Time Series Forecasting (Expert Modeler)TSMODEL
- Create Time SeriesCREATE
- Spectral AnalysisSPECTRA
- Autocorrelations (ACF and PACF)ACF
- Free SPSS alternative: full coverage list
Run Seasonal Decomposition on your own data
Open a .sav, CSV or Excel file. Everything runs in your browser; the file never leaves your device.
SPSS is a trademark of IBM Corp. Crosstabs is not affiliated with or endorsed by IBM.