Delta One Research Markets · Macro · Data Science

Were houses more affordable in 2008 than in 2023?

Author

David Papinashvili

Published

September 3, 2026

In 2008 the average UK house cost 10.38 times the average person’s disposable income. In 2023 it cost 10.43 times. Fifteen years later, after a financial crisis, Brexit, a pandemic and an inflation shock, housing affordability was almost exactly where it started.

That sounds like a story about nothing changing. It is the opposite. The ratio landed on the same number twice, in two housing markets that could hardly have been more different.

What the ratio measures

The ratio divides the average house price by disposable income per head: the money households have left after taxes and benefits, shared across the whole population. A ratio of 10 means the average house costs ten years of the average person’s disposable income.

The income measure is gross disposable household income (GDHI) per head: total household income after taxes and benefits, divided by everyone in the UK, including children and people who are not working. Dividing by more people gives a smaller income figure, which is why this ratio sits near 10.

The ONS house price to earnings ratio for England compares the median house price with a typical full-time worker’s earnings instead, and sits nearer 8.

The two are not comparable in levels. They are comparable in direction, which is all this post relies on.

Same number, opposite stories

The ratio is a fraction, so it can fall for two reasons. The price on top can fall, or the income underneath can rise.

In 2009 the ratio fell 10.4%, and nearly all of that came from the top. The average house price fell 8.9% as the financial crisis hit, while income grew 1.7%.

In 2023 the ratio fell 7.5%, and this time the top barely moved. House prices rose 0.3%. Income per head jumped 8.4%.

In cash terms, then, one fall was a price crash and the other was an income boom. But 2023 did not feel like a boom to anyone living through it, and that is the clue.

After inflation, the two years look the same

Consumer prices rose 7.2% in 2023, so most of that 8.4% income rise was the cost of living going up, not people getting better off. After adjusting for inflation, income per head rose about 1.1%.

The house price side changes even more. A house that costs the same in cash, in a year when everything else gets 7% more expensive, has become cheaper in real terms. After inflation, the average house lost 6.5% of its value in 2023.

Put both years through the same adjustment and the two stories become one.

After inflation, about 86% of the 2023 fall in the ratio came from house prices. So the difference between the two years is less about what happened than about how visible it was. In 2009 the price tag itself fell. In 2023 the price tag stood still and inflation did the cutting.

This also answers the question in the title. After inflation, the average house in 2023 cost about 3% more than in 2008, and income per head was about 3% higher. Fifteen years on, neither side of the ratio had moved much, which is why it ended up in the same place.

“Real terms” means restating every year in the same year’s money, here 2023 pounds, so that a change reflects what money can actually buy.

Each year’s house price and income are multiplied by CPI in 2023 divided by CPI in that year. CPI is the ONS Consumer Prices Index, series D7BT, annual average, 2015 = 100.

One consequence is worth spelling out. The same adjustment is applied to the top and the bottom of the ratio, so it cancels out: the real ratio is identical to the cash ratio. Adjusting for inflation does not change how affordable housing was. It changes the explanation of why.

The 86% figure splits the change in the ratio into a price part and an income part using log changes, which add up exactly. ONS’s own real income figures use a different price index, the household spending deflator, so the numbers here will not match them exactly.

What about Brexit?

I originally built this dataset to ask whether UK housing became less affordable after the 2016 referendum. The timing does not fit.

The ratio bottomed out in 2013 and had climbed 11.5% by 2016, about 3.7% a year. From 2016 to the 2022 peak it rose 11.1%, about 1.8% a year. Affordability was getting worse twice as fast before the vote as after it. The years after 2016 also contain a pandemic, a stamp duty holiday and a sharp rise in mortgage rates, any of which could move the ratio on its own.

The one year that does stand out is 2016 itself. The ratio jumped 5.7% that year, its biggest rise since 2004. Annual data cannot say whether that happened before or after the vote in June, so I went back to the monthly prices.

