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 Odo Otin, Osun: what the roofs are worth

    Odo Otin has 33,306 buildings with a viable rooftop and 888k kWp of roof capacity. 92% run a generator, and together they spend ₦48.6bn a year on energy.

    Viable buildings

    33,306

    Usable roof area

    3.95m m²

    888k kWp roof capacity

    Energy spend

    ₦48.6bn/yr

    46.2m kWh/yr burned on generators

    Median payback

    1.9 yr

    Median IRR 59% (cash saved)

    The savings bracket for Odo Otin

    Approach B

    Cash saved

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

    Current energy spend₦48.6bn/yr
    Year-one cash saved₦48bn
    Lifetime cash saved₦2.06tn
    NPV₦330bn
    Median IRR59%
    Median payback1.9 yr
    Unlocked energy40.3m kWh/yr
    Approach A

    Energy value (upper bracket)

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

    Installed capacity162k kWp
    Capex₦153bn
    Year-one energy value₦142bn
    Lifetime energy value₦6.64tn
    NPV₦1.13tn
    Median IRR97%
    Median payback1.1 yr

    Three ways to size Odo Otin'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
    162k kWp
    Capital cost
    ₦153bn
    Year 1 savings
    ₦142bn/yr
    NPV
    ₦1.13tn
    Median IRR
    97%
    Median payback
    1.1 yr

    How many rooftops in Odo Otin 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. 33,306 of 33,306 clear a positive NPV.

    Payback

    Under 3 years26,544 (80%)
    Under 5 years29,933 (90%)
    Under 7 years33,306 (100%)
    Under 10 years33,306 (100%)

    Return (IRR)

    Above 10%33,306 (100%)
    Above 15%33,306 (100%)
    Above 20%30,333 (91%)
    Above 25%29,528 (89%)
    CO₂ avoided

    87.3m kg/yr

    Fuel avoided

    26.4m L/yr

    Energy unlocked

    40.3m kWh/yr

    Demand that is suppressed today

    People served

    128k

    What hardware costs right now

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

    Solar panels

    250

    ₦/W

    Inverters

    127,419

    ₦/kVA

    Batteries

    177,500

    ₦/kWh

    Building mix in Odo Otin

    Load profile

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Residential31,69029,082₦37.3bn₦37bn59%1.9 yr
    Commercial General801774₦6.48bn₦6.4bn53%1.9 yr
    Commercial Retail339324₦132m₦132m53%2.1 yr
    Anchor305278₦3.95bn₦3.86bn57%1.9 yr
    Industrial135128₦557m₦539m57%1.9 yr
    Filling Station2424₦58.1m₦58.1m53%1.9 yr
    Worship86₦6.9m₦6.9m33%3.1 yr
    Hospitality43₦68.7m₦63.6m67%1.4 yr

    Roof size band

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    100 250m213,82112,788₦23.7bn₦23.4bn61%1.6 yr
    Under 30m26,4015,798₦561m₦530m55%1.9 yr
    50 100m25,0294,608₦2.06bn₦1.97bn59%1.9 yr
    250 1000m24,7724,450₦19.2bn₦19.1bn59%1.9 yr
    30 50m23,2452,941₦549m₦545m57%1.9 yr
    Over 1000m23834₦2.51bn₦2.5bn59%1.6 yr

    Settlement type

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Dense Urban18,61716,354₦19.4bn₦19.3bn53%1.9 yr
    Urban11,26311,033₦23.9bn₦23.8bn65%1.6 yr
    Unclassified2,9752,792₦4.94bn₦4.59bn61%1.6 yr
    Rural440440₦347m₦347m73%1.4 yr
    (Unset)110₦1.52m₦1.52m19%6.1 yr

    Lead segment

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    Standard32,26129,619₦38.5bn₦38.1bn59%1.9 yr
    SME High607596₦5.59bn₦5.51bn57%1.9 yr
    Enterprise438404₦4.5bn₦4.4bn57%1.9 yr

    Demand tier

    SegmentBuildings With generator Spend ₦/yr Cash saved yr 1 (B) Median IRR Median payback
    3.013,65113,228₦34.3bn₦34bn
    4.012,30210,428₦11.6bn₦11.5bn
    0.03,5953,393₦374m₦374m
    2.02,7732,630₦1.38bn₦1.3bn
    1.0908863₦267m₦258m
    5.07575₦566m₦561m
    6.022₦38.1m₦38.1m

    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.