Chain-linked consumer price index from the December level and two annual links

Builds a long-run index level for month t of year y from the published level for December of year y minus 1 on the 2015 = 100 reference, the January index of year y on the previous December = 100, and the index for month t on January of year y = 100. Section 3.6 of the ONS technical manual sets out the two-link product for the CPI and CPIH, whose weights are updated twice a year, and prints it as the product of the three index values with no divisor. Each link is stated on a base of 100, so here each is divided by 100 before it multiplies the December level (derived from the link bases), as the manual's RPI chaining formulas in section 12.4.2 and its July 1987 example in section 11.2 divide the link by 100. For January itself L_t is 100. A series chained once a year, such as the RPI, is entered with L_Jan = 100 and the long-run level of its January link month in I_Dec. Ratios of chained levels such as the D7BT series are what HE-FM-COST-002 takes.

Signature

I_t = I_Dec * L_Jan / 100 * L_t / 100
Inputs
InputsDefinitionUnit
I_DecChained index for December of the previous year on the 2015 = 100 reference, or for a series chained once a year the long-run level of its January link monthindex points
L_JanIndex for January of year y with the previous December at 100, set to 100 for a series chained once a yearindex points
L_tIndex for month t of year y with January of year y at 100, equal to 100 for January itselfindex points
Output
I_tChained index for month t of year y on the long-run referenceindex points

Function

Consumer price index from a fixed basket with Jevons elementary aggregates, chain-linking and average inflation rates

Maps the base-period and current prices of a fixed basket, with the quantities or expenditure of an earlier weight reference period, to a Lowe-type index level, and combines the matched prices of one elementary aggregate by the Jevons geometric mean. It also joins yearly links into a long series on the 2015 = 100 reference and maps two index values and the months between them to an average annual inflation rate. The ratio of two index values is the I_b / I_a input of the live price-year adjustment HE-FM-COST-002 under HE-FN-COST-001, which is not repeated here, and a ratio of the US CPI for all urban consumers enters the Medicaid additional rebate of HE-FM-340B-002. Currency conversion and purchasing power parities are left to the Basket of Countries page. Notation follows the Consumer Price Index article.

Try this function

Implementations

  • Excel

    Chain-linked CPI level from named December and link cells

    With the December level in IndexDec, the January link in LinkJan and the link for the month in LinkMonth, the cell returns the chained level; name it ChainedIndexOut.

    =IndexDec*LinkJan/100*LinkMonth/100

Assumptions

  • December level and links from one CPI series and class

    Each link compares prices within its own period, the January index against the previous December and later months against January (section 3.6), so the December level and both links come from the same series and class. The CPIH, CPI and RPI differ in coverage and methodology (ONS QMI), so a CPI link chained onto a CPIH level belongs to neither series.

  • Chain-linked CPI series not a fixed basket over several years

    Section 12.4.2 of the manual states that a chain-linked index spanning more than one year cannot be represented as the ratio of basket prices or as a weighted average of price relatives, because the weights are not constant and the list of items is not fixed. A ratio of two chained levels therefore measures price change through a sequence of baskets.

Worked examples

  • RPI July 1987 chained onto the January 1974 reference

    Section 11.2 of the manual chains the RPI for July 1987, 101.8 on January 1987 = 100, onto the January 1987 level of 394.5 on January 1974 = 100. Entered with L_Jan = 100 for a series chained once a year, the chained level is 401.601 (computed here, since the manual prints only the change), and against 384.7 for July 1986 it gives the change of 4.4% that the manual reports.

    I_Dec = 394.5; L_Jan = 100; L_t = 101.8; I_t = 401.601
  • Two-link CPI chaining with illustrative December and link values

    An illustrative December level of 120.0, a January link of 99.6 and a link of 101.5 for March give a chained March level of 121.3128 (illustrative inputs, computed here for illustration).

    I_Dec = 120; L_Jan = 99.6; L_t = 101.5; I_t = 121.3128
  • Chained CPI level for January with the second link at 100

    For January the second link is 100 by definition, so the chained level is the December level times the January link over 100, 119.52 with the illustrative values, a limiting case that checks an implementation.

    I_Dec = 120; L_Jan = 99.6; L_t = 100; I_t = 119.52

Common errors

  • CPI links multiplied without dividing by 100

    Each link is on a base of 100. Multiplying 120.0 by 99.6 and 101.5 without the two divisions gives 1,213,128 in place of 121.3128 (computed here for illustration).

  • CPI link movements added as index points

    Adding the link movements of minus 0.4 and plus 1.5 points to the December level of 120.0 gives 121.1 in place of 121.3128 (computed here for illustration). Chaining is multiplicative, so a rise of 1.5% in the link is worth 1.8 points at a level of 120.

Sources

  • ONS technical manual on chain-linking the CPI and RPI

    Office for National Statistics. Consumer Prices Indices Technical Manual, 2019. Newport, Office for National Statistics, 2019, page last revised 26 March 2025. Section 3.6, chaining, which states that the CPIH and CPI are chain-linked twice every year, with a January index based on the previous December = 100 and a further index for February to December based on January = 100, and gives the chained class index as the product of the December level on 2015 = 100 and the two links, printed without a divisor of 100. Section 11.2 chains the RPI for July 1987 (101.8 on January 1987) to 394.5 on January 1974 and reports a change of 4.4% from 384.7 in July 1986. Section 11.6 unchains by dividing by the January (or previous December) index and multiplying by 100, and section 12.4.2 chains the RPI each January with the January link divided by 100.

    View source →

  • ONS quality and methodology information on CPIH, CPI and RPI coherence

    Office for National Statistics. Consumer Price Inflation (includes all 3 indices, CPIH, CPI and RPI) QMI. Newport, Office for National Statistics, last revised 25 March 2026. Section on methods used to create the data, which states that the indices are annually chain-linked with each year's series taking the value 100 in the most recent January, and the coherence section, which states that the CPIH, CPI and RPI differ in both coverage and methodology.

    View source →

Canonical Identity

Chain-linked consumer price index from the December level and two annual links | HealthEconomics.wiki