Marginal abatement cost curve
Case study · esg-toolkit
An abatement cost curve that prints the arithmetic behind every bar.
One slider, a carbon price from nothing to 200 EUR a tonne. Which measures clear, how much they abate and what the set costs all follow it.
Problem
Boiler tuning at 12 thousand euro returning 3.6 thousand a year for four years and rooftop solar at 620 thousand returning 74 thousand a year for twenty five cannot be ranked by their price tags, because one is spent once and the other returns every year the equipment lasts, and neither is worth anything until it is set against a price.
Method
A marginal abatement cost curve built on the levelised cost of abatement: the capital cost becomes an equivalent annual amount through a capital recovery factor over that measure's own life, the annual saving comes off it, and what remains is divided by the tonnes abated each year, cheapest first, ties broken by name.
What it does
One slider from 0 to 200 EUR a tonne in steps of 1, starting at 12, with three readouts following it, how many of the ten measures clear, their cumulative annual abatement against the total available and the net annual cost of the set, and selecting any bar opens its arithmetic under the chart.
What it refuses to do
It refuses to let the discount rate be argued: eight percent sits in the code, once, for every measure, because a curve whose reader can move the rate can be rearranged until it agrees with a decision already taken.
It refuses to give a cost without the arithmetic, so selecting a bar prints the capital recovery factor to six places and the division that produced the cost per tonne, carrying that measure's own capex, saving, life and abatement.
It refuses to hide the half of the curve that lies below zero: five of the ten measures pay for themselves at the stated discount rate, and their bars are drawn under the zero line rather than clipped away.
It refuses to pretend the measures were modelled against each other, so every cost comes from that measure's own row, the totals are plain sums, and the code contains no interaction term.
It refuses to be a business case: no payback period, no net present value, no internal rate of return, no capital budget, and the one money figure is the net annual cost of the selected set at the levelised cost.
It refuses to show an empty answer as a zero, so below the cheapest measure it names the price at which the curve starts and shows the three cheapest measures anyway.
In closing
A cost curve is a ranking, and this one prints the arithmetic of its ranking so that the argument can be about the inputs.