I'm trying to calculate yearly average inflation rate across a period of years displayed in my screenshot having only percent changes for each year. I'm unsure how that should be done and have tried 3 different ways using a spreadsheet application. In my first attempt (first row) I simply sum up the percent changes for each year and divide by the number of years. In the second attempt (second row in the screenshot) I thought of having a fixed capital (the 1 under the 2004 column) and think of each yearly inflation rate as if it were yearly capital growth. In the third attempt (third row) I again start with an initial capital (1 under the 2004 column) and apply yearly inflation rate on the initial capital as if it were yearly loss of buying power on that capital. As you can see I get three different values. I believe the third calculation is the correct one but I'm not completely sure about that.

The Sum column values are in the three cases obtained as follows

  • in the first case/row, as already said, it is the sum of all the yearly percent rate changes,
  • in the second case/row it is the second row value under the 2023 column - 1 and
  • in the third case/row as 1 - the third row value under the 2023 column .

enter image description here

enter image description here

enter image description here

4 Answers 4


Let's say you have 3 years with 2%, 5% and 7%

  1. Multiply "1 + percentage" for all years. 1.02*1.05*1.07 = 1.14597 (or 14.6% over three years)
  2. Take the cube root (1.14597)^(1/3) = 1.0465
  3. Subtract 1 and turn into percent -> 4.65% is the average annual inflation rate.
  • Your step one corresponds to what I was doing in what I described as my second approach. Could I ask you to comment on your step two? Why the cube root?
    – noplace
    Commented Apr 27 at 22:27
  • Also, I wonder, why in step one are you multiplying with 1 + percentage, why not multiply with 1 - percentage (this is what I did in my third approach). Inflation does not grow your capital but shrinks it (or its purchasing power).
    – noplace
    Commented Apr 27 at 22:39
  • 1
    Remember, successive percentage increments multiply. Growth over three years is the cube of a constant growth for one year, so cube root of cumulative gives the equivalent constant growth for one year. More time periods, higher powers; monthly constant growth to the 12 that's up to yearly result, so 12th root of yearly is the equivalent monthly growth.
    – keshlam
    Commented Apr 27 at 23:41
  • Ok, it seems then that my error is at step 2 where I typically just divide the number coming out from step one for the number of years. I'm clearly missing the statistics background here. Are you able to share a pointer to an article that provides related theory?
    – noplace
    Commented Apr 28 at 9:01

If you already have the annual inflation rate, what is it you're trying to calculate? Do you mean you're trying to calculate the average rate for some period of time? Like year 1 is 1.0%, year 2 is 2.4%, year 3 is 1.8%, what's the average for all 3 years?

That's a question of definitions. What do you mean by "average"?

The simplest definition would be to find the average of the numbers. Just add the numbers up and divide by the number of values. Like if you had 1.0, 2.4, and 2.0, the sum is 5.4, divided by 3 gives 1.8. (This is the "arithmetic mean".)

Perhaps you are thinking, If the inflation rate had been the same every year, what would it have had to be to give the same final set of prices? In that case, convert each inflation rate to a "growth factor" by adding 1. Multiply all the numbers together. Then find the nth root, where n is the number of values. For example, to use 1.0, 2.4, and 2.0 again, multiply 1.010, 1.024, and 1.020. That gives 1.055. As we have 3 number, then take the 3rd root of 1.055, which comes to a shade under 1.018, or 1.8%. In this case very close to the simple average, but I had only 3 numbers and all fairly small. (Called a "geometric mean".)

There isn't really one "right answer" until you carefully define what you mean by "average".

  • I thought I had stated clearly my intent but yes, I'm trying to calculate the average rate for the displayed number of years, Adding up yearly inflation rates and dividing by the number of years clearly does not work: say that one year you have an inflation of -30% and the following one an inflation of +30%, if you sum those two together you'd get zero but certainly prices are not back to where they were at the beginning, right?
    – noplace
    Commented Apr 27 at 20:21
  • @noplace The second last paragraph multiplying the 1+rates together gives what you want. Think of it as starting with 1 and multiplying it by 1+year rate for each year and the result gives you the amount your original amount would grow to -
    – mmmmmm
    Commented Apr 28 at 8:54
  • 1
    @noplace That's why I say that it depends what you mean by an "average". It's certainly true that -30 followed by +30 doesn't get you back where you started. But whether that means that the "average" is not zero is a different question. The arithmetic mean of -30 and +30 is 0, so by definition that's the average -- by one definition of average. "What constant rate every year would get us the same result as what we actually got?" is not the definition of "average".
    – Jay
    Commented Apr 28 at 10:52

Percent changes convert to multipliers by dividing by 100 and adding one --that is, 5% increase is a multiplier of 1. 05, and 5% decrease us a multiplier if 0.95.

To get cumulative change from yearly change, multiply the multipliers together then convert back to percentage if desired. This, two years of 5% increase and one of 6%, in any order, is 1.05 * 1.05 * 1.06, yielding 1.16865, or 16.9% total increase.

Note that a 5% increase and a 5% decrease, in either order, do not cancel out as you might expect if trying to average these; 1.95 * 0.95 comes out to 0.9975, or a 0.25% loss.

(Forgot to say:)

From that, we can see that a steady gain of XX% per year for Y years results in a total gain of

[ (1+XX)^Y - 1] %

where ^ is the exponentiation operator. (In some programming languages ** is used instead )

And that shows us how to get the equivalent average/constant yearly gain for those Y years: Take the Yth root:

[ (1+XX)^(1/Y) - 1] %

The same formula can be used to get quarterly or monthly average yield, just use the appropriate Y for the number of time periods you want to divide the results over.

  • This part is totally cleared out. How you go from calculating the change across a period of years to obtaining an annual average rate for that period is much less.
    – noplace
    Commented Apr 28 at 19:53
  • I believe the section I added explains that. It's less an average rate than an equivalent annual rate.
    – keshlam
    Commented Apr 29 at 0:05

I applied what @Hilmar suggested here and then verified that indeed the obtained average inflation rate applied across the same period of years yielded the same exact overall result and the two correspond perfectly as you can see from the screenshot.

enter image description here

The only doubt I have now is if inflation should be added or subtracted. I'm for subtracting it because a positive inflation reduces the buying power of your capital, it doesn't increase it as we are implying when we sum it.

  • 1
    Inflation is defined and measured as an increase in prices over time, rather than a decrease in buying power over time. Also, mathematically, subtracting can become problematic in some situations. For hyperinflation for example, if prices doubled one year the inflation rate that year would be 100%, so your term would be 1-1=0. The single zero would make the overall product zero, and the calculated average inflation rate would be zero, regardless of what any of the other numbers were.
    – Mark
    Commented Apr 29 at 1:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .