Seasonal adjustment is a statistical method for removing the seasonal component of a time series when analyzing non-seasonal trends. It is normal to report seasonally adjusted data for unemployment rates to reveal the underlying trends in labor markets. Many economic phenomena have seasonal cycles, such as agricultural production and consumer consumption (e.g. greater consumption leading up to Christmas). It is necessary to adjust for this component in order to understand what underlying trends are in the economy; thus, official statistics are often adjusted to remove seasonal components.

Different statistical research groups have developed different methods of seasonal adjustment, including the United States Census Bureau's X12 ARIMA, the Bank of Spain's TRAMO/SEATS, and STAMP, developed by a group led by S. J. Koopman. Each group provides software supporting their particular methods.

NumXL supports the modeling methodology for X12 ARIMA in Excel. X-12-ARIMA is the software produced, distributed and maintained by the United States Census Bureau.

Using the X-12 functionality in NumXL, you can reference the input data in the spreadsheet, specify the different options (e.g. prior adjustment, outlier treatment, etc.) of X12 ARIMA in Excel through an intuitive wizard, and display the seasonal-adjusted time series or forecast in Excel.

Behind the scenes, NumXL translates the user’s options into native X12 ARIMA scripts, runs the program and avails the outputs (e.g. seasonal adjusted trend, seasonal factor, irregulars, forecast) through a set of worksheet functions. Nevertheless, the user can view/access the generated input and output files using the NumXL wizard.

regARIMA Model

The X12 ARIMA in Excel software comes with extensive time series modeling and model selection capabilities for linear regression models with ARIMA errors (regARIMA models).

The ARIMA models, as discussed by Box and Jenkins (1976), are frequently used for seasonal time series. A general multiplicative seasonal ARIMA model for a time series \(z_t\) can be written:

\[ \phi(L)\Phi(L^s)(1-L)^d (1-L^s)^D\times z_t = \theta(L)\Theta(L^s)a_t \]


  • \(L\) is the Lag or the Backshift operator
  • \(s\) is the seasonal period
  • \((\phi(L)=\phi_o+\phi_1 L+\phi_2 L^2 +\cdots +\phi_p L^p)\) is the nonseasonal autoregressive (AR) model component
  • \((\Phi(L)=\Phi_o+\Phi_1 L+\Phi_2 L^2 +\cdots +\Phi_P L^P)\) is the seasonal autoregressive (AR) model component
  • \((\theta(L)=\theta_o+\theta_1 L+\theta_2 L^2 +\cdots +\theta_q L^q)\) is the nonseasonal moving average (MA) model component
  • \((\Theta(L)=\Theta_o+\Theta_1 L+\Theta_2 L^2 +\cdots +\Theta_Q L^Q)\) is the seasonal moving average (MA) model component
  • \((1-L)^d \) is the non-seasonal differencing operator of order d
  • \((1-L^s)^D \) is the seasonal differencing operator of order D and seasonal period (s)
  • \( \{a_t\}\sim \textrm{i.i.d}\sim N(0,\sigma^2)\)
  1. It is common to replace z_t by deviations from the mean: \[ z_t-\mu \] Where: \[ \mu=E[z_t]\]
  2. \( (1-L)^d(1-L^s)^D\) operator yields a stationary time series.

A natural extension for the ARIMA model results from the use of a time-varying mean function modelled via linear regression effects.

\[ y_t=\sum_{i=1}^N{\beta_i x_{i,t}}+z_t \] Where:
  • \( y_t\) is the (dependent) time series
  • \( x_{i,t}\) are regression variables observed concurrently with y_t
  • \( \beta_i\) are the regression parameters
  • The time series of regression errors is assumed to follow the earlier ARIMA model: \[ z_t= y_t-\sum_{i=1}^N{\beta_i x_{i,t}}\]

As a result, the general regARIMA model supported by the program X12 ARIMA in Excel is:

\[ \phi(L)\Phi(L^s)(1-L)^d (1-L^s)^D\times (y_t-\sum_{i=1}^N{\beta_i x_{i,t}}) = \theta(L)\Theta(L^s)a_t \]