An end-to-end pipeline to analyze customer sentiment for Faras Kenya and competitors (Uber, Bolt, Little Cab)
Goal: Compare sentiment trends across ride-hailing platforms in Kenya to identify competitive insights.
Key Features:
- Scraped 50,000+ reviews from multiple sources
- Aspect-based sentiment analysis (pricing, driver behavior, app usability)
- Automated pipeline with Mage AI
- Real-time dashboard
The ride-hailing market in Kenya is highly competitive, with companies like Uber, Bolt, Little Cab, and Faras all vying for market share. Understanding customer sentiment can reveal pain points and strengths that affect customer loyalty and app retention.
This project aims to:
- Identify what aspects customers care most about (e.g., price, driver behavior, app reliability).
- Benchmark Faras against its competitors using real user feedback.
- Enable data-driven product and marketing decisions through sentiment trends.
- Monitor public perception over time to assess impact of feature rollouts or service changes.
With these insights, Faras can gain a competitive edge by addressing customer concerns faster and more strategically.
Sample Review:
{
"review_id": "abc123",
"text": "Driver was polite but app crashed",
"rating": 3,
"source": "Google Play",
"date": "2023-10-01",
"company": "Faras"
}We used powerful pretrained models from 🤗 Hugging Face to analyze customer reviews:
-
Zero-shot Classification
facebook/bart-large-mnli
→ Detects custom topics like "pricing", "support", or "app issues". -
Aspect-Based Sentiment Analysis (ABSA)
yangheng/deberta-v3-base-absa-v1.1
→ Finds sentiment for specific aspects like driver behavior or app performance. -
General Sentiment Analysis
cardiffnlp/twitter-roberta-base-sentiment
→ Classifies reviews as Positive, Neutral, or Negative. -
Emotion Detection
SamLowe/roberta-base-go_emotions
→ Detects emotions like Joy, Anger, Sadness, etc.
Each model is used via the pipeline() method from the transformers library for easy integration.
from transformers import pipeline
self.zero_shot = pipeline("zero-shot-classification", model="facebook/bart-large-mnli")
self.absa = pipeline("text-classification", model="yangheng/deberta-v3-base-absa-v1.1")
self.sentiment = pipeline("text-classification", model="cardiffnlp/twitter-roberta-base-sentiment")
self.emotion = pipeline("text-classification", model="SamLowe/roberta-base-go_emotions")-
Installation
git clone https://github.com/yourusername/filmcraze-recommender.git
-
Getting Started
# create a virtual environment Virtualenv Envsource Env/bin/activatepip install -r requirements.txt
cd filmcraze-recommender# run the pipeline mage start ETL -
Setting Database
export const sql = neon("postgresql://neondb_owner:"#use your url)


