Average annual inflation rate between two consumer price index values

Turns the ratio of a later index value I_2 to an earlier value I_1, n months apart, into the constant annual rate that compounds to the same change, the equation section 11.3 of the ONS technical manual gives for an annual average inflation rate over any period other than a year. With n = 12 it is the change on the figure 12 months earlier, the annual inflation rate of section 11.2. The ratio I_2 / I_1 is the I_b / I_a of HE-FM-COST-002, which uprates a cost and is not repeated here. The financial-year averages that the article compares are built in HE-CF-CPI-002.

Signature

g = (I_2 / I_1)^(12 / n) - 1
Inputs
InputsDefinitionUnit
I_2The same index in the later month or yearindex points, above zero
I_1CPI or other index in the earlier month or yearindex points, above zero
nNumber of months in the period between the two index valuesmonths, above zero
Output
gAverage annual inflation rate over the period as a decimal, so 100 times g is the percentagea proportion per year

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.

Computational function

  • Computational function for monthly D7BT values to financial-year CPI averages, their ratio and the average annual rate

    Takes twelve monthly index values for each of two financial years, April to March, and returns the two financial-year averages as arithmetic means of the twelve months, their ratio, which is the I_b / I_a input of HE-FM-COST-002, and the average annual rate of HE-FM-CPI-004 between them. Section 11.3 of the ONS technical manual defines the annual average as the arithmetic mean of the 12 monthly values and quarters in the same way; applying it to April to March is the article's step for costs priced in a financial year. The inputs are monthly values, so they differ from the formula's variables, which are two index values.

    Inputs and outputs: a_01 to a_12 are the D7BT values for April to March of the earlier financial year and b_01 to b_12 those of the later year, in index points on 2015 = 100. Y is the number of years between the two financial years. A_1 and A_2 are the financial-year averages, R their ratio, n the months between them and g the average annual rate as a decimal.

    Assumption: All 24 values come from one release of one series. ONS computes CPI averages from unrounded monthly indices (section 11.3), so averages of the published one-decimal values can differ slightly from ONS-computed averages.

    Worked example (D7BT financial years 2019/20 and 2023/24 from the article): The monthly values sum to 1,298.9 and 1,580.1, so the averages are 108.2417 and 131.675, the ratio is 1.2165 and the average annual rate is 0.0502. The ratio 1.2165 applied to GBP 2,500 through HE-FM-COST-002 gives GBP 3,041.25, as in the article. a_01 = 107.6; a_02 = 107.9; a_03 = 107.9; a_04 = 107.9; a_05 = 108.4; a_06 = 108.5; a_07 = 108.3; a_08 = 108.5; a_09 = 108.5; a_10 = 108.2; a_11 = 108.6; a_12 = 108.6; b_01 = 130.4; b_02 = 131.3; b_03 = 131.5; b_04 = 130.9; b_05 = 131.3; b_06 = 132; b_07 = 132; b_08 = 131.7; b_09 = 132.2; b_10 = 131.5; b_11 = 132.3; b_12 = 133; Y = 4; A_1 = 108.2417; A_2 = 131.675; R = 1.2165; n = 48; g = 0.0502

    Worked example (Calendar years 2015 and 2019 as a check on the averaging): Entering January to December blocks instead gives 100.0083 for 2015, which rounds to the reference value of 100.0, and 107.8 for 2019, the published D7BT annual value, with a ratio of 1.0779 and an average annual rate of 0.0189 (computed here for illustration). a_01 = 99.3; a_02 = 99.5; a_03 = 99.7; a_04 = 99.9; a_05 = 100.1; a_06 = 100.2; a_07 = 100; a_08 = 100.3; a_09 = 100.2; a_10 = 100.3; a_11 = 100.3; a_12 = 100.3; b_01 = 106.3; b_02 = 106.8; b_03 = 107; b_04 = 107.6; b_05 = 107.9; b_06 = 107.9; b_07 = 107.9; b_08 = 108.4; b_09 = 108.5; b_10 = 108.3; b_11 = 108.5; b_12 = 108.5; Y = 4; A_1 = 100.0083; A_2 = 107.8; R = 1.0779; n = 48; g = 0.0189

    Excel: =AVERAGE(MonthsEarlier) in a cell named FYAverageEarlier and =AVERAGE(MonthsLater) in FYAverageLater, where MonthsEarlier and MonthsLater each hold twelve monthly values; =FYAverageLater/FYAverageEarlier in IndexRatioOut; =IndexRatioOut^(1/YearsApart)-1 in AvgRateCFOut, since 12 over 12 times YearsApart is 1 over YearsApart.

    R: fy_rate <- function(a, b, Y) { A1 <- mean(a); A2 <- mean(b); R <- A2/A1; c(A1 = A1, A2 = A2, R = R, g = R^(12/(12*Y))-1) } Returns the two averages, their ratio and the average annual rate for vectors of monthly values.

    Python: def fy_rate(a, b, Y): A1 = sum(a)/len(a); A2 = sum(b)/len(b); R = A2/A1; return A1, A2, R, R**(12/(12*Y))-1 Plain Python 3 with no imports.

    Test (Earlier financial-year average matches the article): With the April 2019 to March 2020 D7BT values in MonthsEarlier, FYAverageEarlier equals 108.2417 to four decimal places. The expected result is TRUE. FALSE shows the calendar year 2019 entered instead, which gives 107.8. Excel check =ABS(FYAverageEarlier-108.2417)<0.00005

    Test (Average rate compounds back to the later average): The earlier average compounded at the result over YearsApart years equals the later average. The expected result is TRUE. FALSE shows the simple average rate of 0.0541 in AvgRateCFOut, which reaches 133.65 against 131.675. Excel check =ABS(FYAverageEarlier*(1+AvgRateCFOut)^YearsApart-FYAverageLater)<1E-6

    Common error (Calendar-year index paired with a financial-year cost): For a cost priced in 2019/20, the calendar 2019 average of 107.8 in place of 108.2417 raises the ratio to 2023/24 to 1.2215 from 1.2165 (computed here for illustration), about 0.4% more on every uprated cost.

    Common error (Rounded averages re-averaged): Averaging four quarterly averages that were each rounded to one decimal place can move the annual average away from the mean of the twelve months; the manual computes CPI averages at maximum precision from unrounded monthly indices (section 11.3).

    Source: Office for National Statistics. Consumer Prices Indices Technical Manual, 2019. Newport, Office for National Statistics, 2019, page last revised 26 March 2025. Section 11.3, annual and quarterly averages, which defines the annual average as the arithmetic mean of the 12 monthly values and gives the annual average inflation rate equation. Office for National Statistics. CPI index 00, all items, 2015=100 (series D7BT, dataset MM23), release of 16 September 2026, for the monthly values and the 2019 annual value of 107.8.

    A_1 = (a_01 + a_02 + a_03 + a_04 + a_05 + a_06 + a_07 + a_08 + a_09 + a_10 + a_11 + a_12) / 12; A_2 = (b_01 + b_02 + b_03 + b_04 + b_05 + b_06 + b_07 + b_08 + b_09 + b_10 + b_11 + b_12) / 12; R = A_2 / A_1; n = 12 * Y; g = R^(12 / n) - 1

Try this function

Implementations

  • Excel

    Average annual CPI inflation rate from two named index cells

    With the earlier index in IndexEarlier, the later index in IndexLater and the months between them in MonthsApart, the cell returns the rate as a decimal; name it AvgRateOut and format it as a percentage.

    =(IndexLater/IndexEarlier)^(12/MonthsApart)-1

Assumptions

  • Constant compound rate behind an average annual CPI inflation rate

    The result is the one constant annual rate that takes I_1 to I_2 over n months with compounding, so it carries no information on how inflation varied within the period (a reading of the section 11.3 equation).

  • Average annual CPI rate taken over a year or more

    Section 11.3 of the manual warns that the equation may produce misleading results for one or two months of change, because the month-to-month change includes a seasonal component and some prices change only once a year, and it prefers a comparison between different years' annual average indices, or at least between the same month in different years.

  • Both CPI values from one series and reference period

    I_1 and I_2 come from the same series on the same reference, for example D7BT on 2015 = 100. The CPIH, CPI and RPI differ in both coverage and methodology (ONS QMI), so a rate computed from two different series is the inflation rate of neither.

Worked examples

  • Annual CPIH inflation rate for January 2019 from the manual

    The CPIH stood at 104.5 in January 2018 and 106.4 in January 2019. With n = 12 the formula gives 0.0182, the 1.8% annual inflation rate that section 11.2 reports, a limiting case where the average equals the 12-month change.

    I_1 = 104.5; I_2 = 106.4; n = 12; g = 0.0182
  • Average annual CPIH inflation over the manual's 28-month example

    Section 11.2 reports a change of 4.1% in the CPIH between April 2015 (99.9) and August 2017 (104.0). Over those 28 months the average annual rate is 0.0174, about 1.7% a year (computed here for illustration).

    I_1 = 99.9; I_2 = 104; n = 28; g = 0.0174
  • Average annual CPI inflation between the article's two financial years

    The article's D7BT averages are 108.242 for 2019/20 and 131.675 for 2023/24, four years or 48 months apart, so the average annual CPI rate is 0.0502, about 5.0% a year (computed here for illustration). The averages themselves are built in HE-CF-CPI-002.

    I_1 = 108.242; I_2 = 131.675; n = 48; g = 0.0502

