PureWatts AI

    Solar energy assistant

    📍 Home

    Hi there! 👋

    I'm your PureWatts AI assistant. Ask me anything about solar energy, system sizing, or how to use the platform.

    Skip to content

    Osun State

    Rooftop solar in Boripe, Osun: what the roofs are worth

    Boripe has 46,171 buildings with a viable rooftop and 1.18m kWp of roof capacity. 82% run a generator, and together they spend ₦37.5bn a year on energy.

    Viable buildings

    46,171

    Usable roof area

    5.26m m²

    1.18m kWp roof capacity

    Energy spend

    ₦37.5bn/yr

    32.1m kWh/yr burned on generators

    Median payback

    2.6 yr

    Median IRR 41% (cash saved)

    The savings bracket for Boripe

    Approach B

    Cash saved

    What these buildings stop paying — merit order, capped at current spend.

    Current energy spend₦37.5bn/yr
    Year-one cash saved₦37.2bn
    Lifetime cash saved₦1.58tn
    NPV₦245bn
    Median IRR41%
    Median payback2.6 yr
    Unlocked energy35m kWh/yr
    Approach A

    Energy value (upper bracket)

    What the energy is worth if full latent demand were met. Not cash saved.

    Installed capacity159k kWp
    Capex₦153bn
    Year-one energy value₦132bn
    Lifetime energy value₦6.23tn
    NPV₦1.05tn
    Median IRR95%
    Median payback1.1 yr

    Three ways to size Boripe's rooftops

    Solar + battery. The default headline scenario, and the one the SEO fact base quotes. Prices the energy a full solar+storage system would deliver.

    Baseline: mixed
    Counterfactual: grid when available, generator otherwise, weighted by the NTL-derived grid availability. The realistic case, and what the headline numbers use. Always falls between grid and genset by construction.

    Read with care: Sized to LATENT demand — the energy the building would use if it could. Against a cash baseline that only reflects today's spend this looks oversized; that is what sc3 exists to fix.

    System size
    159k kWp
    Capital cost
    ₦153bn
    Year 1 savings
    ₦132bn/yr
    NPV
    ₦1.05tn
    Median IRR
    95%
    Median payback
    1.1 yr

    How many rooftops in Boripe actually pay

    Counted building by building on the cash-saved basis (merit-order sized, valued against what the building spends today), not read off an average. 46,171 of 46,171 clear a positive NPV.

    Payback

    Under 3 years28,572 (62%)
    Under 5 years36,446 (79%)
    Under 7 years46,171 (100%)
    Under 10 years46,171 (100%)

    Return (IRR)

    Above 10%46,171 (100%)
    Above 15%46,171 (100%)
    Above 20%37,338 (81%)
    Above 25%35,120 (76%)
    CO₂ avoided

    71.2m kg/yr

    Fuel avoided

    20.3m L/yr

    Energy unlocked

    35m kWh/yr

    Demand that is suppressed today

    People served

    145k

    What hardware costs right now

    Median advertised rates from our Nigerian market tracker — the same prices used to cost a system in Boripe.

    Solar panels

    250

    ₦/W

    Inverters

    127,419

    ₦/kVA

    Batteries

    177,500

    ₦/kWh

    Building mix in Boripe

    Load profile

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Residential45,41837,205₦32.3bn₦32.2bn41%2.6 yr
    Anchor357275₦3.14bn₦3.08bn45%2.4 yr
    Commercial General259196₦1.55bn₦1.5bn33%3.1 yr
    Industrial8572₦346m₦342m49%2.1 yr
    Filling Station2621₦47.6m₦47.6m41%2.6 yr
    Worship1814₦11.4m₦11.4m33%2.9 yr
    Hospitality55₦17.9m₦17.9m39%2.9 yr
    Mall Retail22₦14.4m₦14.4m49%2.1 yr
    Commercial Retail11₦79.7k₦79.7k55%1.9 yr

    Roof size band

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    100 250m221,64117,680₦18.3bn₦18.1bn41%2.6 yr
    50 100m27,5626,057₦1.5bn₦1.5bn39%2.6 yr
    Under 30m27,5606,204₦392m₦387m41%2.6 yr
    250 1000m24,9544,257₦14.5bn₦14.5bn45%2.4 yr
    30 50m24,3463,555₦446m₦446m41%2.6 yr
    Over 1000m210838₦2.29bn₦2.24bn21%5.4 yr

    Settlement type

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Urban Centre28,17622,208₦15.1bn₦15bn37%2.9 yr
    Dense Urban11,71410,413₦12.4bn₦12.4bn53%2.1 yr
    Urban3,6883,416₦6.74bn₦6.7bn55%1.9 yr
    Unclassified1,9431,693₦3.02bn₦2.89bn49%2.1 yr
    (Unset)65061₦173m₦173m19%6.1 yr

    Lead segment

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Standard45,69637,417₦33.9bn₦33.7bn41%2.6 yr
    Enterprise441346₦3.48bn₦3.42bn45%2.4 yr
    SME High3428₦74.2m₦74.2m41%2.4 yr

    Demand tier

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    4.024,58218,486₦8.94bn₦8.9bn
    3.014,37513,154₦27.4bn₦27.2bn
    2.03,3262,739₦751m₦749m
    0.03,2872,959₦270m₦270m
    1.0597450₦56.6m₦56.6m
    5.043₦21.9m₦21.9m

    Nearby LGAs in Osun

    How these numbers are produced

    Approach A — energy value (upper bracket)

    Sizes the system to the building's full latent demand and values that energy at the mixed grid/generator tariff. It answers what the energy is worth — not what anyone currently pays.

    Approach B — cash saved (lower bracket)

    Sizes the system to demand that is actually served today, values it by merit order (solar displaces generator kWh first) and caps it at current spend. It answers what a building stops paying.

    Cohort: Viable rooftops (≥0.6 kWp potential).

    • Demand is modelled latent demand, not metered consumption.
    • Fuel is priced at ₦1,800/litre (operator-set). NBS reported ₦3,277/litre for May 2026 — on that basis every naira figure here is roughly 1.8× understated.
    • Generator ownership is a model output, not a survey result: it follows from the grid-availability scale and the 25% demand-suppression assumption.
    • Approach A prices energy nobody currently buys. Its savings must never be read as cash saved.
    • Demand is MODELLED LATENT demand, not metered consumption.
    • Generator ownership is model output, not survey.
    • Medians do not combine across groups — re-derive from the histograms.
    • Per-building files are float32 with 4 significant figures; cast to float64 before summing, because polars keeps Float32 sums in Float32.
    • Null scenario fields mean the roof cannot host 0.6 kWp, not zero savings.
    • `genset` was previously named `diesel` and now uses the segment's real fuel.
    • Ordering holds by construction: grid savings < mixed < genset.