contextual user profiles for destination recommendations

35
Booking.com Recommend Now, Not in the Past Lucas Bernardi, Melanie Mueller Data scientists @ Booking.com Leveraging Contextual User Profiles for Destination Recommendations

Upload: melanie-ji-mueller

Post on 11-Jan-2017

47 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Contextual user profiles for destination recommendations

Booking.com

Recommend Now, Not in the Past

Lucas Bernardi, Melanie Mueller Data scientists @ Booking.com

Leveraging Contextual User Profilesfor Destination Recommendations

Page 2: Contextual user profiles for destination recommendations

Booking.com

Introduction: Recommending travel destinations

Part I: Ranking destinations

Part II: Contextual recommendations

Conclusions

Outline

Page 3: Contextual user profiles for destination recommendations

Booking.com

Travel agents

Page 4: Contextual user profiles for destination recommendations

Booking.com

Online travel agents

Page 5: Contextual user profiles for destination recommendations

Booking.com

Destination Finder

Page 6: Contextual user profiles for destination recommendations

Booking.com

Destination Finder

Page 7: Contextual user profiles for destination recommendations

Booking.com

Destination Finder

Page 8: Contextual user profiles for destination recommendations

Booking.com

Which destinations to recommend?

Destination recommendations

1) Match activities

2) Recommend best matching destinations

Page 9: Contextual user profiles for destination recommendations

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

Page 10: Contextual user profiles for destination recommendations

Booking.com

Endorsement data

Page 11: Contextual user profiles for destination recommendations

Booking.com

Endorsement data• Standard recommender: user gives rating for item

• Here: multi-criteria, negative opinions are hidden

Page 12: Contextual user profiles for destination recommendations

Booking.com

Ranking for ‘beach’

• Naive Bayes

P(Miami | beach) = (# beach endorsements for Miami)

(# beach endorsements)

• Keep it simple!

Page 13: Contextual user profiles for destination recommendations

Booking.com

Destination Finder

Page 14: Contextual user profiles for destination recommendations

Booking.com

Evaluation

• Naive Bayes

• Random

• Popularity

How to test?

Page 15: Contextual user profiles for destination recommendations

Booking.com

A/B testing• Version A • Version B • Version C

Page 16: Contextual user profiles for destination recommendations

Booking.com

A/B testing

Ranker #users Random 10079 Popularity 9838 Naive Bayes 9895

• Which metric?

User engagement → clicks

Page 17: Contextual user profiles for destination recommendations

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

Page 18: Contextual user profiles for destination recommendations

Booking.com

Introduction: Recommending travel destinations

Part I: Ranking destinations

Part II: Contextual recommendations

Conclusions

Outline

Page 19: Contextual user profiles for destination recommendations

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

Page 20: Contextual user profiles for destination recommendations

Booking.com

Context

DefinitionSet of features that inform about the current situation of the user.

ExampleLocation, device, weather conditions, season, day of the week,

hour of the day.

HypothesisUsers in similar contexts have similar interests.

Page 21: Contextual user profiles for destination recommendations

Booking.com

Context

Traditional Collaborative Filtering RecommendationsU x I → R

Destination FinderU x I x C → <r0, r1, r2, …, rn>

Page 22: Contextual user profiles for destination recommendations

Booking.com

Framework

Page 23: Contextual user profiles for destination recommendations

Booking.com

Framework

Page 24: Contextual user profiles for destination recommendations

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>

Page 25: Contextual user profiles for destination recommendations

Booking.com

Discovering contextual profiles

k-means Clustering Clean up clusters Final output

Q binary n-dimensional centroids Q Contextual Profiles

Page 26: Contextual user profiles for destination recommendations

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

Page 27: Contextual user profiles for destination recommendations

Booking.com

Applying contextual profiles

Page 28: Contextual user profiles for destination recommendations

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

Page 29: Contextual user profiles for destination recommendations

Booking.com

Computing recommendations

Page 30: Contextual user profiles for destination recommendations

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

Page 31: Contextual user profiles for destination recommendations

Booking.com

Framework

Page 32: Contextual user profiles for destination recommendations

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%

Page 33: Contextual user profiles for destination recommendations

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

Page 34: Contextual user profiles for destination recommendations

Booking.com

Julia Kiseleva, PhD student at Eindhoven University,Research intern at Booking.com Nov 204 - Mar 2015

Booking.com: Chad Davis, Ivan KovacekMats Stafseng Einarsen

Academia: Djoerd Hiemstra, Jaap KampsMykola Pechenizkiy, Alexander Tuzhilin

Thanks

Page 35: Contextual user profiles for destination recommendations

Booking.com

We're hiring