ImpactView is an open-source impact measurement dashboard built with Streamlit and Altair. It visualises beneficiary reach, gender disaggregation, KPI achievement, and financial utilisation across multiple programmes — using a simple 4-CSV schema any organisation can adapt. Designed with Kenya's NGO and social enterprise sector in mind.
# 🌱 ImpactView — Social Enterprise Impact Measurement Dashboard
A reusable, open-source Streamlit dashboard for NGOs and social enterprises to visualise programme impact, track KPIs, and report to stakeholders.
## Features
- **Reach & Trends** — stacked area chart of beneficiary growth, gender disaggregation, new monthly reach
- **Outcomes** — KPI achievement bars with on-track/behind indicators, cross-programme scatter
- **Financials** — budget vs expenditure tracking, utilisation rates per programme
- **Programme Registry** — searchable programme cards with summary metrics + CSV export
- **Upload your own data** — drop in 4 CSVs and the dashboard auto-populates
- **Multi-programme filtering** — analyse one or all programmes simultaneously
## Quick start
```bash
git clone
github.com
cd impactview
pip install -r requirements.txt
streamlit run app.py
```
The sample data (Kericho + Nairobi context) loads by default. Toggle "Use sample data" off in the sidebar and upload your own CSVs.
## Data schema
### programs.csv
| Field | Type | Description |
|---|---|---|
| program_id | string | Unique ID (e.g. P001) |
| program_name | string | Full programme name |
| sector | string | Education / Health / Environment etc. |
| start_date | date (YYYY-MM-DD) | Programme start |
| end_date | date | Programme end |
| county | string | Operating county |
| target_group | string | Primary beneficiary group |
| status | string | Active / Completed |
### beneficiaries.csv
| Field | Type | Description |
|---|---|---|
| program_id | string | Foreign key to programs |
| month | date (YYYY-MM) | Reporting month |
| total_beneficiaries | int | Cumulative total reached |
| male | int | Male count |
| female | int | Female count |
| new_beneficiaries | int | New this month |
### outcomes.csv
| Field | Type | Description |
|---|---|---|
| program_id | string | Foreign key to programs |
| month | date (YYYY-MM) | Reporting month |
| kpi_name | strin …