Restaurants: Gathering insights and menus on UberEats

Posted on May 3, 2020
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
  • Rating
  • Number of reviews
  • Full restaurant menu with menu-subtitle, dish name, dish description and meal price

Exploratory Data Analysis

Menu selection:-

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.

Menu items

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.

About Author

Robert Atuahene

Financial services executive with extensive experience in trading and risk management of listed derivatives. Excited about opportunities to apply data science to the financial services domain and beyond!
View all posts by Robert Atuahene >

Leave a Comment

Restaurantes en tiempos de rentas altas $ ¿Qué es una Dark Kitchen y cuáles son sus factores de éxito? – Datlas Investigación | Blog de August 17, 2020
[…]… […]

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI