Veg Stars Up For Grabs: Perspectives from Yelp

Posted on Nov 8, 2022

https://github.com/robertjgarciaphd/Yelp-Python-Project-2022.git

As someone interested in the future of sustainable food and the carbon footprint of our food system, I realized that the Yelp data set hosted by Kaggle would be a great chance to explore food choices across consumers and restaurants.  Given that plant-based diets can cut one’s carbon footprint by more than half (1,2), I was curious to see what insight Yelp could provide about how the public views vegetarian and vegan restaurants and how guests rate restaurants of different kinds.  The insights gleaned from an investigation like this would be useful to restaurant owners, investors, suppliers, and those with an interest in promoting sustainable food options.

My two research questions fueling this work were:

  1. How have ratings of vegetarian and vegan restaurants trended over time?
  2. How do ratings of restaurants differ when written by omnivores versus vegetarians/vegans?

This dataset was released by Yelp and spans 2005 through 2022.  It compiles information on 11 metropolitan areas for a total of about 7 million reviews.  The data is in the form of two subsets: a set of business attributes (like whether a business offered delivery and what category of business it falls under) and another set of reviews, which includes user ID codes for each review and the star rating and text of the review.  I merged these two datasets to form the final data frame that I worked from.

A central challenge in working with this data set was managing its size.  With so many rows of rich data, even loading the data set into a data frame for viewing in a Python Jupyter notebook was enough to crash my computer with 8 GB of RAM.  To increase the memory at my disposal, I opted to run my code on Google Colab, which increased my capacity to 12.5 GB.  Even that was not enough to prevent a crash upon loading the CSV file, but thankfully, reading the file in with chunks of 500,000 rows did the trick.

Data Cleaning and Filtering

It turns out that about one-third of the businesses on Yelp are restaurants, so I had to filter out the other two-thirds.  Thankfully, the restaurants were already coded as vegan or vegetarian, which made that much simpler than having to process the review text as I did in some initial attempts with a different version of the data set.  The users who wrote the individual reviews were not coded as vegan or vegetarian, so I decided to look at the frequency with which users reviewed vegetarian and vegan restaurants and took the upper tail of that distribution as those who were most likely to be vegetarian and vegan respectively.  I classified those who reviewed both types of restaurants very often as vegan, though we could easily collapse them into one group if needed.  Those who reviewed vegan or vegetarian restaurants less than 15% of the time were classified as omnivores.

After filtering the data, these are the numbers we get when we split the data by vegetarians, vegans, and omnivores:

Vegan users: 50,715

Vegetarian users: 46,496

(Veg combined: 97,211)

Omnivore users: 1,189,010

 

Vegetarians and vegans together make up about 7.6% of the sample, which is consistent with national averages in the sample ranging between 5 and 10 percent depending on the country (1, 2, 3).

Yearly Review Count by User Type

There was no missing data in the reviews.  You can see there are hardly any observations for the early days of the app for when it was first getting off the ground.  At that time, there were not enough users to meaningfully distinguish vegetarians and vegans.  You can also see there is almost no data for 2022 because that has not been updated with everything from this year.  I chose to focus on just the past ten years and filter everything else out.

Yearly Review Count By User Type

Omnivore review count: 3,573,217

Vegetarian review count: 123,162

Vegan review count: 147,313

This filtering brought the number of reviews down to 3.8 million.  Note that even though the numbers look small for vegetarian and vegan reviews, the scale is in hundreds of thousands.  If you collapsed the reviews across years, you would see over 100,000 for both vegan and vegetarian reviews.  Note also that we see the shock to the restaurant industry in 2020 from the COVID-19 pandemic and what appears to be the start of the recovery in 2021.

One-way ANOVA Result: F = 4727.01, p  < .001

Tukey post-hoc: All groups differ at alpha = .01 level, p = .001

Whether we run parametric or non-parametric tests, we get significant differences between all three groups. Non-parametric tests show that restaurant ratings differ significantly between restaurant types: Kruskal-Wallis statistic = 52155.19, p < 0.001.  The Dunn post-hoc test shows all three group medians differ.

This graph below looks the same as the previous one, but note that the meaning is different.  The three lines represent the three types of users who are reviewing the restaurants: omnivores, vegans, and vegetarians.  So we see that vegans rate restaurants higher on average, vegetarians rate them slightly lower, and omnivores give the lowest ratings. This collapses the data across restaurant types.

One-way ANOVA Result: F =2911.70, p  < 0.001

Tukey post-hoc: All groups differ at alpha = .01 level, p = .001

Kruskal-Wallis statistic = 7920.39, p-value < 0.001

Welch Test between vegan and vegetarian groups is significant: Welch statistic = -24.47, p-value < .001)

G*Power shows this test has power = .95.

Pooled variance of vegan and vegetarian = 1.84, so pooled s = 1.36

Pooled variance of all three groups = 1.97

Splitting reviews by restaurant type and user type reveals some interesting trends. We see that omnivore restaurants get rated the highest by vegans, then second-highest by vegetarians.  Vegans tend to rate the other two types of restaurants the highest most of the time, too.

 

Insights

So what do we learn?  The average star rating of restaurants is stable over time once an app like Yelp is mainstream.  But, more importantly, we have some early evidence to suggest that vegans rate all types of restaurants higher on average than omnivores.  While the effect is small, over time, it can give a valuable advantage to restaurants that adjust their strategy accordingly.  Plant-based food is cheaper on average, so this means businesses can increase their margins for those items.  Offering multiple plant-based items would be an easy way to signal to and attract vegetarian and vegan guests with a menu they would want to explore.

This represents an opportunity for businesses to boost their rating and, as a result, their revenue, by attracting more vegan guests.  Note that it doesn’t mean turning one’s restaurant all vegan or vegetarian; it just means offering some vegan dishes that vegan Yelp reviewers will want to try.

Future Directions

This is of course just a first step in niche consumer research.  There are a lot more nuances I would add with more time and resources.  For example, I would want to control for demographics like race, SES, and population density of the places being reviewed.  The data included zip codes, which could be linked to that type of information.  I imagine we could train a machine learning model to predict where would be the best place to open various types of restaurants.

Having demographic info would help us to determine the WHY behind the observed effects.  For example, if vegans skew white and affluent, they are more likely to consume higher-quality food and rate it more highly.

The data set unfortunately did not include some of the most helpful information, like the symbol that says “Vegetarians go nuts for this spot” or the dollar sign symbol indicating the price range of the food served.  That would certainly impact the star rating as it directly relates to food quality.

Another opportunity that comes to mind is Happy Cow, an app just like Yelp for vegans and vegetarians.   It would be very helpful to see if those findings are consistent with what we find here on Yelp.

It would, of course, also be good to sample from a broader range of countries.

Lastly, it is important to note that most of the data is from before the COVID-19 pandemic, which has clearly had an impact on the restaurant industry.  New constraints and trends could mean that things may turn on additional variables like availability of outdoor or spaced seating and that would be hard to incorporate into our models.

Photo credit: Caroline Green

About Author

Robert Garcia

Robert holds a Ph.D. in Psychology and Social Behavior, an M.A. in Social Ecology, and a B.S. in Cognitive Science. He has experience working in both the for-profit and non-profit sectors.
View all posts by Robert Garcia >

Related Articles

Leave a Comment

No comments found.

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