# Demand forecasting for sequence data and multi-task learning

I have a demand forecasting problem that I'd like to solve with a deep learning using multi-task learning and I'd like advice in some areas.

Problem definition:

I have a set of $$N$$ customers that can buy a set of $$M$$ items and I would like to use the transaction history of my customers to forecast total demand until a certain date in the future (the date of re-supply).

So my dataset would be like this:

+----------+------+------------+----------+
| Customer | Item |    Date    | Quantity |
+----------+------+------------+----------+
|        1 |    1 | 2018-01-01 |        5 |
|        1 |    5 | 2018-01-02 |        1 |
|        2 |    3 | 2018-01-02 |       10 |
|        1 |    1 | 2018-01-03 |        7 |
|        3 |    1 | 2018-01-03 |       10 |
|        2 |    1 | 2018-01-03 |      100 |
+----------+------+------------+----------+


At that would follow until 2018-01-30.

Now imagine that at the end of every day I want to make a new prediction for the total final demand of each customer for each product. I want to predict, for example, that client 1 will have a total demand during Jan/2018 of 100 units of Item 1, 20 of Item 2, etc.

I am trying to approach this problem with a regression recurrent neural network using multi-task having the following assumptions:

1. Past behavior is a strong indicator of future behavior but in a non-linear fashion.
2. There are dependencies between different items for a single customer.
3. Each customer has a seasonal/cyclic demand for each product.

Having said that, I have the following questions.

1. The actual "quantity" values have high variance and range (can go from 1 to 1000000 and have a median value of 20). Knowing that what is the best way to scale features/labels while keeping the linear relationship between them (I imagine introducing new non-linearities like log transform can make to problem harder).

2. Is an RNN the best approach? I don't think I can steer away from deep learning because of the need for multi-task learning.

3. Would it be best to predict always total demand until the end of the period or only future demand (ignoring what the customer has consumed in the period?)

4. With sequence models, should I try to add lots of engineered features (e.g. past mean, max, median spending) or let the network learn from the sequence? From experience, lots of engineered features for each of the items made feature dimensionality too high and performance degraded.

Also, any suggestions of papers or solutions similar to this problem are appreciated.

Thank you.