← Back to portfolio

Public Health · Data Analysis

Mapping healthcare access gaps in Nairobi County

A facility-level analysis of Nairobi's health infrastructure against Universal Health Coverage and SDG 3 targets - identifying where the county is underserved and what it would take to close the gap.

RoleIndependent Analysis
ToolsPython, Jupyter, pandas, matplotlib
Data942 facility records, 2029 census

Context

SDG Target 3.8 calls for universal access to quality healthcare. I wanted to know how close Nairobi County actually is to that — not at the county level, where averages hide a lot, but region by region, facility by facility.

I combined the county's health facility registry with 2019 census sub-county population data, mapped every facility to one of ten regions, and benchmarked each region against WHO and county target ratios for facility density, hospital beds, and four specific services: inpatient/home-based care, childhood illness management, HIV treatment, and sexual and reproductive health.

At a glance

900+
registered facilities across Nairobi
19
closed facilities — untapped capacity
70%
of facilities are clinics or dispensaries
Facility types (top 10) Medical Clinic448 Dispensary190 Health Centre88 VCT Centre54 Other Hospital40 Nursing Home25 Maternity Home14 Laboratory13 Medical Centre12 Dental Clinic10
Medical clinics and dispensaries dominate; smaller specialty facilities make up the long tail.
Operational status Operational — 97% Closed — 2% Pending — 1%
19 closed, 6 pending opening — 25 facilities of capacity sitting idle.

Where the gaps are

Facility count alone doesn't tell you much — a region can look "covered" and still be underserved once you account for population. Once I normalised by population, three regions stood out as consistently behind:

Facilities and beds needed to reach target ratios

To reach 2 facilities / 10k population and 18 beds / 10k population
RegionPopulationNew facilities neededNew beds/cots needed
Mathare207,0002653 (cots)
Kasarani1,408,000982,074
Embakasi989,00053909
Dagoretti435,000—44
Makadara190,000—128

Service-specific gaps (regions below county average)

RegionServiceCurrentTargetGap
KasaraniFamily planning518837
KasaraniInpatient/home-based care46 / 79—33 (HBC)
KasaraniChildhood illness (C-IMCI)72417
EmbakasiHIV treatment (ART)122513
EmbakasiChildhood illness (C-IMCI)9178
MathareFamily planning5138

Recommendations

What I'd do next

If I extended this, I'd want to weight recommendations by estimated cost per facility/bed rather than treating every gap as equally urgent — reopening an existing facility and building a new one aren't the same lift. I'd also like to bring in travel-time data instead of straight population ratios, since a region can hit its facility-per-capita target and still leave people an hour from the nearest one.