Restaurants: Gathering insights and menus on UberEats
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
With Covid19, consumers will likely skew their dining options towards meal delivery vs. in restaurant dining. Restaurants that do open will need to significantly reduce in-restaurant dining traffic to only a few patrons at any given time to limit exposure and spread until a vaccine is developed. Medical experts estimate it may take up to a couple of years for a vaccine to be developed and widely administered. In the time being, restaurants will likely move a significant portion of their menu items online and to food delivery services like Ubereats, Grubhub, Doordash and Postmates in order to survive.
As online menu options grow and customers begin to rely more heavily on such online services they will need a specialized(vertical) query tool that will help them make the best selections based on their price points, culinary preferences and geographical location.
Restaurant operators in turn will look to tools that will allow them to optimize their menu selection and pricing within each geographical location.
This project kicks off the research and exploratory analysis aimed at ultimately generating actionable insights to restaurant operators and their customers regarding menu selection and pricing. Specifically for the restaurant owner, I will use data scraped from UberEats US website and the subsequent data analysis to help a restaurant owner answer 2 simple questions:
- How do I choose my menu?
- Which cities should I target?
For the consumer, I seek to use the data to answer a simple question:
- where do I take the kids to dinner?
Scraping & Pre-processing
I used Selenium and multiple processes spawned on 2 commodity hardware to speed up scraping data on the UberEats website.
Ultimate goal is to scrape data across all ~3k+ cities listed on the UberEats US website.
For this initial analysis , I scraped all cities in Arizona and Alabama. Resulting dataset after pre-processing: 98k rows, with 15 features including:
- Restaurant name
- Restaurant geographical location
- Uber's restaurant city name
- Restaurant category
- Pricing category
- Number of reviews
- Full restaurant menu with menu-subtitle, dish name, dish description and meal price
Exploratory Data Analysis
If I put myself in the shoes of a restaurant operator, I would want to know what the top menu categories are in my location and to better understand how the competition is pricing these menus locally. With this in mind and using data scraped for the state of Arizona, I generated the following boxplots - (click on image to enlarge)
For all but 1 category, 75% of the meals are priced under $10. Meal prices on the "Picked For You" submenu (meals recommended to customers by UberEats' algorithms ) appear to be much higher with significant outliers to the upside.
A density plot of the distribution of "Picked For You" submenu prices confirms the finding from the above boxplot that the median(not the 3rd quartile) for this subset of meals is ~$10 with several outliers ranging from $20-$68 per meal.
Now that we know that the UberEats recommended meals are generally the higher menu items, I wanted to find out how the recommended meal prices vary across the major cities in Arizona and across restaurants in Arizona. With the bar plots below, I found that Scottsdale Arizona and a Red Lobster restaurant had the highest averages.
Restaurant Reviews and Ratings
One of the popular measures of restaurant popularity is the quantity and quality of their reviews. For this particular analysis, I explored the distribution of restaurant ratings in both Arizona(AZ) and Alabama(AL) and found out that most ratings(1-5) were positively skewed with most of ratings falling between 4.25 and 4.75 in both states.
And from the scatter plot below, we can see that the more actively reviewed restaurants generally have higher ratings with lower variability in the results compared to less actively reviewed restaurants. Intuitively, this makes sense as successful restaurants tend to have a bigger and more enthusiastic customer base and if a large enough subset choose to rate a restaurant then it's reasonable to expect that the sentiment conveyed online in aggregate mimics the sentiment of the overall customer base.
With this backdrop it will be interesting to see in further analysis, the influence(if any) of restaurant ratings on restaurant menu prices and selection.
With an understanding of the price distribution of sub-menu categories in Arizona, I proceeded to take a deeper look into the composition of menu items.
A wordcloud of the text describing each menu item in the corpus generated this:
which wafts of American fast food - burgers and fries. Indeed, a subsequent wordcloud on the food categories in the corpus(states of Arizona and Alabama) confirms this:
Now shifting my attention to the consumer, I wanted to answer this:
Where do we take the kids to dinner in Arizona?
For the state of Arizona, I picked the top restaurants after grouping them by the number of distinct menu items on their respective Kid's menu.
From the chart above, if you are a parent with picky eaters and in the state of Arizona, look for a Panera Bread, a Red Robin, a Babbo Italian Eatery, a BJ's Restaurant or a Dillon's BBQ nearest you.
- If you are a restaurant owner in Arizona, you are looking at pricing most dishes at ~$10.
- UberEats' recommended meals off your menu are typically priced higher than the rest of the menu. Hence it will be prudent to include some higher priced/higher margin items on your menu to take advantage of this UberEats feature.
- For this corpus, ratings were positively skewed and the heavily reviewed restaurants had higher ratings in general with smaller dispersion in ratings. A restaurant owner could look at heavily reviewed and highly rated competitors for inspiration.
- In terms of actual menu selection, within the corpus, I found American fast foods to be the most popular and this could guide menu selection.
- For a parent looking for a wide selection of kid's meals, analysis of the corpus using variety as the only criteria brings up Panera Bread and Red Robin as the top dining options.
With more data, I plan to extend this analysis to cover the menu items and prices across other geographical regions. Ultimately, this will aid restaurant owners in menu selection and pricing.