2
$\begingroup$

I have a product which has univariate and also multivariate time series data from multiple customers. I have variable amount of data available. Ranging between couple of years to couple of months. What I want to achieve is a model which takes as input training data from all my customers and forecast for 1 at a time. Thus utilizing patterns from all of them and then forecast for one customer at a time.

E.g.

Train:
Date        Customer  Variable
2018-01-01  A         10
2018-01-01  B         5
2018-01-01  C         13
2018-01-02  A         9
2018-01-02  B         7
2018-01-02  C         15

Predict:
2018-01-03  B         ?

Any help on how to formulate this problem and what would be the best model for this?

$\endgroup$
1
$\begingroup$

Here are a few rapidfire ideas:

  1. Does the customers affect each other in any way? If that is the case, you need to feed the information of multiple customers at the same time to your RNN. If not, then I would advise creating a time series for each of your customers and feeding it separately to your RNN.
  2. What is it you are trying to predict? Is it a percentage chance of something? Is it a number (e.g. volume of customer purchases). You need to create your outputs, and the inputs you will use to predict that output accordingly. You may also use multiple RNNs if some of your outputs have no relation to each other. For example, if you are trying to predict the volume of purchase for a customer and whether a customer will leave or not, you may want to create two seperate RNNs that will take different inputs (e.g. use the average purchase volume as input for the RNN that predicts the customer volume, and use the frequency of customer visits as input for the RNN that predicts whether the customer will leave or not
  3. Is there huge discrepancy in values of your variables? (e.g. some customers only do 10 dollar purchases, but the others do 100,000, and you want to feed the information of both to your RNN) If that is the case, you may want to "normalize" your variables as well as the outputs (labels) you are trying to predict
  4. Do you really need an RNN? If your customers' outputs are independent of the sequence of variables from the past, then drop the RNN and use something simpler like feedforward neural network or logistic regression
  5. Are your customers' outputs affected by variables from a long time ago? If so, you may want to add a memory component, such as an LSTM, to your RNN
  6. Does your customers have any periodic components? (e.g. the customer usually buys something 10 days after adding it to the shopping cart). This tells you the lookback (how many past days' data you need to feed to the RNN) you will need for your RNN

Hope it helps. I must admit however, that without getting a sense of the inputs and outputs it is difficult to answer this question.

$\endgroup$

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.