The green transition will require significant investment in utility infrastructure. Many countries have restrictive income caps or fixed tariffs that do not allow for investment to support the electrification of transport, heating and agricultural processes. Incentive-based revenue caps are the answer, and will likely be adopted in many countries over the next decade.

This website documents the open-source R package, available on Github and soon on CRAN, that allows regulators, data scientists and researchers to calculate and understand:

  1. Asset lifetimes
  2. Economic consequences of asset failures, both minor and major
  3. Monetary risk
  4. Probability of failure parameter estimates based on fault statistics

Why R?

Many regulators use R to perform benchmarking to compare the efficiency of utilities today. To ensure regulators adopt CNAIM (Common Network Asset Indices Methodology) as quickly as possible, we have focused our efforts on an R package, but we are also in the process of developing a Python implementation.


RIIO (Revenue = Incentives + Innovation + Output) price controls were introduced in Great Britain in 2013 by Ofgem, the regulator, as a way determining allowed revenue for electric and gas utilities. The implementation for Distribution Network Operators (DNOs), RIIO-ED2, uses CNAIM to asses the cost of maintaining each DNO’s grid, with respect to asset health. From a basic perspective, DNOs with transformers and power lines that are old and in poor health should be able to invest more than DNOs with assets in better condition.

CNAIM is a freely available standard, ratified by Ofgem, which can be read on their website.

Our motivation

In the process of implementing CNAIM for Danish utilities, and after several discussions with Ofgem and British DNOs, it is clear that:

  • No open-source software exists for regulators to verify CNAIM calculations on bigger (i.e. non-Excel) datasets
  • CNAIM is missing important asset classes prevalent in other countries
  • Additional explanatory variables beyond corrosion, temperature etc. will be required in other geographies
  • There is no public documentation or tooling for probability of failure parameter estimates

Statisticians reading the CNAIM standard will note that parameter estimates for explanatory variables such as duty factor and corrosion are unlikely to be based on statistical methods, but are instead rules-of-thumb. The CNAIM Github package aims to resolve the issues listed above and reduce the barriers to adoption of RIIO-type price controls in countries outside of Great Britain.

Installing CNAIM

To install the newest version of the CNAIM package, run:

if (!require('devtools')) install.packages('devtools')

To load CNAIM, run: