Data pipeline for analyzing Moroccan bank reviews using Google Maps data, DBT transformations, PostgreSQL star schema, and Airflow automation. Includes a Looker Studio dashboard for insights on customer sentiment and branch performance.
# Analyzing Customer Reviews of Bank Agencies in Morocco
This project aims to collect, transform, and analyze customer reviews from Google Maps about Moroccan bank agencies, using a **modern data stack** for end-to-end data processing.
## π Objective
Extract insights from unstructured customer reviews to:
- Understand customer sentiment.
- Detect recurring topics and issues.
- Rank agency performance.
- Improve customer experience through data.
---
## π Project Scope
Banks in Morocco receive thousands of reviews on Google Maps. These reviews contain valuable information but are unstructured and spread across locations. This project centralizes, cleans, and analyzes that data.
### β¨ Key Insights
- π Sentiment trends across agencies
- π Topic modeling for complaints and praise
- π
Performance ranking of branches
- β
Key drivers of satisfaction and dissatisfaction
---
## βοΈ Tech Stack
| Stage | Tools Used |
|------------------|------------------------------------------|
| Data Collection | Python, Google Maps API, BeautifulSoup |
| Scheduling | Apache Airflow |
| Storage | PostgreSQL |
| Transformation | DBT (Data Build Tool) |
| Visualization | Looker Studio |
| Version Control | Git + GitHub |
---
## π Project Pipeline
### β
Phase 1: Data Collection
- Scraped reviews from Google Maps.
- Stored raw data in JSON/CSV.
- Automated with Apache Airflow.
### β
Phase 2: Data Cleaning & Enrichment
- Removed duplicates, normalized text.
- Applied sentiment analysis.
- Extracted topics with LDA.
### β
Phase 3: Data Modeling
- Star Schema in PostgreSQL:
- `fact_reviews`
- `dim_bank`
- `dim_branch`
- `dim_location`
- `dim_sentiment`
### β
Phase 4: Visualization
- Built dashboards in Looker Studio:
- Sentiment trends
- Top positive/negative topics
- Agency rankings
### β
Phase 5 β¦