Personalization Using Machine Learning — From Data Science to User Experience

Anat Kalinski
Dec 17, 2019 · 7 min read

Machine learning-based personalization provides a more scalable and accurate way to achieve unique experiences for individual users. Rather than segmenting users with rule based personalization, it allows you to utilize algorithms in order to deliver these one-to-one experiences, typically in the form of recommendations for products or content.

This article will discuss some of the more popular machine learning models used by Booking.com, explain how they work, and give some examples of how they can be used to enhance and/or create new features. I’ll also share some learning from my own experience using ML for personalization.

Collaborative filtering:

Collaborative filtering is one of several models offering personalised content recommendations. CF recommends relevant content to users with similar “taste”, based on their reviews / purchases etc. (which is the collaborative aspect).

In the following example, the mother and the business man have given similar review scores to properties as opposed to those given by the jogger, which may suggest that the mother and business man share similar individual tastes. This means that if the business man had given a score of “9” to the property in the middle, the mother would likely give it a high score as well, and we may want to recommend it to her.

Collaborative filtering

Sequence-aware recommenders :

This model uses RNN (Recurrent neural network) to process a sequence of inputs, and is typically used for language recognition. B.com’s machine learning center has harnessed the model’s ability of sequence-detection to offer personalized destination recommendations for multi-legged trips.

In the example below, there are two possible routes a user might take on a multi-leg trip, both ending in Lyon. The blue pins represent already booked destinations in a single trip, and the yellow pins are the model’s recommendations for a possible trip extension. Based on the existing trip, the model understands the specific context as a result of sequence analysis. In this example, the model knows when to recommend a domestic or an international destination.

Sequence-aware recommenders

Classifiers:

This model type converts visitor characteristics into a number that represents the probability of a user taking certain actions on Booking.com. Classifiers are considered “supervised models”. This means they use existing data for training as they try to find the probability of response to certain stimuli from users with predetermined characteristics or “features”. These predictions are then applied onto live data.

Multi-class prediction models can help to improve user experience by showing the right content to the right user. In the example above, the feature given to the model is traveler type (in this case, solo and business). The model can use this feature and check users’ responses to three kinds of properties (homes, 3-star hotels or tents).

If this was the training set and the check marks represented the types of users who responded, this model would likely display homes to solo travelers, and 3-star hotels to business travelers. The tent would probably not be shown at all, since it didn’t resonate with any of the users during the model’s training.

To apply this model, we can learn the traveler type based on what the user inputs in the search box. We are then able to use the model’s prediction in order to surface the right product for users who have previously shown interest in it.

Classifiers

Supervised vs. Reinforcement learning models:

Most applications of the models mentioned above are trained in what’s known as a “supervised learning” paradigm. That means that the learning algorithm (e.g. logistic regression for classification or matrix factorization for collaborative filtering) would need examples of inputs and outputs in order to learn the mapping between them. Those examples would typically be collected in a “passive” way by a system that has nothing to do with the learning algorithm (e.g. logs of the website visits).

Reinforcement learning, or “bandit“ models, is an alternative approach where our learning algorithm actively participates in the data collection process. This means that now we have to balance our learning objective with the goal of getting the “right” data points. So, for example, we might “sacrifice” a recommendation by suggesting something sub-optimal if the algorithm has a good reason to believe that it will learn something valuable for its long term performance.

In practice, this type of learning can be used to add context to predictions. For instance, what if in our previous example the business man actually prefers a home when booking a business trip to the suburbs, and the solo traveler prefers having a pool in a hotel during the summer time? This is a problem solved by reinforcement learning. These models will offer continuous learning, and keep sampling previously failed attempts to detect changes in user behavior. Every positive attempt towards a prediction reinforces the model to choose it in a never-ending learning mechanism. This allows for a more accurate context and time-sensitive content to be offered to the user.

At Booking.com, there are several reinforcement learning models (such as the Looper and Robin Hood) used to determine the order of UI elements on different areas of the site.

In this example, the model is showing properties to users based on previous results, but also attempts to show content types to users who didn’t respond to them previously, in an effort to identify possible changes in behavior.

Reinforcement learning

ML and the user’s experience:

When employing ML personalization, our priority is to not only maintain, but moreso, to optimize user experience. Based on qualitative and quantitative research, some approaches were adopted to assist in delivering successful implementation of ML personalization.

Context is king

Trip predictions change in different contexts, and if not taken into consideration, can have a lasting, negative impact.

For example, if the classifier model omits a detail during training that’s directly tied to user behaviour (such as seasonality bookings) the experience negatively affect customers. To mitigate such an occurrence, reinforcement models can be used as an alternative, since they constantly re-test their predictions to identify different trends, and require less effort to supply context-sensitive results. However, these models need to be used cautiously since they require a large amount of traffic for accurate results.

If the traffic doesn’t allow for this, an alternative approach is to add features to the model. In our previous example, we can use the same classifier that predicts user behavior by looking at the their traveler type and duration of the trip, and add the season as another feature in order to account for its potential impact.

Provide guidance

Research has shown that users don’t often understand why a recommendation was given. Unfortunately, sometimes ML models are simply too complex to explain succinctly due to extraneous circumstances. Our recommendation is to provide a well-reasoned explanation of why they’re seeing what they’re seeing.

In the case of the Sequence-aware recommender used for destination recommendations, this can be done by surfacing a tooltip that offers clarity and insight that the destination recommended to the user is based on similar trips (i.e. “Travelers who visited London extended their trip to Paris”). This allows the user to understand why the model is suggesting a particular destination.

Aspire to keep the UI consistent

Changing the order of UI components on a page can help the user find the utility they need most in a certain context, but it’s important to keep the user’s ability to find this utility in other contexts as well. This is why we recommend using ML mainly to change content within the UI and be very mindful when using it to change the UI itself. The user’s sense of proficiency with the product can impact their connection to it and wanting to use it again in the future.

Communication is key

Collaborative work between data scientists and designers can have great impact on a product’s success.

For those looking to play an active role in creating a model, offering a clear idea of possible inputs you want the model to use, what outputs you expect to receive from the model and thinking of a possible data set for training is a good place to start from. It’s also worthwhile to take an interest in user research when brainstorming model features and include researchers, copywriters, and designers to get a better understanding of users’ perceptions on different types of information.

Summary

ML can be used in many ways. It can allow 1 to 1 personalization of content if used correctly, but it’s important to take into consideration the impact on the user experience and the way outputs are accepted by users.

We hope this guide has helped in understanding some of the more commonly used ML models, and the way they can be utilized to fit different needs and facilitate personalized features. We hope you derived inspiration from the use cases that were presented, and can find a way to use ML for your business needs.

For more information on UX and ML, we encourage you to check out our design and data science blogs at:

https://booking.design/ and https://booking.ai/

Booking Product

Anat Kalinski

Written by

A UX designer turned product manager for the Travel Communities team at Booking.com ML opportunities dept.

Booking Product

Stories from the Product people at Booking.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade