Case study · one of eight
marginal-abatement
An abatement cost curve that prints the arithmetic behind every bar.
This is the instrument itself, not a picture of it. Change anything in it and the figures below follow.
Problem
Abatement measures get compared by their capital cost, because that is the number everybody has. It tells you almost nothing. 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. Ranking them that way puts the cheap and small ahead of the expensive and decisive.
The two figures also live on different clocks. One is spent once, the other returns every year for as long as the equipment lasts. Comparing them without turning the capital into an equivalent annual amount gives an ordering that changes with nothing but the reader. And even a correct ordering says nothing on its own, because no measure is worth doing in the abstract. It is worth doing against a price.
Method
A marginal abatement cost curve, built on the levelised cost of abatement. Each measure is reduced to one number: the capital cost is turned into an equivalent annual amount by a capital recovery factor over that measure's own life, the annual saving is taken off it, and what remains is divided by the tonnes the measure abates each year. Measures are sorted by that cost, cheapest first, ties broken by name, and drawn as bars whose width is the annual abatement and whose height is the cost per tonne.
What it does
One slider, from 0 to 200 EUR per tonne in steps of 1, starting at 12. Three readouts follow it: how many of the ten measures clear, the cumulative annual abatement they bring against the total available, and the net annual cost of the set, labelled a saving when it is negative. Selecting any bar opens its arithmetic underneath 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, and there is no control for it. The ordering of a cost curve is exactly the thing a discount rate moves, and a curve whose reader can move it can be rearranged until it agrees with a decision that was already taken.
It refuses to give a cost without the arithmetic. Selecting a bar prints the capital recovery factor to six places, then the division that produced the cost per tonne, with that measure's own capex, saving, life and abatement written into it. No number in the readout is unreachable by hand from what is printed beside it.
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. The axis carries a zero line and those bars are drawn under it, rather than being clipped away or flattened onto the baseline as though they were free.
It refuses to pretend the measures were modelled against each other. Every cost is computed from that measure's own row, and the totals are plain sums, so two measures that would eat into each other's savings are added as though they would not. The code contains no interaction term, and I would rather write that here than bury it in a coefficient.
It refuses to be a business case. There is no payback period, no net present value, no internal rate of return and no capital budget. The one money figure it produces is the net annual cost of the selected set, stated at the levelised cost and labelled as such every time it is printed.
It refuses to show an empty answer as a zero. Below the cheapest measure nothing clears, and instead of an empty list the instrument names the price at which the curve starts and shows the three cheapest measures anyway, so that the reader can see what the slider is short of.
Close
A marginal abatement cost curve is a ranking, not a plan. This one shows the arithmetic of its ranking so that the argument can be about the inputs.