Predicting customer sales

You could check out the collection of articles about regression models (not all of them are about time series):

The collection about time series might be especially interesting:

For future predictions you would typically have to provide a time series model that would accept future month and day dates (derived from historical data) or you might think about giving you historical data something like index numbers running from 1 … 1000 (or whatever your time period is) and then assign that to your prediction.

The question is always: would your model have some sort of seasonality (easter sales are different than christmas sales), sales in June are different from december (typically they are) and/or are they heavily influenced by outside events like your marketing campaign or advertisement spendings by your competitors. Let’s assume you are predicting mobile phone sales; they might look very different in a year (moth) when there is a new iPhone launch then at other times. You might have to insert a variable correcting that (attribution).

Or is there a monthly or weekly pattern (people buy right when they received their paychecks, or maybe at the end of the month when they still have money left).

Then from your data: do you want to predict the individual sales of single customers (you might then need a model for each of them, and you might not have that much data) or overall sales. It seems you want individual predictions; which is a further level of complexity.

What you always will have to ask yourself: is the reason driving the sales present in my data or not.

One example of such a sales prediction is the Kaggle “Rossmann sales” competition. The winner discusses some of what he did here:

One tool that promises to predict future time series is Facebook’s Prophet (I plan on writing a wrapper for KNIME for that but have not yet done so).

One example of such a prediction can be found here:

https://machinelearningmastery.com/time-series-forecasting-with-prophet-in-python/

What you would be looking for is an “Out-of-Sample Forecast”. Of you want to learn more this book might be for you (I have not yet worked thru it):

https://machinelearningmastery.com/introduction-to-time-series-forecasting-with-python/

For convenience one could try and bring some Python code into a KNIME node - which then would bring that back to a KNIME question.

7 Likes