Seventy years of Nationwide house prices in one Excel workbook, measured in cash and after inflation. Every number is a live formula over the raw data, and an independent pandas run checks the results.
Average Nationwide house price each year, in cash (grey) and restated in 2024 pounds (green). Real prices only start in 1960, the first year of the inflation data.
Real price against the highest real price reached before it. In the 1970s, cash prices never fell at all; inflation did the work.
Growth from the first to the last year of each decade (the 2020s run to 2024). The gap between the bars is inflation.
The workbook's Mortgage sheet, working in the browser: a repayment mortgage on the average house in two quarters. The rates are your assumptions, not historical rates. Both start at 5% so the comparison isolates the price.
Monthly repayment =PMT(C13, C9*12, -C12) In base-year £ =C14*100/INDEX(CPI_Index, MATCH(VALUE(LEFT(C6,4)), CPI_Year, 0))
Raw data goes in untouched; calculation sheets read it with formulas; the dashboard reads the calculation sheets. Blue text in a yellow cell is an input. Every other number is a formula.
=SUMIFS(Raw_CPI!$D:$D, Raw_CPI!$B:$B, "GBR", Raw_CPI!$C:$C, A6)/100
=C5*(1+B6) =C6/INDEX($C$5:$C$70, MATCH(BaseYear, $A$5:$A$70, 0))*100
=IF(G5="", "", E5*100/G5) =IF(H5="", "", H5/MAX(H$5:H5)-1)
=MINIFS(Q_Fall, Q_Year, ">=1989", Q_Year, "<=1996") =INDEX(Q_Label, MATCH(C18, Q_Fall, 0))
tools/check_workbook.py recalculates the workbook in LibreOffice and checks every real price, fall and annual figure against pandas.A data quality catch. The World Bank CPI file's metadata says it holds a price index with 2005 = 100. It holds annual inflation rates (UK 1975: 24.2). The workbook treats them as rates and chains its own index; read as an index, real prices would be nonsense.