Seasonal subseries plot

From HandWiki

Seasonal subseries plots are a graphical tool to visualize and detect seasonality in a time series.[1] Seasonal subseries plots involves the extraction of the seasons from a time series into a subseries. Based on a selected periodicity, it is an alternative plot that emphasizes the seasonal patterns are where the data for each season are collected together in separate mini time plots.[2]

Seasonal subseries plots enables the underlying seasonal pattern to be seen clearly, and also shows the changes in seasonality over time. Especially, it allows to detect changes between different seasons, changes within a particular season over time.

However, this plot is only useful if the period of the seasonality is already known. In many cases, this will in fact be known. For example, monthly data typically has a period of 12. If the period is not known, an autocorrelation plot or spectral plot can be used to determine it. If there is a large number of observations, then a box plot may be preferable.


Seasonal sub-series plots are formed by

  • Vertical axis: response variable
  • Horizontal axis: time of year; for example, with monthly data, all the January values are plotted (in chronological order), then all the February values, and so on.

The horizontal line displays the mean value for each month over the time series.

The analyst must specify the length of the seasonal pattern before generating this plot. In most cases, the analyst will know this from the context of the problem and data collection.


It is important to know when analyzing a time series if there is a significant seasonality effect. The seasonal subseries plot is an excellent tool for determining if there is a seasonal pattern. The seasonal subseries plot can provide answers to the following questions:

  • Do the data exhibit a seasonal pattern?
  • What is the nature of the seasonality?
  • Is there a within-group pattern (e.g., do January and July exhibit similar patterns)?
  • Are there any outliers once seasonality has been accounted for?
  • Is the seasonality changing over time?[3]

Practically, seasonal subseries plots are often inspected as a preliminary screening tool. They allow visual inferences to be drawn from data prior to modelling and forecasting.

Related techniques


Seasonal subseries plots can be implemented in the R programming language using function monthplot().


The following R code results in the above seasonal deviation plot of antidiabetic drug sales;

> monthplot(a10, ylab= "$ million" , xlab= "Month", xaxt= "n", main= "Seasonal deviation plot: antidiabetic drug sales")

> axis(1, at=1:12,, cex=0.8)

Seasonal sub-series plot.png


Further reading

  • Maindonald, Braun (2010). Data Analysis and Graphics Using R: An Example-Based Approach. 3rd ed.. Cambridge, UK: Cambridge University Press. 
  • Hyndman, R.J.; Koehler, A.B. (2006). "Another look at measures of forecast accuracy". International Journal of Forecasting 22 (4): 679–688. doi:10.1016/j.ijforecast.2006.03.001. 

External links

 This article incorporates public domain material from the National Institute of Standards and Technology website