Time Series Analysis Package

Details

You can use the DECOMP object to perform seasonal decomposition (also called seasonal adjustment) on the working series. The DECOMP object uses classical decomposition. More complex seasonal decomposition or adjustment analysis can be performed by using the X11 or the X12 procedure of SAS/ETS.

The SetMode method determines the mode of the seasonal adjustment decomposition to be performed. There are four modes: multiplicative (MULT), additive (ADD), pseudo-additive (PSEUDOADD), and log-additive (LOGADD) decomposition (in which the components are exponentiated to the original metric). The default value for the SetMode method is MULTORADD, which uses multiplicative mode for series that are strictly positive, pseudo-additive mode for series that are nonnegative, and additive mode for series that are not nonnegative.

The SetLambda method specifies the Hodrick-Prescott filter parameter (Hodrick and Prescott 1980) for trend-cycle decomposition. The Hodrick-Prescott filter is used to decompose the trend-cycle component into the trend component and the cycle component in an additive fashion. The SetLambda method takes a single argument Value, which specifies the length of the seasonal cycle. A smaller Value assigns less significance to the cycle; that is, a value of 0 implies no cycle component. The default value is 1600.

Table 12 shows the notation and keywords that are associated with seasonal decomposition (adjustment) analysis.

Table 12: Seasonal Adjustment Formulas

Component Input Argument SetMode Value Formula
Original series original MULT upper O Subscript t Baseline equals upper T upper C Subscript t Baseline upper S Subscript t Baseline upper I Subscript t
ADD upper O Subscript t Baseline equals upper T upper C Subscript t Baseline plus upper S Subscript t Baseline plus upper I Subscript t
LOGADD log left-parenthesis upper O Subscript t Baseline right-parenthesis equals upper T upper C Subscript t Baseline plus upper S Subscript t Baseline plus upper I Subscript t
PSEUDOADD upper O Subscript t Baseline equals upper T upper C Subscript t Baseline left-parenthesis upper S Subscript t Baseline plus upper I Subscript t Baseline minus 1 right-parenthesis
Trend-cycle component tcc MULT Centered moving average of upper O Subscript t
ADD Centered moving average of upper O Subscript t
LOGADD Centered moving average of log left-parenthesis upper O Subscript t Baseline right-parenthesis
PSEUDOADD Centered moving average of upper O Subscript t
Seasonal-irregular component sic MULT upper S upper I Subscript t Baseline equals upper S Subscript t Baseline upper I Subscript t Baseline equals upper O Subscript t Baseline slash upper T upper C Subscript t
ADD upper S upper I Subscript t Baseline equals upper S Subscript t Baseline plus upper I Subscript t Baseline equals upper O Subscript t Baseline minus upper T upper C Subscript t
LOGADD upper S upper I Subscript t Baseline equals upper S Subscript t Baseline plus upper I Subscript t Baseline equals log left-parenthesis upper O Subscript t Baseline right-parenthesis minus upper T upper C Subscript t
PSEUDOADD upper S upper I Subscript t Baseline equals upper S Subscript t Baseline plus upper I Subscript t Baseline minus 1 equals upper O Subscript t Baseline slash upper T upper C Subscript t
Seasonal component sc MULT Seasonal averages of upper S upper I Subscript t
ADD Seasonal averages of upper S upper I Subscript t
LOGADD Seasonal averages of upper S upper I Subscript t
PSEUDOADD Seasonal averages of upper S upper I Subscript t
Irregular component ic MULT upper I Subscript t Baseline equals upper S upper I Subscript t Baseline slash upper S Subscript t
ADD upper I Subscript t Baseline equals upper S upper I Subscript t Baseline minus upper S Subscript t
LOGADD upper I Subscript t Baseline equals upper S upper I Subscript t Baseline minus upper S Subscript t
PSEUDOADD upper I Subscript t Baseline equals upper S upper I Subscript t Baseline minus upper S Subscript t Baseline plus 1
Trend-cycle-seasonal component tcs MULT upper T upper C upper S Subscript t Baseline equals upper T upper C Subscript t Baseline upper S Subscript t Baseline equals upper O Subscript t Baseline slash upper I Subscript t
ADD upper T upper C upper S Subscript t Baseline equals upper T upper C Subscript t Baseline plus upper S Subscript t Baseline equals upper O Subscript t Baseline minus upper I Subscript t
LOGADD upper T upper C upper S Subscript t Baseline equals upper T upper C Subscript t Baseline plus upper S Subscript t Baseline equals upper O Subscript t Baseline minus upper I Subscript t
PSEUDOADD upper T upper C upper S Subscript t Baseline equals upper T upper C Subscript t Baseline upper S Subscript t
Trend component tc MULT upper T Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper C Subscript t
ADD upper T Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper C Subscript t
LOGADD upper T Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper C Subscript t
PSEUDOADD upper T Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper C Subscript t
Cycle component cc MULT upper C Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper T Subscript t
ADD upper C Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper T Subscript t
LOGADD upper C Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper T Subscript t
PSEUDOADD upper C Subscript t Baseline equals upper T upper C Subscript t Baseline minus upper T Subscript t
Seasonally adjusted series sa MULT upper S upper A Subscript t Baseline equals upper O Subscript t Baseline slash upper S Subscript t Baseline equals upper T upper C Subscript t Baseline upper I Subscript t
ADD upper S upper A Subscript t Baseline equals upper O Subscript t Baseline minus upper S Subscript t Baseline equals upper T upper C Subscript t Baseline plus upper I Subscript t
LOGADD upper S upper A Subscript t Baseline equals upper O Subscript t Baseline slash normal e normal x normal p left-parenthesis upper S Subscript t Baseline right-parenthesis equals normal e normal x normal p left-parenthesis upper T upper C Subscript t Baseline plus upper I Subscript t Baseline right-parenthesis
PSEUDOADD upper S upper A Subscript t Baseline equals upper T upper C Subscript t Baseline upper I Subscript t


When s is odd, the trend-cycle component is computed from the s-period-centered moving average as follows:

upper T upper C Subscript t Baseline equals sigma-summation Underscript k equals minus left floor s slash 2 right floor Overscript left floor s slash 2 right floor Endscripts y Subscript t plus k Baseline slash s

When s is even, the trend-cycle component is computed from the s-period-centered moving average as follows:

upper T upper C Subscript t Baseline equals sigma-summation Underscript k equals minus s slash 2 Overscript s slash 2 minus 1 Endscripts left-parenthesis y Subscript t plus k Baseline plus y Subscript t plus 1 plus k Baseline right-parenthesis slash 2 s

The seasonal component is obtained by averaging the seasonal-irregular component for each season,

upper S Subscript k plus j s Baseline equals sigma-summation Underscript t equals k mod s Endscripts StartFraction upper S upper I Subscript t Baseline Over upper T slash s EndFraction

where 0 less-than-or-equal-to j less-than-or-equal-to upper T slash s and 1 less-than-or-equal-to k less-than-or-equal-to s. The seasonal components are normalized to sum to 1 (multiplicative) or 0 (additive).

Last updated: July 09, 2026