RecTour 2019, September 19th, 2019, Copenhagen, Denmark. 38 Balancing Preferences, Popularity and Location in Context-Aware Restaurant Deal Recommendation: A Bristol, Cardiff and Brighton Case Study Ercan Ezin, Hugo Alcaraz-Herrera Iván Palomares {ercan.ezin,h.alcarazherrera}@bristol.ac.uk i.palomares@bristol.ac.uk University of Bristol University of Bristol. Bristol, United Kingdom Bristol, United Kingdom The Alan Turing Institute. London, United Kingdom ABSTRACT also seek specific dishes or suitable offers/deals that meet We propose a personalisation solution to recommend tailored their preferences to a deeper level of granularity. To our restaurant deals for residents or visitors in a city. Unlike pre- knowledge, this is the first study to jointly consider both vious work on recommendations in the restaurant sector (i) general aspects of restaurants (location, opening times where actual venues are recommended, we focus on suggest- and popularity) and (ii) specific item features (through users’ ing specific products in the form of deals offered by such preferences on specific types of food-drink deals), for recom- restaurants. This is done by jointly filtering relevant informa- mending restaurant deals for residents and visitors in a city. tion for the end-user based on their food-drink preferences, Some services and apps, such as Wriggle 1 , have recently the popularity of the restaurant, its proximity to the user’s arisen in which users in Bristol, Cardiff and Brighton can location and temporal constraints on the availability of deals. search for available restaurant deals in their area. A real case study has been conducted upon datasets provided We present a model for recommending temporary deals of- by Wriggle, a platform for discovering local deals in various fered by restaurants, taking account of (i) users’ preferences cities across England. on food-drink categories, (ii) contextual information and (iii) restaurant popularity. In our approach, the recommendable KEYWORDS items are deals offered by restaurants, rather than restau- Personalised Tourism, Restaurant Recommendation, Prefer- rants “as a whole”. We investigate the problem of weighting ence Modeling, Context-Aware Recommendation, Weighting (balancing) and aggregating similarity information for the three aforesaid aspects. In addition, we conduct a case study 1 INTRODUCTION and a preliminary evaluation with real user and restaurant deal data provided by Wriggle on three UK cities. The results Personalisation services for tourism, leisure and entertain- hint that by setting the weighting parameters for balancing ment have been investigated for recommending Points-of- the aforesaid sources from user to user, our proposed scheme Interest (PoIs) or sequences of them [1, 2], selecting suitable has the potential for addressing the cold start problem (e.g. cities for a group itinerary [3], or recommendations in the first-time visitors to a city with no purchase history), hence hotel sector [4, 6], to name a few. This study focuses on becoming adaptable to both local residents and tourists. recommendations in the restaurant sector, which has also attained significant attention within the tourism landscape: 2 MODEL in medium to large cities where both residents and visitors alike search for new restaurants, cafes or bars amid hundreds Let ui ∈ U be the ith user and U the set of all users. Denote or thousands of available options [7], eating or drinking out by C = {c 1 , . . . , c M } the set of existing food-drink categories is a cornerstone activity where personalisation turns indis- in the system, e.g. ’cocktails’, ’tapas’, ’Indian’, ’Chinese’, etc. pensable to help them finding venues that meet their taste. Given M categories, every user ui has associated a preference Various research efforts have been made on recommend- vector Pi = (pi1 pi2 . . . pi M ) where pik ∈ {0, 1} is a preference ing suitable restaurants based on different forms of user indicator towards category c k by ui . In our current version of preferences and contextual factors [8–10]. However, these the model, the value of pik is binary and determined depend- works typically focus on recommending venues, by analysing ing on whether the user consumed deals under c k or not. A characteristics associated to the restaurant itself, without restaurant deal x j ∈ X , with X the set of all restaurant deals looking at specific products (e.g. dishes, drinks, deals, etc.) (item set), can have associated one or more categories c k ∈ C. offered by that restaurant or analysing how they meet the Thus, we formally define a deal as a tuple x j = ⟨r x j , Cj , Vj ⟩, specific user needs or preferences. Despite this is an impor- tant decision-making step for for customers, many of them 1 Wriggle website: https://www.getawriggleon.com/ Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). RecTour 2019, September 19th, 2019, Copenhagen, Denmark. 39 where r x j is the restaurant that offers the deal. Cj is the tem- (1) Preference Matching: It calculates the similarity between poral context of the deal, namely start and end date at which ui preferences on food-drink categories, given by Pi , and the the deal is available, and whether it is a lunchtime and/or specific categorical features of a deal x j , given by Vj . The co- dinner time deal. Vj = (v j1 v j2 . . . v j M ) is a binary feature sine similarity is determined between both one-dimensional vector associated with the offer, in which v jk = 1 if the deal vectors, m α (ui , x j ) = sim(Pi , Vj ). In essence, this filtering x j is labeled with category c k , and v jk = 0 otherwise. Our process entails a content-based approach relying on user solution consists of two major stages: a context-based item preferences and item features of deals, hence it can easily pre-filtering stage, and a weighted filtering stage. integrate other content-based models in extant literature. (2) Popularity Matching: This process takes the restaurant popularity into account, based on the average customer rat- ing given to the restaurant. The popularity matching is cal- culated as the average customer rating of the restaurant r x j , thus m β (ui , x j ) = pop(r x j ). Despite its simplicity, this solution is not personalised for the end user in question, be- cause it is only dependent on r x j . An alternative personalised solution would be to apply a Collaborative Filtering (CF) al- gorithm to identify the K most similar users to ui who rated r x j , based on their preference vectors Pi , and predicting how popular the restaurant might be for ui . (3) Location Matching: It takes the distance between restau- rants within a predefined radius and the current user location, thereby prioritising deals from closer restaurants: dist(ui , r x j ) mγ (ui , x j ) = 1 − (1) radius One of the contributions in this study is an adaptive weight- ing scheme for balancing preferences, popularity and loca- tion. Let α, β and γ be the weighting parameters or degrees of influence played by the preference, popularity and lo- cation matching, respectively. Without loss of generality, Figure 1: Architecture of the model for restaurant deal rec- α, β, γ ∈ [0, 1] and α + β + γ = 1. The overall matching used ommendation for selecting and recommending the top-N deals for ui , is: Item pre-filtering. Unlike rating-based context pre-filtering approaches in the literature [5], in our model given an item m(ui , x j ) = α ·m α (ui , x j ) + β ·m β (ui , x j ) + γ ·mγ (ui , x j ) (2) set X (i.e. restaurant deals) context information C is firstly used to extract a subset of data related to the items relevant We now describe a preliminary solution for adaptively setting to that context. This is fundamental in domains where con- α, β and γ for every user. It is worth noting that deeper textual limitations imply that not all existing items may be investigation of applying more advanced optimisation or relevant or accessible by the end user at a certain place or machine learning techniques to optimally set these weights, time. For the scope of this study focused on the Wriggle data, constitutes our immediate future work. we extract a subset of relevant deals to the current user and The influence of α, which refers to the user preferences their context, accomplishing: (i) Start-End Time: most deals on food-drink types, should rely on the size of the user’s are periodical or limited and have a start-end time, therefore purchase history, i.e. the number of deals previously con- the currently available deals must be filtered; (ii) Lunch or sumed. Users with a longer history have more accurately Dinner Time: some deals are only active at lunchtime or din- built preferences Pi than (cold) users with a short history, ner time, hence unavailable deals at a given time of the day hence α should be higher in the former case. For users with are filtered out; and (iii) Dietary Requirements: although this no purchase history, e.g. first-time visitors to a city, for in- is a user profile feature, we pre-filter suitable deals for users stance), preference information in Pi should be disregarded who are vegetarian or vegan. by setting α = 0. Inspired by fuzzy set theory, we achieve Weighted filtering. This stage applies three matching pro- this by setting α ∈ [0, αmax ], 0 < αmax < 1, such that α cesses and then weighs and aggregates resulting similarities: increases as the user history grows. Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). RecTour 2019, September 19th, 2019, Copenhagen, Denmark. 40 The influence of β relies on the amount of ratings received from the restaurant-related data. For the contextual infor- by the restaurant associated to x j . If r x j has more customer mation, location data and time are inferred by retrieving the ratings, β should be higher under the premise that frequently temporal information associated to the last purchased deal rated restaurants have more reliable (less biased) popularity (test data). Finally, we consider k = 10 for the size of the information, and vice versa. Likewise, for a new restaurant recommendation list. with no ratings, we set β = 0. Using a similar principle as Evaluation Metrics. We recommend the top-k matching the one for α, we set β ∈ [0, βmax ], 0 < βmax < 1 − αmax . offers to the target user and investigate the predictive power The influence of γ , which refers to the proximity between exhibited by the model in recommending the (removed) lat- user and venue, is (without losing generality) determined est deal purchased by each user, or the restaurant which upon the other two parameters, as γ = 1 − (α + β). In other offered it. For this end, the performance evaluation metrics words, distance becomes more relevant if ui has a smaller employed are adapted versions of average recall@k and aver- purchase history or r x j has less customer ratings. If both α age NDCG@k on all users, thereby predicting the appearance and β = 0, the filtering process between a cold user and a deal of each user’s latest deal or visited restaurant in her history offered by an unrated restaurant becomes purely location- in the recommendation list. The average recall is: based, γ = 1. u i ∈U yi Í 3 EXPERIMENTAL CASE STUDY avд_recall@k = (3) |U | This section presents a case study conducted in collaboration  11 if last deal consumer by ui is among top-k,   yi = if last restaurant visited by ui is among top-k,  with Wriggle, on a real dataset describing restaurants, deals 2 and purchases made by users who used Wriggle in Bristol,  0 otherwise.   Cardiff and Brighton. By using the purchase history and user Average Normalised Discounted Cumulative Gain at k: profile, a sensitivity analysis is conducted on our proposed u i ∈U N DCG@k i Í model parameters. avд_N DCG@k = Dataset Description. The anonymised datasets provided by |U | Wriggle contain a history of purchased deals by every user k Õ 2zi, j − 1 over a period of five years, between 2014 and 2019. Around N DCG@ki = (4) j=1 loд2 (j + 1) 305K purchases are logged by 141K users. Also, a total of approximately 11K deals offered by 2153 restaurants are in- where zi, j = 1 if the last deal consumer by ui is the jth cluded in the dataset, with each deal being associated to one recommended item, zi, j = 0.5 if the restaurant last visited by or multiple categories, out of a total of 63 categories describ- ui is at the jth recommended item, and zi, j = 0 otherwise. ing food or drink characteristics/cuisines. There is also data Results and Discussion. Three baseline approaches, and about every user’s profile, including dietary requirements if two versions of the proposed model with non-null weights, any (vegetarian, vegan), and restaurant profiles that contain are considered: the restaurant’s average popularity based on users’ rating Most Popular: Recommend deals based on venue popularity. on deals offered by that restaurant. User-Preference: Recommend deals predicted on preferences Experimental Setting. We filter users who have at least over categories in deals. one purchase in the last 5 months of purchase dataset be- Location: Recommend deals based on restaurant proximity. cause real location data exists only for that particular period. Same Weight: Popularity, preferences and context are equally Then, we split the user history dataset into a training and important for every user and restaurant, i.e. α = β = γ . test set for three major cities, Bristol, Cardiff and Brighton, Optimised Weight: It adaptively sets weights as explained in that Wriggle operates currently. We consider three different Section 3, with αmax = βmax = 0.3. Both α (resp. β) become time span settings for the user purchase history: 6 Months, maximum when the user history length (resp. restaurant 12 Months and entire history since 2014. We then separate rating count) is greater than five. the latest deal with location information purchased by each Figure 2 summarises the average results obtained by the user into the test set. Users with three or less items in their five models, for users in the three cities considered and the purchased history have been removed for the purpose of three time span settings considered. Despite a more exhaus- this experiment, leaving a consolidated purchase history of tive validation is needed, the results provide some interesting 2043 Users for Bristol, 249 for Cardiff and 643 for Brighton. insights. Category information retrieved from deals in the purchase The proposed model with optimised weight scheme tends history is used to built preference vector of user Pi for the to slightly outperform the version with same weights, in preference matching. Likewise, the information about restau- almost all cases, specially when considering a shorter time rant popularity, opening times and location are retrieved span (6 months). Whilst this improvement is not significant, Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). RecTour 2019, September 19th, 2019, Copenhagen, Denmark. 41 Figure 2: Comparison results in terms of average recall and average NCDG for k = 10 it motivates us to investigate how to further improve it by REFERENCES devising more user-adaptive weight optimisation methods in [1] D. Herzog, C. Laβ , Wolfgang Wörndl. Tourrec: a tourist trip recom- future work. Both two versions of our model generally out- mender system for individuals and groups. Proceedings 12th ACM perform the three baseline approaches, however a location Conference on Recommender Systems (Recsys’18), pp. 496-497, 2018. [2] A. Moreno, A. Valls, D. Isern, L. Marin, J. Borrás. SigTur/E-Destination: based recommendation has better predictive power in two of Ontology-based personalized recommendation of Tourism and Leisure the three cities for the 6-month case. This suggests that most Activities. Engineering Applications of Artificial Intelligence, users may have a scarce purchase history in such a short [3] E. Ezin, I. Palomares, J. Neve. Group Decision Making with time span, in which case prioritising restaurant proximity Collaborative-Filtering ín the loop:́ interaction-based preference and might increase the chances for better predictions. trust elicitation. Accepted, IEEE SMC 2019 Conference. In press. [4] M. Al-Ghossein, T. Abdessalem, A. Barré. Cross-Domain Recommen- Finally, the fact that the user preference baseline gently im- dation in the Hotel Sector. Proceedings RecTour’18, in 11th Conf. ACM proves for longer time spans, suggests that the more purchase Recsys’18, pp. 1-6, 2018. history data are available, the more reliable the extracted [5] G. Adomavicius, A. Tuzhilin. Context-Aware Recommender Systems. (implicit) preference information is. In F. Ricci et al. (Eds.) Recommender Systems Handbook, pp. 217-253, Springer, 2011. 4 CONCLUSION [6] A. Ebadi, A. KrzyÅijak. A Hybrid Multi-Criteria Hotel Recommender This contribution proposes a recommendation model for System Using Explicit and Implicit Feedbacks. International Journal of suggesting restaurant deals to local and visiting users to a Computer and Information Engineering, 10(8), 1450-1458, 2016. [7] P. Longart. Consumer Decision Making in Restaurant Selection. PhD city by balancing their food-drink preferences, the popularity Thesis, Buckinghamshire New University, 2015. of the restaurant, and the context surrounding the user, such [8] L. Li, Y. Zhou, H. Xiong, C. Hu, X. Wei. Collaborative Filtering based as his/her location. A case study has been conducted with real on User Attributes and User Ratings for Restaurant Recommendation. data provided by Wriggle, with insightful results motivating Proceedings 2nd IEEE IAEAC Conference, pp. 2592-2597, 2017. 26(1), the need for follow-up research on how to optimally balance pp. 633-651, 2013. [9] E. Palumbo, G. Rizzo, R. Troncy, E. Baralis. Predicting Your Next Stop- multiple information sources. over from Location-based Social People often visit restaurants in groups whose members [10] J. Zeng, F. Li, H. Liu, J. Wen, S. Hirowaka. A Restaurant Recommender have diverse preferences. Accordingly, future work involves System based on User and Location in Mobile Environment. Proceed- investigating preference aggregation for consensual group ings 5th IIAI International Congress, pp 55-60, 2016. Network Data recommendations [12, 13]. We are also interested in (i) har- with Recurrent Neural Networks. Proceedings RecTour’17, 11th Conf. ACM Recsys’17, pp. 1-8, 2017. nessing the capabilities of data networks in smart cities to [11] M. Bressan, S. Leucci, A. Panconesi, P. Raghavan, E. Terolli. The Limits enable highly situation-aware recommendations in real time, of Popularity-Based Recommendations, and the Role of Social Ties. specially for tourists visiting a city; (ii) modeling users’ pref- Proceedings 22nd ACM SIGKDD International Conference, pp. 745-754, erences on food-drink categories more flexibly and under 2016. several decision criteria; and (iii) applying improved models [12] A. Delic, J. Neidhardt, H. Werthner. Group Decision Making and Group Recommendations. Proceedings 20th IEEE CBI, pp. 79-88, 2018. on open datasets to make this research more reproducible. [13] I. Palomares. Large Group Decision Making: creating Decision Support 5 ACKNOWLEDGMENTS Systems at Scale. Springerbriefs in Computer Science, Springer, 2018. The authors would like to thank Rob Hall (CEO, Wriggle) and Clement Debiaune (CTO, Wriggle) for incentivising and fostering the collaboration that made this research possible. Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).