Project: Machine Learning
To predict customer behaviour, I chose to use deep learning to mimic human behaviour training on thousands of data samples of previous transactions. I used a RNN model (using Gated Recurrent Unit cells) to make sequential predictions. This model was evaluated by considering three categories of customers.
- Biased customers: Frequenting purchases in mostly one industry
- Patterned customers: Frequenting purchases in 3-10 industries
- Random customers: Frequenting purchases in multiple industries ( > 10 )
The prediction results in the three cases were overlapped with untrained real data points and this evaluation helped improve the model to produce better results for the individual cases.
Taking the predictions a step further, after predicting the category of purchase with an appreciable accuracy, I was given the task to predict a time estimate for the next purchase. This was done by translating dates to a time sequence and training it over a standard neural network model.
Model comparison for time predictions
The tasks were challenging due to the complete randomness of human behaviour, however that's what ML techniques are for — to find patterns that aren't obvious or easily discernable by standard algorithms. Despite the randomness, the models performed better than expected and the margin of error was within range to still have some relevance.