Recommender engines – the journey from rule-based systems to machine learning applications

Most companies operating in e-business in industries such as retail, media and digital entertainment face the question of recommendation and personalization: how to personalize their website for each customer and how to choose and rank a small number of most relevant products from a large catalog in order to maximize customer interest and conversion.  

 

Recommender engines and personalization are everywhere 

An engaging front page of an e-business website nowadays often consists of a set of banners representing the most recommended products, or the recommendations come latest on the product category page, usually already before the customer types anything in the search bar – think of Netflix, YouTube, YleAreena, Google Play or any retailer e-store. Recommendations are particularly important when the amount of content is so large that the customer may not otherwise find products of interest; at the same time, different customers have very different tastes.   

In the case of media (news sites), recommended product banners are the headlines of news articles and the question of how to rank them, especially on the top of the page, is of utmost importance.  

A closely related question is how to personalize each individual banner, that is, which alternative version should be shown to you? When HBO recommends the Game of Thrones banner, should an image of a dragon, a white walker or Jon Snow be shown to you to maximize your interest? Similarly, a news article can be given many alternative headlines that appeal to different reader segments.   

Hand-picking the top banners and rule-based logic 

The most basic way, still much used, is hand-picking the top list of banners based on expert opinion. This can be done on the front page as well as on the “customers who bought this product also bought” type of recommendations. For the latter, this can remain meaningful and close to optimality if the number of possible products is not large and if new products don’t come in very frequently. News sites, on the other hand, are an extreme example of incoming news articles replacing the old ones daily. Manual updating is at least labor-intensive and some sort of automation could be attractive to reduce manual work and to increase the quality of recommendations. Another quite efficient approach is ordering the product banners based on popularity (number of times viewed or purchased). Both hand-picking and ordering by popularity, however, show the same end results to all customers and are therefore not personalized approaches.   

A step towards personalization can be taken by rule-based approaches, such as show to customers known to belong to customer segment X version A of the list of recommended products and version B for segment Y.  Many platforms like content management systems, marketing engines and customer data platforms increasingly offer solutions to tackle these questions.   

Machine learning – based recommendation 

During the 2010s, we have witnessed an in-march of machine learning algorithms in all industries, often even called the AI revolution. Until that, most intelligent systems have been based on rule-based logic or expert knowledge. The core of machine learning is teaching a predictive model using training data, historical customer data in this case. In many settings, machine learning models can greatly outperform rule-based systems. An image classifier taught with a million images of cats and dogs as training data can learn to distinguish them with high accuracy, but imagine programmatically defining the rules describing what a dog and a cat look like. Machine learning methods also provide a nice way of automation, as the lists of recommended products become refreshed following regular model updates after reading in the newest customer behaviour data, new products and new customers. Machine learning models continue improving their accuracy as they consume new incoming data and some can explicitly learn from whether their predictions were good or not (customer bought or did not buy the recommended product).   

The central approach to machine learning based recommender engines is collaborative filtering that takes in historical customer–product interactions (clicks or purchases) and finds statistical relationships from the data (customers who bought X often also bought Y). Collaborative filtering and its derivates have been shown to give good quality ranked top lists of recommended products, Netflix and Amazon being some of the early adopters.    

One complication, however, is the cold start. In the customer cold start problem, one is perplexed with what to recommend to a new customer who has not yet bought anything (or maybe just one product or so). Product cold start, on the other hand, is especially prominent on news sites, where the breaking news are the most interesting.  Personalized cold start recommendations can be calculated using specific machine algorithms called hybrid recommender engines that additionally take in data from customer demographics and segments and/or features describing the products.  

Lessons learned in our customer projects in e-commerce, digital entertainment and media  

In our many e-business customer projects we have learned that a tailored combination of machine learning, rule-based and hand-picking approaches can often become a well-working recommender engine solution. A machine learning model is often accompanied by a set of filters affecting the final recommendations shown to the customer. General filters are often used to limit the overall set of possible recommendations chosen by a business decision. The output of the machine learning algorithm is usually also subject to customer-specific filtering. Sometimes, one may want to filter out products the customer has already bought, and possibly promote products of similar type, but then again, maybe not too similar. If you just bought a new smartphone or a tent, you probably won’t buy again the same or another model anytime soon but could be interested in accessories. On the other hand, in businesses like gaming or music, where a product can be consumed multiple times, you might specifically want to promote it again.  

Diversity is another important filtering question. A machine learning algorithm may rank very similar products on the top of the list: think of different smart phone models, bottles of milk or sports news articles. On the front page, one representative from each class of similar products may usually be more desirable.  

For some businesses, it is important to hand-pick the products in top positions of the front page. In media, the journalists usually have a strong opinion what are the head news of the day. In retail and digital entertainment, it may simply be a business decision to promote selected new products to all customers. Machine learning algorithms might then play a role in ranking the rest of the banners in lower positions of the page and in recommending related products on individual product pages.     

Designing good A/B tests  

A/B testing is another core task we’ve encountered in our projects. A/B testing is today an integral part of front-end development in general, but particularly important for recommender engines. A properly designed A/B test can establish true causality in determining if a machine learning approach outperforms a rule-based or hand-picked approach or if a new version of a machine learning algorithm really makes an improvement over the current one.   

An A/B test has to be designed very carefully to make it meaningful. In addition to the importance of some statistics aspects, it is central that the test is measuring a business-wise reasonable outcome and that the test is fair. Does one want to maximize the number of clicks, time spent on reading articles, number of purchases or total monetary sum of purchases? For example, a machine learning algorithm providing personalized recommendations may not beat the list of most popular products or a customer specific list of most consumed products when comparing the number of clicks (think of daily groceries, games, music). The benefits can be more long-term when the customer explores and becomes more familiar with the entire offering of the business.   

The common direction seems to be towards maximizing the customer lifetime value, best achieved by keeping the customer happy and engaged for a long time. A news site, for example, could maximize short-term number of clicks by clickbait headlines with rubbish content, but they probably prefer maintaining a brand of high-quality journalism. Defining the customer lifetime value and choosing the roadmap towards maximizing it is non-trivial, mathematical and greatly varies case by base, but should be measurable by long term revenue. 

Keep on experimenting (or start immediately) 

We encourage all e-business to keep on improving the recommendations and personalization on their websites to stay competitive. I can only imagine all the rules, algorithms and past A/B-tests behind the amazingly addictive recommender engine in YouTube that so often seems to guess what I want. 

 

Written by:

Ilkka Huopaniemi, Head of Data Science 

Jussi Ahola, Director, Data & AI Services

 

---

Read the first and second part of this blog series: 

Maximize customer lifetime value with data, analytics and machine learning

Crafting a customer experience strategy

---

If you are interested in Siili's approach to customer experience, click the button below to subscribe to the blog series. 

Interested to hear more about our solutions? Please click on the link below:  https://www.siili.com/contact

What's next

See our latest projects

Microsoft – Innovative Analysis of Market Research Data

Microsoft – Innovative Analysis of Market Research Data

Even though market research is not a new thing, an innovative and diverse analysis of market research data in the way Microsoft’s Data & Analytics Platform team has done it, is unique both in Finland and globally.

Upcoming events/courses

Scrum Master | Helsinki 20.-21.8.2020

Scrum Master

Helsinki 20.-21.8.2020

The Scrum Master course is a two-day course which introduces the concepts of agility using the Scrum framework. Course can serve as a preparation for certification assessments, e.g. the Professional Scrum Master™.
Sign up

Subscribe to Stories