Product Recommendations: Improve Timing of Recommendations
Product recommendations have been around for a long time and they are successfully used to drive business. However, if your company does not have an “army” of data scientists to tune your recommendation engine, how can you still do better than just the classical association rules (whatever the technique used)?
When you look at it a bit more closely, those recommendations are basically counts on the number of occurrences of products being sold together or to the same people. A refined version is to consider sequences of purchases. The time component of when the customer would be interested in the recommended product is poorly taken into account. This is particularly true when considering seasonal products. Of course, rules can be defined and applied, but why not include this in the design of the recommendation engine itself?
Timing of the Recommendation
When using a classical recommendation engine, based on the purchase history, a set of products with the highest buying potential is proposed. The timing of the proposal is usually not considered. A way to address this is to augment the recommendation engine with a propensity to buy in the coming period approach.
Usually products are part of a hierarchy of products (grouped together because they are of the same type). Let’s take a typical example of a brick and mortar retailer with 30,000 product references. Those references are usually grouped into a few hundred product categories. So why not build classification models to predict the propensity of each customer to buy in each product category next week? This would mean hundreds of classification models.
The output for each customer is their probability to buy in this category next week. Now we can compare those probabilities and identify the top product categories each customer is likely to buy in during the coming period.
Once the product category choice is narrowed down by using propensity-to-buy classification models, the choice of the products for each category is made. This is where the recommendation engine is used.
Indeed, for each customer, depending on his/her purchase history, it’s possible to select the products with the highest confidence to be bought in these product categories. These are the ones you want to propose as they have the highest likelihood to sell on the short term and they correspond to the best fit for the customer based on his/her buying purchase history.
How to Do It?
Automation is key in developing such approach composed of hundreds of classification models and a recommendation engine. This applies in modeling training, deployment, and control.
The training datasets of the classification models should include ways to handle seasonality by considering multiple weekly periods (the best would be to cover a full year on a weekly basis). It includes information that the recommendation approach cannot consider: characteristics of the customer, a RFM description of his behavior and changes of behavior, weather forecast of looking not too far ahead … Any data source available that provides information about the customer behavior should be included. So, hundreds, if not thousands of predictors are used in the training dataset.
Deployment must happen where all data is consolidated which would usually be a database. SAP HANA is of choice here because the execution times will be very short. But it doesn’t necessarily need to be real time, as the propensity to buy will not change so fast. One option is to re-score customers when they buy, therefore considering their latest behavior.
Control of the models is key as the overall behavior of the customers is changing. This would of course lead to retraining the models if/when their predictive quality drops.
Today, this level of automation with deployment of hundreds of controlled classification models can be achieved effectively with SAP Predictive Analytics.
Improving recommendations by timely proposing the right set of products is achievable without a large team of data scientists, so long as automation is used to create, deploy, and maintain predictive models. Other tips and tricks on these recommendation engines can be used to further improve them by better tailoring the recommendation or adapting them to business objectives. Stay tuned!