Design "Restaurants You May Know" Recommendation Algorithm
Quick Overview
Evaluates recommendation design for a food-delivery "Restaurants You May Know" module. Strong answers connect user and business need, candidate generation, ranking, cold start, UX controls, and an A/B test measuring incremental orders, retention, quality, and cannibalization.
Design "Restaurants You May Know" Recommendation Algorithm
Company: Meta
Role: Data Scientist
Category: Analytics & Experimentation
Difficulty: medium
Interview Round: Onsite
##### Scenario
Food-delivery app wants to launch a "Restaurants You May Know" recommendation feature on the home page.
##### Question
Why might users and the business need this feature? Describe how you would design the recommendation algorithm and end-to-end user experience. What experiment or metrics would you use to evaluate the feature’s impact?
##### Hints
Think CTR, order conversion, retention; propose A/B test and attribution window.
Quick Answer: Evaluates recommendation design for a food-delivery "Restaurants You May Know" module. Strong answers connect user and business need, candidate generation, ranking, cold start, UX controls, and an A/B test measuring incremental orders, retention, quality, and cannibalization.
Design "Restaurants You May Know" Recommendation Algorithm
A food-delivery app wants to launch a personalized home-page module called "Restaurants You May Know" to help users discover relevant restaurants they have not ordered from recently.
Constraints & Assumptions
Assume logs exist for impressions, clicks, menu views, add-to-cart, orders, order value, delivery quality, ratings, and user feedback.
The module links to restaurant menu pages.
Recommendations should create incremental value, not merely move orders from other modules.
Include algorithm design, user experience, experiment design, and metrics.
Clarifying Questions to Ask Guidance
What user action should the module optimize: click, add-to-cart, order, repeat order, or discovery?
Are restaurants ranked from the whole marketplace or from a pre-filtered eligible set?
Should the module prioritize new restaurants, familiar restaurants, or variety?
What business constraints exist around merchant fairness, delivery quality, promotions, and availability?
Part 1 - User and Business Need
Why might users and the business need this feature?
What This Part Should Cover Guidance
User discovery, reduced choice overload, faster ordering, variety, and relevance.
Business goals such as incremental orders, GMV, retention, merchant exposure, and supply balancing.
Cannibalization and guardrails.
Part 2 - Recommendation Algorithm
How would you design the recommendation algorithm from candidate generation to ranking, including cold start and business constraints?
What This Part Should Cover Guidance
Candidate generation using cuisine, location, popularity, collaborative filtering, similar users, social signals, and restaurant availability.
Ranking features, labels, model choices, exploration, diversity, freshness, and cold start.
Business constraints such as delivery radius, prep time, quality, fairness, promotions, and saturation.
Part 3 - User Experience
How would you design the end-to-end user experience?
What experiment design and metrics would you use to evaluate the feature?
What This Part Should Cover Guidance
User-level A/B test with exposure logging and holdouts.
Primary metrics such as incremental orders, conversion, GMV, repeat usage, and retention.
Guardrails for fulfillment quality, cancellations, delivery time, customer complaints, merchant fairness, and cannibalization of other modules.
What a Strong Answer Covers Guidance
A strong answer connects user need, candidate generation, ranking, UX, and experimentation, and evaluates the module on incremental marketplace value rather than clicks alone.
Follow-up Questions Guidance
How would you recommend restaurants for a brand-new user?
How would you prevent popular restaurants from crowding out smaller merchants?