Forecasting Ethiopia's digital financial transformation (Access & Usage) using time-series analysis, event-impact modeling, and Streamlit.
# πͺπΉ Ethiopia Financial Inclusion Forecasting System
An end-to-end Machine Learning Engineering (MLE) pipeline and interactive dashboard designed to forecast financial inclusion transaction volumes across Ethiopia. Built with modular Python modules, automated feature engineering, and Continuous Integration (CI/CD) pipelines.
---
## π Features
* **Modular System Architecture:** Clear separation of concerns with dedicated config, data loading, feature engineering, and UI modules.
* **Fault-Tolerant Data Ingestion:** Auto-detects Excel (`.xlsx`) vs CSV formats and handles non-standard character encodings (`utf-8`, `latin1`).
* **Automated Feature Pipeline:** Generates time-series lag indicators and rolling statistical aggregates automatically.
* **Interactive Analytics Dashboard:** Streamlit UI allowing interactive dataset inspection, parameter adjustments, and forecast visualization.
* **Automated Testing & CI/CD:** GitHub Actions integration running unit tests via `pytest` on push and pull requests.
---
## π Repository Structure
```text
ethiopia-fi-forecast/
β
βββ .github/
β βββ workflows/
β βββ ci.yml # GitHub Actions CI pipeline configuration
βββ app/
β βββ main.py # Streamlit web application & interface
βββ data/
β βββ raw/ # Raw transaction datasets
β βββ processed/ # Engineered dataset exports
βββ src/
β βββ config.py # Centralized dataclass configurations & paths
β βββ data_loader.py # Multi-format data loader & encoder
β βββ feature_engineering.py # Time-series lag and rolling statistics module
βββ tests/ # Unit test suite for pytest
βββ .gitignore # Environment and build exclusion rules
βββ requirements.txt # Pinned project dependencies
βββ README.md # Project documentation