X-13ARIMA-SEATS Modeling - Seasonal Adjustment

This tutorial will outline the steps to define a minimal X13AS model to generate a seasonally adjusted time series for your data set.

For our sample data, we’ll use the monthly flow of international airline passengers between January 1949 and December 1960. This dataset is a popular time series sample, first covered by Box-Jenkins in their time-series reference manual back in 1970.


The U.S. Census X-13ARIMA-SEATS software is only available on 64-bit Windows machines. For more information, please consult this article:

X-13ARIMA-SEATS Compatibility with 32-bit Windows.

Step 1 – Data Preparation

We arranged the observations of the sample data in two adjacent columns: dates and values, in ascending chronological order, so that the first data point corresponds to the earliest date (i.e., Jan 1949) and the last data point corresponds to the latest (i.e., Dec 1960).

Prepare your input data as [date and value] components in chronological or reverse chronological order.


We stored the values of the date component as an actual Excel date-type (i.e., date serial number), not text. In the figure above, we chose the display in the “M-YY” date format, but you can select any other date format.

Although the X-13ARIMA-SEATS model accepts datasets in reverse chronological order (i.e., descending), we chose the ascending order for our demonstration here.

Step 2 – Define an X-13ARIMA-SEATS Model

  1. Select an empty cell in your worksheet, preferably one that is close to the input data set and that has a free adjacent cell (to store the model specifications).
    Select an empty cell in your worksheet, preferably close to the input data set.
  2. From the NumXL toolbar, locate the ARMA icon, click on it, and select the U.S. Census X13-ARIMA-SEATS from the drop-down menu.
    Locate the ARMA icon in the NumXL toolbar and select the X13ARIMA-SEATS option from the drop-down menu.
  3. The X-13ARIMA-SEATS Model (aka., X13AS) wizard or dialog box pops up on the screen.
    In the X13ARIMA-SEATS Model wizard, start filling in your input data.
  4. In the X13AS window, the Input tab is active and displayed. We need to select and describe the input data set.
    1. In the Input Data field, select the cells range in the worksheet of your data. You may include additional empty rows for future data points.
    2. In the Date Start field, select the cell with the earliest date value.
    3. The data set is collected every month, so no need to change the frequency field.
    4. Finally, select the empty cell above the currently selected cell to store the X13AS specification.
  5. Select the Transform tab and click on Auto for the transform function. Leave everything on this tab unchanged.
    In the X13ARIMA-SEATS Model wizard, go to the Transform tab and select Auto for the transform function.
  6. Switch to the Seasonal Adjust tab and select the SEATS methodology. Leave everything else unchanged.
    In the X13ARIMA-SEATS Model wizard, switch to the Seasonal Adj. tab and select the SEATS methodology.
  7. Next, click on the Validate button. If there is no issue, notice that both the Run X-13AS and Apply controls are enabled.
    In the X13ARIMA-SEATS Model wizard, click Validate, then Apply.
  8. Click on the Apply command button.
  9. The X13AS wizard modifies the output cell’s formula and updates the text value of the SPC cell in your workbook.
    This figure shows the Model and SPC outputs of NumXL's X13ARIMA-SEATS wizard.


The display of the text value of the SPC in the workbook looks truncated or incomplete, but it is only for show, so it does not clutter your worksheet. If you select the cell, you can view the complete text.

Step 3 – Query the Seasonally Adjusted Values

  1. Now, we are ready to generate the seasonally adjusted version of our time series. First, select a cell in the adjacent column to your input data set.
  2. In the cell, edit the formula to reference the X13ASCOMP(.) function as shown in the following figure.
    Fill in the model's input values in the X13ASCOMP Function Arguments dialog box.


    If you leave the date argument empty in the X13ASCOMP(.) function, NumXL returns the whole series as an array. In Excel 2013+, Excel will auto-fill all rows below it. In earlier Excel versions (e.g., 2010), you must manually select the cells and use CTRL+ALT+Enter to populate the cells with array values.

  3. In this tutorial, I chose to enter a value for the date component. The function returns the value of the seasonally adjusted time series at the given date.
    This figure shows the output of the X13ASCOMP function and its dependencies.


    The blue arrows in the figure above outline the calculation dependency in output value.

  4. Copy the formula to all subsequent rows.
  5. Now, let’s plot the original and the seasonally adjusted time series.
    This figure shows the plot for the original Vs. the seasonally adjusted time series.

Tutorial Video



Please sign in to leave a comment.

Was this article helpful?
0 out of 0 found this helpful