Most of the 2016 rise had already happened by the time Britain voted. The true pre-vote share is probably larger still, because the data records each sale when it completes, often two to three months after the price is agreed. Many of the sales recorded in July and August were deals struck before the referendum.

None of this shows Brexit had no effect on housing. It shows this data cannot isolate one, and that a simple before-and-after comparison would credit Brexit with a trend that started three years earlier.

Three checks on the monthly comparison:

  • Unequal halves. January to June covers five monthly steps and June to December covers six. The first half did more in less time: 0.71% a month against 0.20%.
  • Inflation. Adjusted for CPI, prices rose 2.5% in the first half and fell 0.1% in the second. In real terms, all of 2016’s rise came before the vote.
  • A tax change. A 3% stamp duty surcharge on second homes and buy-to-let purchases started on 1 April 2016, which pulled some purchases forward into March. Removing March’s 1.0% rise entirely still leaves the first half at 2.6%, twice the second half.

What this does not show

  • Mortgage costs. The ratio compares prices with income and ignores the cost of borrowing, which rose sharply through 2022 and 2023. For a buyer who needed a mortgage, 2023 was harder than the ratio suggests.
  • Regions. These are UK averages. London and the North East can move in opposite directions and still produce a calm national figure.
  • Timing within the year. Most of the series is annual, which blurs anything that happens inside a year. The monthly check only covers 2016.
  • Causes. This is descriptive. It shows what moved, not why.

So what

Next time a headline says housing became more affordable, two questions are worth asking. Which side of the ratio moved: prices or income? And did it move in real terms, or did inflation do the work?

The same number can describe a crash or a quiet erosion. The ratio cannot tell them apart, so you have to look underneath it.

Data and code

House prices come from the HM Land Registry UK House Price Index, income from the ONS series for gross disposable household income per head, and inflation from the ONS Consumer Prices Index (series D7BT). The data cleaning runs on the Linux command line, and those scripts are in the original project repository. The inflation adjustment and the interactive charts are built by scripts/housing_make_interactive_figures.py in this site’s GitHub repository.

Every cleaning step is a command line script rather than a manual spreadsheet edit, so the whole dataset can be rebuilt from the raw files.

Standardise the dates in the house price file from DD/MM/YYYY to YYYY-MM-DD:

sed -E 's|([0-9]{2})/([0-9]{2})/([0-9]{4})|\3-\2-\1|' uk_hpi.csv > uk_hpi_fixed_delimiter.csv

Keep the UK-wide rows and average the monthly prices into annual figures:

tail -n +2 uk_hpi_fixed_delimiter.csv | grep "United Kingdom" | \
awk -F ',' '{ year=substr($1, 1, 4); sum[year]+=$4; count[year]++ }
END { for (year in sum) print year, sum[year]/count[year] }' | \
sort > uk_hpi_annual_average.csv

Do the same for income, skipping the six lines of notes at the top of the ONS file:

tail -n +7 uk_gdhi.csv | grep "United Kingdom" | \
awk -F ',' '{ year=substr($3, 1, 4); sum[year]+=$4; count[year]++ }
END { for (year in sum) print year, sum[year]/count[year] }' | \
sort > uk_gdhi_annual_average.csv

Sort both files, then join them on year and compute the ratio. join keeps only the years that appear in both files:

cp uk_gdhi_annual_average.csv income.txt
cp uk_hpi_annual_average.csv houseprice.txt
sort income.txt > sortedincome.txt
sort houseprice.txt > sortedhpi.txt

echo 'Year AvgHPI GDHI Ratio' > affordability.txt
join sortedhpi.txt sortedincome.txt | awk '{print $1, $2, $3, $2/$3}' | sort -n >> affordability.txt

The 2016 monthly figures come straight from the cleaned house price file:

grep "United Kingdom" uk_hpi_fixed_delimiter.csv | awk -F ',' '$1 ~ /^2016/ { print $1, $4 }'