Calculating CPI Over Time: Multiplication or Other Methods?

  • Context: Undergrad 
  • Thread starter Thread starter nomadreid
  • Start date Start date
  • Tags Tags
    economics
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 2K views
nomadreid
Gold Member
Messages
1,779
Reaction score
258
Suppose you have a set of monthly Consumer Price Indices, and you want to find the factor for a period of two years: it seems dodgy to just multiply all the indices together. But is that the correct way to do it?
 
Physics news on Phys.org
Yes, but you will also multiply the errors (including roundoff).

What I would do:
  1. Create a column with the numbers 1 -24 in Excel
  2. Insert all the monthly CPIs in a column to the right of the 1-24 numbers
  3. Create a new column to the right of the CPIs containing the logarithms of the CPIs
  4. Create a new column containing the partial sums of the logarithms (L1, L1+L2, L1+L2+L3...)
  5. Do a linear approximation in Excel with the 1-24 column as x and the partial sums of the logarithms as y (the formulas are "SLOPE" and "INTERCEPT")
  6. Calculate SLOPE*24 + INTERCEPT. This is the best approximation of the logarithm of the factor for two years.
  7. Do the antilog (depends on what kind of logs you used).
 
  • Like
Likes   Reactions: nomadreid
Thanks, Svein. That sounds more reasonable.
 
Why calculate anything?
https://www.bls.gov/data/inflation_calculator.htm

But Svein is not correct - that calculation does not do a historical inflation adjustment. There is no need to calculate the slope unless you are looking for some kind of trend analysis for future prediction.

Here is the CPI-All Urban Consumers from 1910
http://www.usinflationcalculator.co...and-annual-percent-changes-from-1913-to-2008/

So the Dec 2017 value is 246.524 and Dec 2015 was 236.525

the two year factor is just 246.524/236.525 (or its inverse depending on which direction you are going)

to get an annualized rate just take (246.524/236.525)^(1/p)-1 where p is the number of years (in this case 2).

You can do the same thing going to logs which is often easier if doing this with code
 
  • Like
Likes   Reactions: nomadreid
Thanks, BWV. (Sorry for the delayed reaction.)