Common errors

  • Total CPI change divided by the number of years

    Dividing the 21.65% rise between the two financial-year averages by 4 gives 5.41% a year, against a compound average of 5.02% (computed here for illustration). Compounding the simple rate over four years gives a ratio of 1.2347 in place of 1.2165.

  • One month of CPI change annualised

    D7BT fell from 132.2 in December 2023 to 131.5 in January 2024. Annualising that one month gives minus 6.2% a year, while the 12-month change to January 2024 was 4.0% (131.5 against 126.4), both computed here from the published rounded indices. Section 11.3 of the manual warns that one or two months of change may mislead.

  • Years entered in place of months in the average CPI rate

    Entering n = 4 for four years in place of 48 months makes the exponent 3 and gives 80.0% a year for the financial-year example in place of 5.02% (computed here for illustration).

Sources

  • ONS technical manual on annual averages and average inflation rates

    Office for National Statistics. Consumer Prices Indices Technical Manual, 2019. Newport, Office for National Statistics, 2019, page last revised 26 March 2025. Section 11.3, annual and quarterly averages, which defines the annual average as the arithmetic mean of the 12 monthly values, gives the annual average inflation rate over any period other than a year as (I_2 / I_1) to the power 12/n minus 1, with I_2 the index in the later month or year, I_1 the index in the earlier month or year and n the number of months in the period, and warns that this may produce misleading results for one or two months of change. The replacement ONS guidance article on how consumer prices outputs are published (last revised 28 May 2026, section 4, under annual and quarterly averages) gives the same definition, equation and warning. Section 11.2 reports the CPIH change of 4.1% between April 2015 (99.9) and August 2017 (104.0) and the annual inflation rate of 1.8% for January 2019 (106.4 against 104.5 in January 2018).

    View source →

  • ONS D7BT series of the CPI all items index

    Office for National Statistics. CPI index 00, all items, 2015=100 (series D7BT, dataset MM23). Newport, Office for National Statistics, release of 16 September 2026. Monthly values used here are 126.4 for January 2023, 132.2 for December 2023 and 131.5 for January 2024, with the April 2019 to March 2020 and April 2023 to March 2024 values used in HE-CF-CPI-002.

    View source →

  • ONS quality and methodology information on differences between CPIH, CPI and RPI

    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. Coherence section, which states that the CPIH, CPI and RPI all measure the average change in the prices of consumer goods and services purchased in the UK but differ in both coverage and methodology.

    View source →

Canonical Identity

Stable URI · Machine-readable · Resolvable · CC BY 4.0

Average annual inflation rate between two consumer price index values | HealthEconomics.wiki