Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Contextual user profiles for destination recommendations

409 views

Published on

At Booking.com, we recommend destinations to travelers who are not yet sure where to go. Typical recommender systems rely on past user feedback to recommend items to users. This can be problematic in our real-world application, where user interactions are infrequent (sparse data), and where many users come in for the first time or change interest over time (continuous cold start problem). Here, we propose to use the current user situational context, instead of past user interactions, to inform recommendations. In an A/B test on Booking.com users, contextual recommendations increased user engagement by 20%.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Contextual user profiles for destination recommendations

  1. 1. Booking.com Recommend Now, Not in the Past Lucas Bernardi, Melanie Mueller Data scientists @ Booking.com Leveraging Contextual User Profiles for Destination Recommendations
  2. 2. Booking.com Introduction: Recommending travel destinations Part I: Ranking destinations Part II: Contextual recommendations Conclusions Outline
  3. 3. Booking.com Travel agents
  4. 4. Booking.com Online travel agents
  5. 5. Booking.com Destination Finder
  6. 6. Booking.com Destination Finder
  7. 7. Booking.com Destination Finder
  8. 8. Booking.com Which destinations to recommend? Destination recommendations 1) Match activities 2) Recommend best matching destinations
  9. 9. Booking.com • 5 million reviews Endorsement data • 256 activities mined from reviews (LDA) • Ask users to ‘endorse’ a destination after their stay, e.g. ‘Beaches’, ‘Temples’ Endorsement #given #destinations Shopping 876,726 11,708 Food 525,111 20,538 Beach 505,192 11,422 … … … Mythology 1,065 406 Heliskiing 354 165
  10. 10. Booking.com Endorsement data
  11. 11. Booking.com Endorsement data • Standard recommender: user gives rating for item • Here: multi-criteria, negative opinions are hidden
  12. 12. Booking.com Ranking for ‘beach’ • Naive Bayes P(Miami | beach) = (# beach endorsements for Miami) (# beach endorsements) • Keep it simple!
  13. 13. Booking.com Destination Finder
  14. 14. Booking.com Evaluation • Naive Bayes • Random • Popularity How to test?
  15. 15. Booking.com A/B testing • Version A • Version B • Version C
  16. 16. Booking.com A/B testing Ranker #users Random 10079 Popularity 9838 Naive Bayes 9895 • Which metric? User engagement → clicks
  17. 17. Booking.com A/B testing Ranker #users #clickers conversion g-test Random 10079 2465 24.46% Popularity 9838 2509 25.50% 90.8% Naive Bayes 9895 2645 26.73% 99.9% • Which metric? User engagement → clicks
  18. 18. Booking.com Introduction: Recommending travel destinations Part I: Ranking destinations Part II: Contextual recommendations Conclusions Outline
  19. 19. Booking.com History is history • Traditional recommending systems use past user ratings to predict unknown ratings • User History is short: User Cold start problem. • Users have different personas: History becomes less relevant • User Interests are volatile: History becomes less relevant Continuous User Cold start
  20. 20. Booking.com Context Definition Set of features that inform about the current situation of the user. Example Location, device, weather conditions, season, day of the week, hour of the day. Hypothesis Users in similar contexts have similar interests.
  21. 21. Booking.com Context Traditional Collaborative Filtering Recommendations U x I → R Destination Finder U x I x C → <r0 , r1 , r2 , …, rn >
  22. 22. Booking.com Framework
  23. 23. Booking.com Framework
  24. 24. Booking.com Discovering contextual profiles  Data points: Reviews  Features:  Endorsements  Contextual features  All features one-hot-encoded  Example: <Ubuntu, Firefox, Tuesday, beach, temples> <0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0...,0,1,0...0>
  25. 25. Booking.com Discovering contextual profiles  k-means Clustering  Clean up clusters  Final output  Q binary n-dimensional centroids  Q Contextual Profiles
  26. 26. Booking.com Discovering contextual profiles Contextual Profiles i - 1 i i + 1 i + 1 … iPhone.OS.7.Chrome Windows.Phone … iPhone.OS.5.Chrome Windows.Vista iPhone.OS.6.Chrome Friday Android.2.2 Sunday Android.2.2.Tablet Android.3.1.Tablet Android.4.0.Tablet Android.4.4.Tablet Android.2.1.Tablet Android.3.0.Tablet Android.4.1 Android.4.3.Tablet
  27. 27. Booking.com Applying contextual profiles
  28. 28. Booking.com Applying contextual profiles  Contextual Profiles are simply a binary vector  Find the most similar Contextual Profile for each review  Train a ranker for each Contextual Profile
  29. 29. Booking.com Computing recommendations
  30. 30. Booking.com Computing recommendations  For a given user, compute a feature vector using contextual features  Contextualize: Find closest Contextual Profile  Compute recommendations using the ranker trained on the selected Contextual Profile
  31. 31. Booking.com Framework
  32. 32. Booking.com Results Ranker Users Conversion CTR Baseline 13,306 21.7 ± 0.7% 18.5 ± 0.4% Contextual 13,562 21.3 ± 0.7% 22.2 ± 0.4% Improved CTR by 22.5%
  33. 33. Booking.com Conclusions • Multi-criteria destinations Recommender System • Simple rankers increase user engagement • Context matters •Improves user engagement •Attacks Continuous cold start problem • Reusable Contextual Profiles • On-line evaluation
  34. 34. Booking.com Julia Kiseleva, PhD student at Eindhoven University, Research intern at Booking.com Nov 204 - Mar 2015 Booking.com: Chad Davis, Ivan Kovacek Mats Stafseng Einarsen Academia: Djoerd Hiemstra, Jaap Kamps Mykola Pechenizkiy, Alexander Tuzhilin Thanks
  35. 35. Booking.com We're hiring

×