Data Study on the Return to In-Person Dining with OpenTable
The skills I demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
GitHub | LinkedIn
Background
With vaccinations being rolled out and gathering restrictions eased in 2021, consumers are returning to their favorite eateries. Pent-up demand has remained high and OpenTableβs State of the Industry data report recently announced that global dining reservations are approaching pre-pandemic levels. Technological integration remains an important part of the restaurant industry in 2021, and websites and online reviews are an essential source of customers.
Business objectives
As the return to in-person dining continues, how can restaurants maximize customer intake through online reservation platforms?
To answer this question, I scraped data from OpenTable, a leading online reservation system. Information from every restaurant in New York City currently active on the platform (~1100 restaurants) was scraped, along with the daily number of bookings at each restaurant over 5 days in July 2021.
My analysis focuses on 3 main groups of factors and their effects on bookings gained through the OpenTable platform:
- Types of food served
- Management of COVID-19 safety concerns
- User reviews and promoted status
This analysis might provide useful insights for:
- Restaurants looking to pull in more customers through online platforms
- Entrepreneurs interested in opening a restaurant in NYC
- Consumers planning their next dinner out on an online platform
Scraping and Data cleaning
The web scraper was written in Python using Selenium and BeautifulSoup. 25 features were scraped from each restaurant's profile page (ex. here). Reservation counts are not published publicly and were extracted from "This restaurant was booked x times today" html elements on the OpenTable search page, pictured below.
These elements were scraped daily at 11:30pm. I worked under the assumption that no more reservations for the current day would be made after 11:30pm, and this approach allowed enough time for the scraper to run before the elements reset at midnight. Briefly, data cleaning was done using Pandas and encompassed handling missing values, string processing, outlier removal, and normality testing.
Data on Different Cuisine Styles
As a restaurant, the type of food you offer is one of the most important factors in how customers will find you on websites like OpenTable or Yelp. Let's get an overview of the New Yorker's palette by looking at the top 20 most-booked cuisines.
Few surprises here, with American and Italian foods boasting the highest total bookings per day. A closer look at per-restaurant average bookings shows that steak/steakhouse and Chinese rank highly in both total bookings and per-restaurant bookings. Though their total booking volume is large, the average American or Italian restaurant does not get a particularly high number of bookings.
Further, this analysis shows that targeting niche audiences (ex. lovers of Beijing-style Chinese, Laotian, or Sardinian food) is a very successful strategy for some businesses. OpenTable allows 4 cuisine tags, but less than 5% of restaurants use all 4. Be specific when labeling your cuisine, especially if you offer specialized or lesser-known dishes. High-volume tags will get you to appear in more searches, but specific tags can make you a big fish in a smaller pond.
There is a general positive relationship between the number of bookings a restaurant gets and the popularity of the cuisines that it tags. I estimated aggregate cuisine popularity for a given restaurant using the geometric mean of bookings/day for all cuisines tagged by that restaurant. This method of estimating cuisine popularity showed the best correlation with bookings/day compared to other methods I explored. Still, this distribution has a large spread and other important factors need to be considered.
Customer Ratings Data
In the age of e-commerce, user reviews have become critically important in any businessβs online presence. Who wants to eat at a place where others have had terrible experiences?
An OpenTable review consists of 5 rating criteria, each on a scale from 1 to 5, and an option to recommend the restaurant:
- Overall
- Food
- Service
- Ambience
- Value
- Would you recommend it to a friend?
Surprisingly, I found that nearly 100% of NYC restaurants on OpenTable have 4-star ratings or better in every category, with the distribution of value ratings being slightly lower than other categories.
Recommendations follow a very similar distribution, clustered heavily from 80-100% recommended.
Possible explanations:
- Bad to mediocre restaurants do not get enough customers to justify investment in an online reservation system.
- Only restaurants with high-quality products survived the industryβs decline in 2020.
- All restaurants in NYC are just really good?
- Reviews are curated and some portion of negative reviews are removed. All levels of OpenTable membership plans offer βReview Managementβ.
Due to the closely clustered nature of the ratings and recommendations data, I was unable to find any meaningful correlation between the ratings a restaurant receives and how many bookings it gets. Incorporation of any of the ratings criteria weakened any model I tried to include them in.
What factors are predictive of bookings if not customer ratings?
Price range, promoted status, and presence of COVID-19 precautions were all found to have small but significant effects on bookings/day.
Promoted restaurants receive more bookings than non-promoted ones do, statistically significant at the p<0.05 level in a right-tailed 2-sample t-test.
Restaurants that implemented COVID-19 precautions receive more bookings than ones that do not, significant in a right-tailed 2-sample t-test at the p<0.05 level. Data were aggregated by whether or not any of the 4 types of safety measures listed (sanitizing, screening, PPE, and distancing) were used. The small effect size may be due to most consumers who are returning to dining in-person either being vaccinated or not weighing the risk of COVID-19 very highly.
Restaurants in different price ranges receive different numbers of bookings, significant at p<0.05 level in a one-way ANOVA test. More expensive restaurants actually received more bookings/day than cheaper ones did. I believe this is likely due to selection bias: cheaper or more casual restaurants tend to get more of their business from walk-ins and less from reservations. I would not recommend that a restaurant artificially overprices its product in order to gain more reservations online.
Regression modeling
Rather than the quality of reviews, I found the quantity of reviews to be by far the best predictor of bookings within the dataset. To control for different restaurants having membership on the platform for different lengths of time, the date of the earliest review at each resturant was scraped. Reviews/day rate, calculated as (total reviews)/(number of days since first review) was then used as an independent variable instead of absolute number of reviews. Bookings/day was plotted against reviews/day and an ordinary least-squares regression model was fitted to the data.Β
slope = 64, R-squared = 0.47, p = 1e-113
The model found that for every review/day that a restaurant receives, it receives ~64 bookings/day on average. This relationship is strongly statistically significant, but as the model explains only 47% of variance in bookings/day, there are important factors that are still unaccounted for.
There are confounding factors, most prominently physical seating capacity of a restaurant, that affect both the dependent and independent variables in this analysis. A bigger space means more potential customers who can leave reviews and also allows more bookings/day to be taken. If data were available, I would model (bookings/day) vs (reviews/day/seat) to better control for this.
Promoted Status Data
While this analysis cannot determine whether the relationship between bookings/day and reviews/day is causative, the causality could be tested in a business setting. For example, a restaurant could offer customers an incentive (discount off their next meal, etc) to leave reviews. Then, it could determine whether increasing its reviews/day rate also increases the number of bookings generated through the OpenTable platform.
Despite the model's shortcomings, this analysis provided interesting insights when stratified by categorical features.Β
Promoted restaurants receive almost 100% more bookings/review/day than non-promoted restaurants.Β
Promoted: slope = 120, R-squared = 0.78, p = 6e-8
Non-promoted: slope = 64, R-squared = 0.44, p = 1e-107
The cost of purchasing promoted status is not publicly available, but this model could help businesses inform themselves on the value of being promoted on OpenTable. The profitability of promoted status would depend on:
(mean profit/booking) x (projected bookings gain via promotion) vs (cost of being promoted)
While the COVID-19 precautions discussed earlier (sanitizing, screening, PPE, distancing) had little to no effect when layered on the linear model, restaurants with outdoor seating options receive about 65% more bookings/review/day than restaurants with indoor seating only.
Outdoor seating: slope = 74, R-squared = 0.52, p = 8e-82
Indoor only: slope = 45, R-squared = 0.44, p = 1e-37
Conclusions and future directions
Several factors associated with increased OpenTable bookings were identified in this analysis. Major takeaways include:
- Popularity of tagged cuisines is loosely correlated with more bookings
- Specific labeling of cuisine can be a successful strategy, especially for businesses offering specialized or regional dishes
- The rate at which customers leave reviews, not the quality of the reviews, is the best predictor of bookings/day
- Promoted status increases bookings/review/day by almost 100%
- Consumers in the post-pandemic NYC environment value outdoor seating
With more time, I would like to:
- Incorporate geospatial data to investigate the effects of location on a restaurantβs online reservation numbers
- Gather bookings data over a longer period for better confidence in my results
- Obtain data on the seating capacity of each restaurant for more controlled models
- Compare to pre-pandemic data for a better idea of how the pandemic changed consumer preferences
Thanks for taking the time to read about my work! Please take a look at my author page if you would like to see my other projects.