Navigating the Return to In-Person Dining by Scraping OpenTable
The COVID-19 pandemic has had huge impacts on the economy of the U.S., and the restaurant industry has been among the hardest hit. To adapt to the pandemic, restaurants turned to technology. 2020 brought about contactless ordering on tablets, QR code menus, and an explosion in the usage of online ordering and delivery services.
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 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.
Research question and 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 with 25 features) 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 scraper was written in Python using Selenium and BeautifulSoup. Briefly, data cleaning was done in Pandas and encompassed handling missing values, string processing, outlier removal, and normality testing.
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.
Further, this EDA shows that targeting niche audiences (like 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. Popular 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 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 tried. Still, this distribution has a large spread and other important factors need to be considered.
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 has 5 criteria:
- 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 and overall. Recommendations follow a very similar distribution, clustered heavily from 80-100% recommended.
- Bad to mediocre restaurants do not get enough customers to make an online reservation system a good investment
- 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 ratings are removed
- All levels of OpenTable membership plans offer ‘Review Management’, see https://restaurant.opentable.com/products
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 actually 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 positive effects on bookings/day.
Promoted restaurants receive more bookings than do nonpromoted ones, statistically significant at the p<0.05 level in a right-tailed 2-sample t-test.
Restaurants that implemented COVID 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.
More expensive restaurants also receive more bookings, significant at p<0.05 level in a one-way ANOVA test. 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 analysis and 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, reviews/day rate was 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. The model found that each review/day averages ~64 bookings/day, with r-squared = 0.47 and p = 1e-113.
There are confounding factors, most prominently physical seating capacity of a restaurant, that affect both my dependent and independent variables. 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.
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, the restaurant could determine whether increasing its reviews/day rate also increases the number of bookings generated through the OpenTable platform.
Despite its shortcomings, this model provided interesting insights when layered on top of categorical analyses.
Promoted restaurants receive almost 100% more bookings/review/day than non-promoted restaurants. 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 (profit/booking) x (projected bookings gain via promotion) versus the cost of being promoted.
Promoted: slope = 120, r-squared = 0.78, p = 6e-8
Non-promoted: slope = 64, r-squared = 0.44, p = 1e-107
While COVID-19 precautions themselves 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
Finally, a multiple linear regression model was generated incorporating:
- Cuisine popularity
- Price range
- Promoted status
- Outdoor seating
With r-squared = 0.52 and p = 5e-121, the model performed marginally better than the simple linear model on reviews/day only. Important factors such as location are still unaccounted for in this analysis and may explain some of the remaining variance in the data.
Conclusions and future directions
Several factors associated with increased OpenTable bookings were identified in this analysis. Major takeaways include:
- Popularity of tagged cuisines is 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 per review per day by almost 100%
- Consumers in the post-pandemic NYC environment value outdoor seating
With more time, I would like 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 a more controlled model
- 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!