Dating a hotel? How we created a personalized “Match Score” for accommodation

Hadas Harush
Nov 20, 2019 · 6 min read

Just like in the world of dating, choices can become overwhelming, and while there may be many fish in the sea, all you’re looking for is your best match. This is the story of the Match Score, a machine learning based score that enables one-to-one (1:1) personalisation in order to improve the customer experience on and make it easier for travellers to find the property that’s just right for them. This story was written by the Match Score Product Manager (Hadas Harush) and Data Scientist (Benjamin Braun).


  • Our customers often feel overwhelmed with information
  • Our customers struggle to compare different properties

Hence, in order to address these challenges, the Match Score’s mission was defined as “increasing customers’ confidence in choosing the relevant product for their specific needs.’’

Just like dating apps recommend matches based on common interests, hobbies, age and other preferences, the new Match Score feature matches customers with properties they’re considering by showing them a personalised percentage which represents how likely a customer will enjoy the accommodation that they are currently viewing. While “most cases” personalisation often involves creating a persona and developing or optimizing the product for it, this feature is based on 1:1 personalisation. This means that every customer will potentially see a different score for the same accommodation, based on their past bookings, reviews and preferences.

The Match Score feature was first launched to a small percentage of traffic on the desktop and iOS version of in August 2019 and can be accessed through “My lists” from the top navigation menu.

How does the magic happen?

Match Score on Wishlist desktop

“We don’t grow when things are easy, we grow when we face challenges”.

Here, we’ll share some of the learnings we’ve accumulated in building the new Match Score feature:

1. Build trust

Challenge #1: Build trust

2. Give space

Challenge #2: Give space

3. Create a healthy dialogue

Challenge #3: Create a healthy dialogue

4. Be transparent and open

Explanation screen for the match score
Explanation screen for the match score — leaving a negative feedback

A technical sneak peek

The Match Score is interactive, which means that every time the search parameters change (such as the number of guests or length of trip), it goes through an online recalculation. This is done by using factorization machines that take into account both the historical data and the customer’s trip context.

Factorization machines transfer items and users into a latent vectors space. It can also vectorize any side feature we choose, like the search parameters mentioned earlier. The most beneficial part of this transformation is that, while the dimensions of the problem are reduced greatly, most of the information is still kept and expressed in the vectors.

The beauty of factorization-based methods is that we do not need to explicitly state these features for the model to make use of them. Using only the interactions between users, accommodation options and the trip context, the model understands on its own that a hostel is better suited to a solo traveller than to a family, or that an airport hotel is well suited for a one-night business trip.

While using the factorization machines is an interesting approach, a big caveat is the difficulty to incorporate customer feedback. Everything is based on user and item interactions, and the entire dataset must be retrained at the same time, which can be computationally heavy. Other types of models, including deep learning and tree-based approaches, might help us in that aspect.

What’s next?

Booking Product

Stories from the Product people at