The goal is to design and implement a simple least-cost electrification analysis, which includes estimating electricity demand over a planning horizon, comparing multiple technology options (e.g. grid extension, mini-grid, solar home systems) and identifying the least-cost option for each settlement under determined assumptions.
# Least-Cost Electrification Modelling in Benin
A full end-to-end electrification planning pipeline for Benin, West Africa — from raw settlement data to least-cost technology assignment for 17,175 settlements across a 2026–2041 planning horizon. Built on top of **OnSSET v1.1** with custom extensions for wealth-disaggregated demand, site-specific solar irradiance, and transmission-line proximity.
---
## Results at a glance
| Scenario | Grid | Mini-Grid (PV) | Solar Home System | Total Investment |
|---|---|---|---|---|
| **Baseline** | 85.7% (14,726) | 0.1% (25) | 14.1% (2,424) | **$7.0 B** |
| **Extended** | 51.6% (8,864) | 16.7% (2,873) | 31.7% (5,438) | **$8.9 B** |
- **6,365 settlements (37.1%)** changed technology when wealth-disaggregated demand was applied.
- The extended model shifts ~2,900 poor rural settlements from grid to mini-grid or SHS — reducing over-investment in expensive grid extensions to low-demand areas.
---
## Background
Benin has a national electrification rate of ~42% (World Bank 2023). Reaching SDG7 by 2041 requires connecting ~17,000 currently unelectrified settlements, with technologies chosen to minimise cost while meeting service-level targets. This analysis uses the **Multi-Tier Framework (MTF)** for demand and OnSSET's LCOE-based selection logic to identify the least-cost option per settlement.
---
## Pipeline overview
```
Raw settlement CSV
│
▼
┌─────────────────────────────┐
│ Data Enrichment (Phase 1) │
│ • WorldPop 2030 population │
│ • Solar GHI (raster) │
│ • Admin boundaries (GADM) │
│ • HV transmission distance │
│ • OSM anchor loads (POIs) │
└────────────┬────────────────┘
▼
┌──────────────────────────────┐
│ OnSSET Input Prep (Phase 2) │
│ • 43-column schema │
│ • GridDistCurrent = min( │
│ dist_to_substation, │
│ dist_to_hvline) │
└────────────┬─────────────────┘
▼
┌────────┴────────┐
▼ ▼
Baseline Run Extended Run
(vanilla) (wealth ti …