Let's imagine we have weekly sales data of a given set of products, and we're interested in forcasting the next week. Each product belongs to a product cluster (or "family"). I've tried both forecasting each product individually and forecasting an aggregate value for each family and then distributing this total using the typical "weights" of each product in the respective family, which work rather well depending on the family.

But what if there is another attribute that can be used to cluster past orders, such as the client? Is there a way this information can be introduced in the models?

Note: the same product can be sold to different clients.


There are two ways to do approach this:

  1. You can aggregate the time series in a more specific way. When you aggregate you don't aggregate up to [product family], but to a combined [product family/client cluster] grouping.

  2. You can keep your current hierarchical structure and pass the client cluster as an exogenous feature to your forecasting algorithm. Most forecasting algorithms accept exogenous features along with historical data.

In response to the comment:

The basic input to time series algorithms is the historical values of the time series. Many time series algorithms can also take in additional explanatory variables (called exogenous variables). You can add your client cluster variable as an input to your model.

See here for an example of how that works with ARIMA models.

| cite | improve this answer | |
  • 1
    $\begingroup$ Thank you very much Alex for your answer :) Would you mind elaborating on #2? $\endgroup$ – Pedro Schuller Jun 11 '18 at 19:19
  • $\begingroup$ @PedroSchuller see edit $\endgroup$ – Skander H. Jun 12 '18 at 0:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.