Uncovering Customer Pain Points on Craigslist using ML

NLP Text Analytics Machine Learning

I built an NLP pipeline that scraped, cleaned, and analyzed 900 forum posts, then trained a classifier that can flag complaints automatically.

Python BeautifulSoup Sentiment Analysis (VADER) Topic Modeling (LDA) TF-IDF K-Means Clustering Logistic Regression SVM Random Forest

01 The Problem

Craigslist’s Feedback, Flag Help, and Help Desk forums are full of unfiltered user complaints and suggestions, but none of it gets read systematically. Platform managers were relying on manual scanning to catch recurring problems, which meant frustrations around flagging, visibility, and moderation could sit unnoticed for months. I set out to turn those forums into a system that could surface real user pain points automatically.

02 The Approach

1

Core Question

What are users actually frustrated about, and can a model catch it without a human reading every post?

2

Scraping & Cleaning

Pulled ~900 posts, then cleaned and lemmatized the text.

3

Sentiment Fix

Ran VADER sentiment analysis, then added a frustration-keyword override to catch politely-worded complaints.

4

Topic Modeling

Used LDA to pull out 5 recurring complaint themes.

5

Clustering

Grouped posts by issue using TF-IDF + K-means (silhouette score ~0.51).

6

Classification

Trained 5 models, then combined the top 3 into a voting ensemble.

03 The Result

Sentiment Split

40.6% negative, 36% positive, 23.4% neutral

The keyword override caught complaints VADER missed.

5 Clear Themes

Flagging, mobile, trust, spam, and design

Flagging frustration, mobile usability, listing trust, messaging spam, and platform design opinions.

Best Model

Voting ensemble hit 74% accuracy and 0.73 F1

Beat any single model on its own.

Strong Recall

92% recall on negative posts, 88% precision on neutral

Reliable at catching complaints without drowning in false neutrals.

04 Business Impact

Priority Fix

Post flagging and moderation transparency — the biggest complaint cluster.

Mobile Review

Usability complaints pointed to a dated mobile experience.

Spam Flag

Isolated messaging spam as a fixable, standalone issue.

Reusable Tool

Delivered the classifier so the team can auto-triage new posts going forward.

05 What I Learned

The keyword override mattered more than any modeling choice. Fixing one labeling issue improved everything downstream.