Most forecasting approaches are based on the idea that a forecast can be improved if the underlying factors in the data can be identified and forecasted separately. It stands to reason then that we can gain insights by isolating components separately, and model things like seasonality separately.

Seasonality is one of most frequently used statistical patterns used to improve the accuracy of demand forecasts. Whether it be a summer selling season, back to school, Singles Day, a President’s Day mattress sale, or Santa’s big day once a year, most companies are dealing with some sort of seasonality. While most industries and companies do exhibit some seasonality in their items, the real problem is that most companies actually have multiple seasonalities for a single product.

Most companies actually have multiple seasonalities for a single product.

This is even more apparent today with the growth of omni-channel and global markets.

Consider an item that is sold not only in a retail brick-and-mortal store that purchases the stock a month or more in advance of their selling season. That same item may be sold direct to consumers or on Amazon to ship the next day during the middle of the selling season as well.

What about the climate in southern states compared to other regions and the impact of geography on a product? When looking at sales at the store level, the seasonality of the product itself is typically entangled with the seasonality of the store.

Transforming the data through aggregation allows you to gather additional information about the series at hand, resulting in better forecasts.

It’s very common in forecasting to aggregate data in order to increase the signal/noise ratio. There are several papers on the effect of hierarchical and temporal aggregation on forecast accuracy. Transforming the data through aggregation allows you to gather additional information about the series at hand, resulting in better forecasts. By decomposing the time series and isolating the different systematic components, we can do this separately for the seasonal component without confining ourselves to a product or item hierarchy.

While this is common and done frequently, another potential step is to model each systematic component on its own at different levels of aggregation or clusters that fit that component. This helps to improve overall forecast accuracy.

Multi-Cluster Time Series Analysis

Using multi-cluster time series analysis (MCTSA), seasonality (just one example) may be evaluated not on a single item or single level of aggregation, but looking at multiple customer-item-location combinations and then clustering based on attributes of similar behavior. You do not need to limit your groups either – other attributes may be aggregated e.g, grouping days into weeks or months to find optimal groupings.

To find these clusters, we can use some fuzzy math or, more specifically, Fuzzy K–Means cluster analysis. A Fuzzy clustering is a form of clustering in which each data point can belong to more than one cluster. It works basically the same way as the popular K-Means cluster analysis with the one distinction being that each data point computes its coefficients of being in each cluster.

Computing The Fuzzy K-Means Analysis

To perform this Fuzzy K-Means analysis, deseasonalize your data or isolate the component you would like to analyze and cluster. You will need to specify the number of clusters and a probability of that data point being in those clusters. You then compute cluster centroids, or calculate the mean of each cluster. Next, compute the distance of each point from each cluster by computing its distance from the corresponding cluster mean. Assign each point to the cluster it is nearest to. A data point can theoretically belong to all groups, with a membership function (also called a membership grade) between 0 and 1, where 0 is the data point at the farthest possible point from a cluster’s center, and where 1 is the data point closest to the center. The procedure repeats until the distance between cluster center is maximized.

This analysis will sort through the data on item-location-customer attributes (or others) and cluster them in like groups. In order to decide which clusters should be combined (for agglomerative), or where a cluster should be split (for divisive), a measure of dissimilarity between sets of observations is required. Items that belong to the same cluster are similar to each other and have a similarity between the correlation coefficients. We may find 0.6 of an item’s seasonality comes from this certain item-customer combination and the rest comes from various item-region groups. Combined, you can determine this individual product’s seasonal profile and arrive at an index that can be forecasted.

Bringing It Back To One

The uses of these new-found seasonalities can be used in the way you currently use forecasting or predictive analytics. Isolating just the seasonal component may be used as a ratio or index that can be used to extract the baseline and trend. This index may be used to deseasonalize data for other purposes. As a systematic component of time series, it can be separated, forecasted at multiple levels, then aggregated and combined allowing for multiple standard models – both additive and multiplicative. In the case of new products or items with intermittent demand, you can create seasonal profiles that may be applied to models or even qualitative forecasting approaches.

All of this is focused on extracting the most accurate seasonal profiles for your data and using them to work towards a more accurate forecast. It is clear that different ways of looking at the data and different aggregation can reveal or conceal various time series features and different seasonal silhouettes. As the models will be different, instead of preferring a single one or single level, combine seasonality into a robust final forecast that takes into account information from all frequencies of the data. This will provide a more accurate picture of true seasonality and a more accurate picture of the future.