Predicting Multiple Values Values Using Time Series Forecasting

I want to illustrate my question with the following example:

I have a wholesale company through which I sell 200 products:

P1,P2,P3 .... P200

to a 1000 customers C1,C2,C3 ... C1000 I keep my sales records in a database as a time series in which I keep the product_id,customer_id, amount and timestamp for each transaction over a period of 4 years.

My question is regardless of the forecasting algorithm (static or learning), can predicting the sales of all of these products made through a single model? or model for each product, or a model for each customer? If any or many of these choices can be valid why ?

2 Answers

Thanks for this question I think it is a nice use case to play with time series forecasting in all (or many) of its types.
As you suggest, there are several possible approaches, and all of them are valid hypothesis a priori to check and validate with your goal. Answering the question:

• yes, it is possible to build a single model to predict the sales amount of your products at once (aka a multi-output forecasting model) where each of your products would be a feature to predict --> https://www.tensorflow.org/tutorials/structured_data/time_series#multi-output_models, and you can whether predict a single time-step or a multi time-step forecasting

• I would say building a model for each product makes sense, as you will potentially have many more customers than products throughout of time; this way, for each product you will have several customers who bought it, and modelling the clients characteristics for a certain type of product sounds reasonable; in this case, you have a single-feature to predict (in the same source of info you have this model type, agsain for both single time-step or multi time-step forecasting: https://www.tensorflow.org/tutorials/structured_data/time_series#single_step_models

Just to complement the available answer, a recent trend in time series forecasting is what is called Global forecasting. Here a global model is build through all the products but predicts each one separately (different than the multi-output forecasting model). The goal is to use available data from similar products to infer predictions in cases where data is scarce. You can also pre-process your data by clustering the products. Some relevant references: