15% off membership for Easter! Learn more. Close

You work at Yelp. How would you create a system that would provide good advice to users of new restaurants to try?

Asked at Google
954 views
Answers (3)
To answer this question, Log in.
crownAccess expert answers by becoming a member

You'll get access to over 3,000 product manager interview questions and answers

badge Platinum PM

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:

  1. Gourmands -> Very interested in fine dining and fancy restaurants
  2. College Students -> Tight budget and not the most refined palate. 
  3. Busy Professionals -> Have money, but not time. Convenience is important.
  4. Families -> Large group of people, 3-5. May have younger or older family members.
Out of the above user segments, I'm going to suggest we focus on the college students. 
 
Current State of Affairs
To help us better get a sense of the users pain points and areas of frustration in relation to finding new restaurants, let's take a look at the existing ways users find new restaurants.
  1. Word of mouth
  2. Online Reviews
  3. Suggestions from Delivery Services
  4. Ads
 
Pain Points
  1. How do I know if the food is going to be good
  2. Online reviews are unreliable
  3. Is it going to be within my budget
  4. So many different options, which one to choose?
  5. Is it easy to get to? Most college students don't have car
 
Solutions
  1. 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
  2. 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.
  3. Local Guide Suggestions - Feature different reviews from established local guides or personalities on the platform for newly opened restaurants.
  4. "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. 
 
Prioritization (Comparison Matrix)
Ease of implementation, User Satisfaction, Relevance to Goal
1. A, B, B+
2. A-, A, A-
3. A, B, B+
4. B, B+, C+
 
Summary
In order to increase the number of college students trying new restaurants on our plaftorm, we are going to build out the new "Friend Picks" feature. This feature will display a list of restaurants you haven't been to that are popular amgonst your friends. For example, if there is a cheap pizza spot just off campus you're going to want to know about it and seeing how popular it is amongst your friends will alert you to it.
Access expert answers by becoming a member
1 like   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

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)

 

 

 

Access expert answers by becoming a member
1 like   |  
1 Feedback
badge Platinum PM

Things you did well

  • Good structure
  • Clarifying questions: good job asking clarifying questions to narrow down the scope.
  • Selecting specific user group: good job listing the users and selecting one to focus on.
  • Pain points: good job listing the pain points
  • Solutions: good job listing solutions and prioritizing based on impact and effort
Areas of improvement
  • Goal: what tis the goal of new feature? Bonus points if you can tie it with the company mission
  • Pain point prioritization: You only explain why you deprioritized certain pain points, why did you prioritize the others?
  • Summary: Try to summarize your answer if you have time. Adding success metrics would be a bonus.
2
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
badge Platinum PM

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
Persona
  •  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 
I want to focus on occasionally eats out as we will be able to create max value for max number of users if we asses it using the rice framework
 
Recommendation system
what should it do?
  • 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 
what should it not do?
  • Ask the user to give additional inputs  to decide 
Prioritisation 

Attributes highlighted in bold are prioritised:
- Cuisines and dietary = core to the eating out experience at the restaurant, food has  to be likeable(used to generate signal for ranking)
-  Price point = needed to ensure   restaurant is within user's budget range(used to generate signal for ranking)
- Previous reviews = needed for match making to similar cohorts to predict local restaurants (used to generate signal for ranking)
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)
- type of  restaurant = imp to filter restaurants for example users who often dien out with kids will prefer family restaurants/restaurants that allows kids at night (used to filter)
- distance = this will tell us how far is user usually willing to travel so we can predict similar restaurants withing travel distance (used to filter)
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 
 
Not prioritised = limited ROI on data due to complex problem, can be considered for iteration
what will widget do
- Recommend restaurants to you within X km of you 
- snippet/highlights : rating, cuisine, price for 2 
- Explain what to try on clicking on the restaurnat
- Allow user to dismiss a reco in case he has visited already 
 
how will it work
  • 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)
Metrics to track
 
- users added due to this widget on DAU/WAU
- CTR on the widget
- Conversion (actual visit)
-  post visit rating (for algo feedback) 
 
 
Access expert answers by becoming a member
0 likes   |  
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs
Get unlimited access for $12/month
Get access to 2,346 pm interview questions and answers to give yourself a strong edge against other candidates that are interviewing for the same position
Get access to over 238 hours of video material containing an interview prep course, recorded mock interviews by expert PMs, group practice sessions, and QAs with expert PMs
Boost your confidence in PM interviews by attending peer to peer mock interview practices, group practices, and QA sessions with expert PMs