End-to-end economic data analysis project featuring Python ETL pipelines, SQL-based analytical metrics, Jupyter notebooks, and Tableau Dashboard to compare G7 and African economic performance.
# 🌍 G7 vs. Emerging Africa: Economic Volatility & Recovery Analysis (2000-2024)
## Project Overview
This project performs an end-to-end Data Engineering and Analytics analysis comparing the economic resilience of G7 Nations against Africa's Top 5 Emerging Economies. The goal was to move beyond static datasets by building a live ETL pipeline to extract World Bank API data, apply statistical methods to detect economic "shock events," and leverage SQL to uncover the "Efficiency Gap" in debt utilization.
Data Source: World Bank Open Data API (Live Fetch)
Tools Used: Python (Pandas, Concurrent Futures), SQL (MySQL), Tableau, Seaborn
## 🛠️ Data Engineering Process (Python Implementation)
Unlike standard CSV analyses, this project required building a robust pipeline to handle 25 years of data across 8 indicators for 12 countries.
* **Concurrent Extraction:**
* Implemented `concurrent.futures.ThreadPoolExecutor` to multi-thread API requests, reducing data ingestion time by **70%**.
* Handled pagination logic to ensure zero data loss across thousands of records.
* **Statistical Outlier Detection (The IQR Method):**
* Instead of blindly deleting outliers, I calculated the **Interquartile Range (IQR)** for every country-indicator pair.
* Data points falling outside `1.5 * IQR` were flagged as **"Shock Events"** in a dedicated column (`is_outlier`). This allowed for the analysis of economic volatility without destroying data integrity.
* **Secure Loading:**
* Utilized environment variables (`.env`) to secure database credentials and `SQLAlchemy` for optimized batch loading into MySQL.
## 📈 Exploratory Data Analysis (SQL Implementation)
Following the engineering phase, advanced SQL techniques were used to derive actionable economic insights:
* **Volatility Indexing:** Calculated the frequency of economic shocks using `COUNT(CASE WHEN is_outlier = 1)` to rank countries by stability.
* **Inflation Momentum:** Tracked post-pand …