DEV Community

Francis Oyakhire
Francis Oyakhire

Posted on • Originally published at asotele.apexgridapps.com

The sums already work — building an energy layer for a country that cannot buy outcomes

We set out to build an emissions layer and spent the first hours building the wrong one.

The instinct was carbon accounting: count the emissions, produce the figure a green-loan application needs, attract the funders who care about it. That is how it works in an economy large enough to price carbon and subsidise the difference between what is good and what pays.

Nigeria is not that economy, and pretending otherwise produces a product nobody here uses. No Nigerian business changes technology for the carbon. It changes when the sums work.

The thing is — increasingly, they do. Grid capacity utilisation sits near a third, so firms already run on diesel. Diesel now costs what it costs. At those prices the cleaner option is frequently already the cheaper one , and nobody subsidised anything to make that true. The incumbent is simply extraordinarily expensive.

So what is missing is not money, and it is not motivation. It is arithmetic — done for a particular farm, factory, clinic or water scheme, from figures that sit in four different places and are never brought together.

That is what we built.

Ask it a real question

A business burning 40 litres of diesel a day, quoted ₦18 million for a solar system, now gets: current running cost ₦21.3 million a year, simple payback 10.2 months , and 38.59 tonnes of CO₂ avoided annually — with the diesel price dated and sourced, the generator fuel-burn coefficient named as an assumption rather than passed off as a measurement, and an explicit note that the payback excludes maintenance, battery replacement and financing.

A farm running a 200 kWh-a-month diesel pump against a ₦4.5 million quote: 3.8 years , 2.25 tonnes a year.

The carbon figure is reported as a by-product of the cost saving, not the reason for it. That ordering is the whole point.

And when you have no quote yet, it inverts the question. Rather than refusing, it tells you the capital budget that works: at that diesel spend, anything under ₦21.3 million repays inside a year, under ₦63.8 million inside three. That number needs nothing invented and is the one that actually informs a decision.

It covers water treatment, waste, cold storage, agro-processing and mini-grids as well as solar — the fuel-displacement maths is identical for anything that stops burning diesel or drawing grid power.

What it refuses to tell you

It will not estimate what a solar system costs.

We hold Nigerian import values for photovoltaic equipment — the market grew from $35.3 million in 2021 to $306.1 million in 2024 — but that is a value per kilogram, not a price per watt, and converting between them needs an assumption about module mix that we do not have. Inventing one would put a fabricated coefficient underneath every payback figure the system ever produced, and the number would look authoritative.

So it asks for your installer’s quote.

The same discipline applies to waste. A facility diverting organic waste from landfill avoids methane , roughly 28 times more warming than CO₂ over a century, and that is usually the largest part of its climate case. Quantifying it needs waste tonnage, composition and degradable-organic-carbon figures for Nigeria that we do not hold. So the tool reports the energy saving and states plainly that the total is therefore an understatement — rather than presenting a partial figure as a whole one.

The number we had to derive ourselves

To price the carbon of grid electricity you need a grid emission factor: kilograms of CO₂ per kilowatt-hour. The available ones are either global averages — useless for a grid that is roughly four-fifths gas — or licensed in ways that do not permit commercial use.

So we derived Nigeria’s own, from satellite-observed emissions over the grid’s own reported generation:

Year Grid carbon intensity Generation
2024 0.4253 kgCO₂e/kWh 36.41 TWh
2025 0.3939 kgCO₂e/kWh 39.19 TWh

Getting there was mostly unglamorous. The monthly regulator factsheets changed format partway through: newer ones state generation in a sentence, older ones are infographics that optical character recognition turns into soup. Nineteen of twenty-eight months had no readable figure. Reading them better — distinguishing the national figure from the per-plant rows sitting beside it — recovered ten. Re-scanning at higher resolution recovered two more, one of which happened to be the single month standing between us and a complete year.

Then we found the quarterly reports state total generation outright, and the seven months we still could not read stopped mattering.

Two independent routes — monthly factsheets and quarterly reports — landed within 0.05% of each other. That agreement is the reason we trust the figure at all.

We publish it for challenge, not as settled science. We are not the atmospheric scientists here. The method is written down so a qualified reviewer can check it by hand, along with the five things we think are most likely to be wrong with it — the largest being that the emissions figure counts national generation while the regulator counts grid generation, which would bias our number upward. If an energy economist tells us it is wrong, that is the process working.

Two jobs that had never run

While installing the refresh schedules for this work, we found the automated jobs declared a user account that does not exist on the machine they run on — a leftover from moving between servers.

Ours were caught before they mattered. Two others were not: a weekly papers watch and a theory watch had been silently dead since the migration. No error, no alert, no output. A scheduled job that names a non-existent user is simply skipped, and nothing anywhere says so.

We also found the figures store could not be read while it was being refreshed — so a question arriving during the nightly window got no data and the system said it had none. It now retries, and if the store is genuinely busy it says the figures are momentarily unavailable and names what it holds, rather than reporting data we have as data we lack.

Both are the same failure: something reporting nothing while doing nothing.

And an uncomfortable finding about our own measurements

On 14 July we published that our six acceptance queries had each cleared the bar, aggregate 50 of 60. We stand by having hit it. We are less confident than we were about how precisely we can measure it.

Chasing an apparent regression this week, we found the same query, at temperature zero with a fixed random seed, can score 7 on one run and 10 on the next. The model is reproducible when asked the identical question twice in a row — we verified that — but an evaluation asks six different questions in sequence, and each inherits whatever state the last one left behind.

The bar has held in every configuration we have tested. But several improvements we attributed to our own changes this week sit inside a spread we had not measured, and saying so is more useful than quietly carrying on. Before we publish another number to one decimal place, we owe ourselves the boring work of running the same test repeatedly, changing nothing, and finding out what the noise actually is.

Precision we have not earned is just decoration — which is the same lesson an advisor taught us about briefings a fortnight ago, arriving from a different direction.

Where this goes

The energy layer covers emissions, grid power, fuel and subsidy pass-through, and electrification access. Renewables capacity and a commitments scorecard are not built yet. Flaring volumes are waiting on a licence question we would rather resolve properly than assume our way through — and there is a Nigerian regulatory route to the same story that we can take meanwhile.

The gap we would most like to close is Nigerian waste data. It is where the climate case is largest, where the finance is most active, and where our figure is currently weakest — and the obstacle is not a licence or a formula. It is that nobody publishes the tonnage.

Asotele is built by Apex Grid Technologies in Lagos. We cite every figure, refuse when the data is not there, and correct ourselves in public when we get it wrong.

Top comments (0)