Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

Β© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

lawrykoomson/Ghana-Momo-ETL-Pipeline

Domain:

socioeconomic

Record type:

softwareproject
Creator:
law
Host:
# πŸ‡¬πŸ‡­ Ghana Mobile Money ETL Pipeline A production-grade **Extract β†’ Transform β†’ Load (ETL)** pipeline that processes Ghana Mobile Money (MoMo) transaction data, cleans it, flags anomalies, and loads results into a live **PostgreSQL** data warehouse β€” with a full **dbt analytical layer**, **Power BI dashboard**, **Airflow DAG**, and **Kafka stream simulator**. Built to mirror real-world data engineering workflows used at fintech companies like **Hubtel** and telecoms like **MTN Ghana**. --- ## πŸ—οΈ System Architecture ``` [Raw CSV / Synthetic Data Source] β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ EXTRACT β”‚ ← Reads CSV or generates 10,000 synthetic MoMo transactions β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ TRANSFORM β”‚ ← Cleans, validates, enriches, flags anomalies β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ LOAD β”‚ ← PostgreSQL warehouse (momo_dw schema) β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ dbt β”‚ ← Analytical layer: 1 staging view + 4 mart tables β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Power BI β”‚ ← 4-page live dashboard connected to PostgreSQL β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Kafka β”‚ ← Real-time stream simulator: Producer + 3 Consumers β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## βœ… What The Pipeline Does ### Extract - Reads raw MoMo transaction CSV files - Auto-generates 10,000 synthetic Ghana MoMo transactions if no file provided - Injects dirty records to demonstrate real data cleaning capability ### Transform - Removes duplicate and null transaction IDs - Parses and validates timestamps - Cleans and casts transaction amounts - Standardises text fields (operator, region, status) - Enriches with time dimensions (hour, day, month, quarter, weekend flag) - Categorises amounts into business buckets - Flags high-value transactions (top 5%) and rapid succession activity ### Load - Batch upserts into PostgreSQL (momo_dw schema) - Creates schema and tables automatically on first run - Auto-falls back to CSV export if database is unavailable - Logs every pipeline run to audit table --- ## πŸ” dbt Analyt …

Visit

github.com