I am trying to predict the number of sales for a given day for a stand-up comedy cafe. Aside from a variety of predictive values (day of the week, average sales last 30 & 60 days, day of the year etc.) The number of total sales yet obtained hold a large predictive value for Y, which is the total number of eventual sales for a given night.
To store all this data in one dataframe; I created the following dataset:
The hr_X shows the number of sales yet obtained during the X number of hours before the start of the show. This column starts at hr_240 and ends at hr_1. If a row would be created which shows the available data 24 hours before the start of the show; columns hr_1 until hr_24 would hold a value of 0. (since these values are still unknown).
Currently I trained a wide variety of models on the train dataset; (Lasso- Ridge- and Polynomial Regression, DeepForrest, DecisionTree, ElasticNet and Support Vector Regression (SVR)
I evaluated each of the models by measuring the Mean Absolute Percentage Error (MAPE). It was discovered SVR holds the best performance. However, the performance never drops below 10%. Not even when columns hr_1 until hr_10 contain a value; one would assume it would be possible to drop MAPE near to 0 when hr_1 until hr_3 are known, since sales do not drastically change in the last hours.
The graph below shows the average MAPE for a wide range of shows. The MAPE was measured at each hour before the start of the show starting at 240 hours before the start of the show.
My assumption is that I require a model that is able to deal better with the sales yet obtained (i.e. when hr_240 until hr_24 are known; the model must understand that hr_240 until hr_40 are not very important and hr_41 until hr_24 are most valuable in predicting the eventual sales).
What type of model would you guys think best suits my problem? I have been reading a bit into Neural Networks (LSTM) but this topic is still new to me. Any suggestions are very welcome. Thanks in advance.