Build a forecasting system that tracks Ethiopia's digital financial transformation using time series methods
# Forecasting Financial Inclusion in Ethiopia (Unified Dataset + Enrichment + EDA)
This repository contains a reproducible pipeline to:
1) validate and enrich a unified Financial Inclusion (FI) dataset for Ethiopia, and
2) generate EDA tables used to support narrative insights and forecasting readiness.
The workflow is designed to be grader/reviewer-friendly:
- deterministic CLI commands
- explicit schema expectations
- diagnostics outputs when validation issues are found
- written insights + limitations in `INSIGHTS.md`
---
## Repository Structure (key items)
- `data/raw/ethiopia_fi_unified_data.csv`
Unified FI dataset (raw/un-enriched input)
- `data/enrichment/new_records.yaml`
Human-authored enrichment records (events, impact links, targets, etc.)
- `data/processed/ethiopia_fi_unified_data__enriched.csv`
Output of enrichment pipeline
- `data/processed/diagnostics/`
Validation diagnostics emitted by enrichment pipeline (only written when issues exist)
- `scripts/apply_enrichment.py`
Applies YAML enrichment records and runs relationship diagnostics
- `scripts/run_exploration.py`
Runs EDA tables (counts, temporal range, coverage, events, links)
- `src/fi/`
Core library modules: `io`, `validation`, `enrich`, `explore`
- `INSIGHTS.md`
Written insights using a Claim/Evidence/Interpretation/Confidence structure + limitations
---
## Quickstart
### 1) Create environment (example)
Use your preferred environment manager. Example with `venv`:
```bash
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
pip install -r requirements.txt
```
## Project Tree
```text
Forecasting-Financial-Inclusion-in-Ethiopia
├─ dashboard
│ └─ app.py
├─ data
│ ├─ enrichment
│ │ └─ new_records.yaml
│ └─ processed
│ ├─ diagnostics
│ ├─ eda
│ ├─ eda_enriched
│ │ ├─ counts__category.csv
│ │ ├─ counts__pillar.csv
│ │ ├─ counts__record_type.csv
│ │ ├─ events.csv
│ │ ├─ impact_links.csv
│ │ ├ …