Bay Area auto repair shops
Yelp reviews analyzed
Recurring complaint categories
Project Summary
This project started from a real experience: getting charged more than expected with no explanation of what was done or why. We wanted to know if that was an isolated incident or something the data could actually show. So we pulled 11,022 Yelp reviews from 32 Bay Area auto repair shops and ran topic modeling, sentiment analysis, and keyword extraction on them.
Pricing complaints, communication breakdowns, and repeat mechanical failures show up across the data at a consistent rate. They are not random and not limited to a handful of bad shops.
Data Sources
- Yelp reviews scraped for 32 Bay Area auto repair businesses
- 11,022 total reviews; 656 of those were 1 or 2 stars and used for complaint analysis
- Variables: star rating, review text, review date, business name, author
- Engineered features: review length and VADER sentiment score
- Dataset stored in Google Cloud Storage: gs://auto-repair-dataset-cs163/reviews_clean.csv
Method & Pipeline
- Scraped Yelp reviews for 32 shops across the Bay Area
- Removed reviews with missing text and checked for duplicates
- Computed VADER sentiment scores and review length for every review
- Ran a correlation analysis across all 11,022 reviews (rating vs. sentiment: r = 0.57)
- Applied LDA topic modeling to the 656 negative reviews to find recurring complaint themes
- Extracted top keywords and bigrams to validate the topic clusters
- Deployed ML inference service on Google Cloud Run using Docker
Major Findings
Pricing complaints ranked first
189 of 656 negative reviews were about pricing and labor. That category also had the worst average sentiment of any topic (VADER: -0.242).
Bad communication drove 1-star reviews on its own
166 reviews complained about never getting called back or being left without updates. No bad repair needed. Being ignored was enough.
Sentiment matched star ratings across all 11,022 reviews
Correlation between VADER scores and star ratings was r = 0.57. The more negative the language, the lower the rating, consistently.
Only four complaint types showed up, over and over
Pricing & Labor (189), Communication Issues (166), Brake & Repair Quality (164), Oil Change Problems (137). All four at roughly the same rate.
Complaint volume by category
Hover bars for exact counts. LDA topic modeling on 656 negative reviews.
Avg. VADER sentiment score by category
Lower = more negative emotional language. Hover for exact scores.
Try It Live
Type any auto repair review below and the ML model will analyze the sentiment and predict the complaint category.
Broader Impacts
The same four complaints repeat across dozens of shops, thousands of reviews, and multiple cities. That is not bad luck. It means the problems are structural, and fixable.
The people this hits hardest are the ones who cannot push back: customers who do not know enough about cars to question a diagnosis, or who cannot afford to get a second opinion. Public data on pricing patterns and per-shop complaint rates would give those customers something to work with before they walk in the door.
Team
Group 6: Fnu Hasham and Jaafar Ben Khaled