You work at Yelp. How would you create a system that would provide good advice to users of new restaurants to try?
You'll get access to over 3,000 product manager interview questions and answers
Recommended by over 100k members
Clarification
When we say "try" a restaurant, I'm going to make the assumption that users can try a new restaurant by dining in, picking up takeout, or ordering delivery.
In terms of what constitutes a restaurant let's use Yelp's existing definition, everything from McDonalds to Michelin Star restaurants.
Goal
Before we dive into creating this system, we should first take a step back and think about why are we doing this. What is our motivation here and what do we hope to accomplish?
A good way of uncovering that is by relating the task at hand to Yelp's mission statement which is to connect people with great local businesses. By recommending new restaurants for users to try we are directly connecting them with local businesses.
Let's have our goal be to increase the number of users who try a new restaurant.
User Segments
It's tought to come up with a magic bullet that solves everything for everyone, so one of the ways in which I like to narrow scope is to by look at the different user segments and choose on to focus on:
- Gourmands -> Very interested in fine dining and fancy restaurants
- College Students -> Tight budget and not the most refined palate.
- Busy Professionals -> Have money, but not time. Convenience is important.
- Families -> Large group of people, 3-5. May have younger or older family members.
- Word of mouth
- Online Reviews
- Suggestions from Delivery Services
- Ads
- How do I know if the food is going to be good
- Online reviews are unreliable
- Is it going to be within my budget
- So many different options, which one to choose?
- Is it easy to get to? Most college students don't have car
- New and Near You - List of recently opened restaurants that are within X travel distance from the user. X will be based upon the methods of transportation available to the user
- Friend Picks - Using Yelp's profile and contact list capabilities, we will display the list of nearby restaurants to the user that their friends have been to and enjoyed.
- Local Guide Suggestions - Feature different reviews from established local guides or personalities on the platform for newly opened restaurants.
- "I'm Hungry" button - Will launch the user into a conversation with a chat bot to guide them to a restaurant based upon questions they answer.
This is a product design question
Step 1 : Clarify:
Are these new users or new restaurants
Do we have the system to recommend a specific dish/cuisine
Is the system to be designed for a particular geo, region or platform
Step 2: Select user group
Review writers
Review consumers
Establishments
Since this requirement is about recommendation to a users of a new restuarant, we will focus on Review consumers as our user group
Step 3: What are their pain points
a) Know what the new restaurants are, location and cuisine
b) Number of quality reviews
c) Credibility of reviews
d) What to try
f) Deitary options- Kosher, Halal, Vegan etc.
g) Average cost for 2 people, 4 people etc.
Step 4: Prioritization of pain points:
a) Know what the new restaurants are, location and cuisine
b) Number of quality reviews
c) Credibility of reviews
d) What to try
Deitary options can be found by calling the restaurant or looking up their website, Average cost can be looked by reviewing the menu
Step 5: Solutions
a) Pop up with snapshot of restaurants launched over past month. This will have details of the cuisine, location, summary of key reviews, etc.
b) Send a notification or email alert to users with >certain number of reviews to visit the restaurant. offer discount to try the food and provide reviews. This will create new reviews and also increase credibility of reviews
c) Give a chance to a new restaurant to address any negative review for first 2-3 months before publishing on the portal
d) Provide an option to post pics of dishes on instagram/facebook to create engagement. These pics can also be uploaded in the restaurant profile
e) Allow restaurant to create a blog/page for their restaurant to talk about their latest dishes and offers
f) Allow restaurants to provide coupons in their review sections
g) Allow restauranters to upload a short video talking about their restaurant
Step 6: Prioritization of solution:
Priority 1: High Impact, low implementation cost
a) Pop up with snapshot of restaurants launched over past month. This will have details of the cuisine, location, summary of key reviews, etc.
b) Send a notification or email alert to users with >certain number of reviews to visit the restaurant. offer discount to try the food and provide reviews. This will create new reviews and also increase credibility of reviews
d) Provide an option to post pics of dishes on instagram/facebook to create engagement. These pics can also be uploaded in the restaurant profile
f) Allow restaurants to provide coupons in their review sections
Priority 2: Medium Impact, Medium implementation cost
c) Give a chance to a new restaurant to address any negative review for first 2-3 months before publishing on the portal ( There is no guarantee that reviewers will agree to change their reviews)
e) Allow restaurant to create a blog/page for their restaurant to talk about their latest dishes and offers ( Difficult for users to read over a phone)
g) Allow restauranters to upload a short video talking about their restaurant ( Users will be impatient and will prefer to read over watching a story)
clarifying question
- When you say try you mean in person or for ordering in - assuming its for in person dining
- By system do you mean a feature(including the algo) that'll recommend restaurants to the user for visits
- By try do you mean these are restaurants that uses hasnt dined at in the past
- this is as per yelp, so user may actually have tried it already?
- is there any goal in mind? user request
- is there any constraint?
- Im assuming these are organic recommendations
- Is the scope of the system(algorithm) limited to the system or also consider the UI side of things : assuming just the former'
- Metric: users added to DAU/WAU so DAU/MAU and WAU/MAU ratio
- fequently eats out - has fixed set of eateries, knows the restaurants around him well
- Occasionally eats out - doesnt dine out often, goes on special occasions mostly
- rarely eats out - doesnt dine out often, when needed orders in more often than dining out
- Recommend restaurants to user in line with his
- User Preferences
- cuisines
- dietary preference
- food
- liquor
- specific dishes
- price point
- previous reviews/inputs
- food
- ambience
- service
- type of restaurant: family friends or more club like etc
- derived preferences
- parking preference
- wait time
- service speed
- how far is the user willing to travel/acceptable commute time
- User Preferences
- Ask the user to give additional inputs to decide
Attributes highlighted in bold are prioritised:
in absence of this data we can look for users with similar phone model,apps installed and bluetooth devices in the area(these signals should be available using permission/most without permission) and create recommendations basis their profile (used to generate signal for ranking)
in absence of GPS data we can use approx location using cell towers (there are services)+data of lookalike users to determine how far they would be willing to travel
- identify similar user cohorts: we'll use available signals to match users with other users with a similar preference
- Use similar cohorts data to identify potential matches: Identify restaurants that other cohort liked that user is yet to visit
- Filter restaurants: Filter restaurants user hasnt visited yet basis their previous review/rating input
additionally it may filter on recent rating trend and below a certain rating threshold - Rank them basis preference weights: rank the restaurants using explore and exploit model - figure out winning algos and continue iterating on them
winning algos = great inputs from users on being asked to review the restaurant later - UI considerations: there is a chance user has already visited a restaurant, you want to allow the user to give feedback on the same and review it (from the recommendations itself)
Top Google interview questions
- What is your favorite product? Why?89 answers | 263k views
- How would you design a bicycle renting app for tourists?62 answers | 82.5k views
- Build a product to buy and sell antiques.54 answers | 66.8k views
- See Google PM Interview Questions
Top Product Design interview questions
- How would you design a web search engine for children below 14 years old?36 answers | 42.9k views
- Design a library for the future.25 answers | 23.5k views
- How would you design a consumer application for a scooter sharing business?21 answers | 18.6k views
- See Product Design PM Interview Questions
Top Google interview questions
- How would you improve Google Maps?53 answers | 228k views
- A metric for a video streaming service dropped by 80%. What do you do?50 answers | 135k views
- Calculate the number of queries answered by Google per second.45 answers | 78.5k views
- See Google PM Interview Questions
Top Product Design interview questions
- Build a product to solve the dog poop problem.13 answers | 9.4k views
- How would you design a "Google Refrigerator"?13 answers | 8.3k views
- Design a social travel product.12 answers | 13.4k views
- See Product Design PM Interview Questions