Designing a Restaurant Recommendation System for a Food-Ordering App
Context
You are tasked with designing an end-to-end recommendation system that suggests restaurants to users within a food-ordering app. The system should handle personalized ranking, real-time context (e.g., location, time of day, delivery constraints), and the cold-start problem for both new users and new restaurants.
Question
Describe, end-to-end, how you would design a restaurant recommendation system.
-
Which machine-learning models are suitable at different stages of the system (e.g., retrieval, ranking, re-ranking)?
-
How would you handle cold-start restaurants and cold-start users?
-
How would you evaluate recommendation quality offline and online?
Hints to consider:
-
Data requirements and feature design
-
Collaborative filtering vs. content-based models
-
Handling implicit feedback
-
A/B testing metrics such as CTR and conversion