Locked out: Europe’s housing crisis is an access crisis
Since 2015, homes across the EU have become far more expensive than incomes can keep up with. Yet the share of people overburdened by housing costs has fallen. This report uses official Eurostat data to show why both are true, who is paying, and why there is no single European housing crisis: there are four distinct ones.
- Prices outran incomes, and rents did not. EU house prices rose , while median income rose and measured rents rose , less than overall inflation. The squeeze is on buying a home, not on keeping one.
- Insiders are fine; outsiders pay. Market renters are as likely as outright owners to be overburdened, and young people leave home at on average. Overall burden is falling because most Europeans already own their home.
- There are four housing crises, not one. A clustering of 27 markets on 9 indicators finds four archetypes. Two different methods agree perfectly on the grouping. The policy that would help Portugal is not the one Germany needs.
House prices rose faster than incomes; rents rose slower than everything
Indexing four series to 2015 shows where the pressure built up. House prices pulled away from incomes until 2022, paused when interest rates rose, and have since resumed climbing. Adjusted for inflation, homes are more expensive than in 2015.
EU-27: house prices, median income, consumer prices and rents
Index, 2015 = 100, annual averages. Hover to compare years.
View data
From () to ()
The EU average hides enormous differences. Choose an indicator to redraw the map and the ranking. Colours split the 27 countries into five equal-sized groups (quintiles), so each shade holds about five countries.
Ranking
All 27 member states, highest first.
View data
The burden fell for owners and stayed high for renters
A household is overburdened when housing costs take more than 40% of its disposable income. The EU rate fell from to , largely because two in three Europeans own their home and mortgage costs stayed low for most of the period. The people outside that group tell a different story.
Housing cost overburden by tenure, EU-27
% of people in each group spending over 40% of disposable income on housing.
View data
Market renters overburdened, by country
Latest year. The vertical line marks the EU-27.
View data
In the south and east, adulthood starts after 30
The average age at which young people leave the parental home varies by a decade across the EU. Culture plays a role. The data shows young adults stay longest where rental markets are thin (r = with the share of market renters) and where prices grew fastest over five years (r = ). There is no link with the price-to-income ratio (r = ). The problem is getting a first foothold, not average affordability.
Estimated average age of leaving the parental household
Latest year. The vertical line marks the EU-27 average.
View data
Europe is permitting fewer homes just as demand peaks
Residential building permits fell sharply after 2021, when construction and borrowing costs jumped. The Commission estimates the EU needs over two million new homes a year to 2035. Permits alone do not explain prices, though: the correlation across countries is weak, because supply responds to prices as much as it drives them.
Residential building permits, EU-27
Number of dwellings permitted per year (thousands).
View data
New homes vs price growth
Permits per 1,000 residents (2023–2025 average) vs house price growth over the last five years. Colour = market archetype (chapter 07).
View data
One score, five pillars, and the countries under most pressure
To compare countries on more than one indicator, I built a composite index from five pillars. Each is a z-score (0 = EU average, positive = more stress), with equal weights. The ranking is stable: dropping any single pillar keeps a rank correlation of at least with the full index.
Housing Stress Index by country and pillar
Red = more stress than the EU average, blue = less. Sorted by the overall score (last column).
View data
A clustering model finds four distinct housing markets
I clustered the 27 markets with k-means on nine standardised indicators covering prices, valuation, burden, tenure, young adults, crowding, supply and income. The best number of groups was chosen by silhouette score (k = ). An independent hierarchical method (Ward) produces the same grouping (adjusted Rand index = ). Each card shows the median of its member countries.
The 27 markets in two dimensions
Principal component analysis of the nine indicators. The two axes explain of the variance. Countries close together have similar housing markets.
View data
How this analysis was built
The analysis is fully reproducible: two commands download the latest data, rebuild every model and regenerate this report.
Data
prc_hpi_q/prc_hpi_a: house price index, all dwellingstipsho60: standardised house price-to-income ratioilc_di03: median equivalised net income (EU-SILC)prc_hicp_ainr: HICP actual rents (CP041) and all itemsilc_lvho07a/c,ilc_lvho05a,ilc_lvho02: overburden, overcrowding, tenureyth_demo_030: age of leaving the parental homests_cobp_a,demo_gind: residential permits, population
Data quality handled
- Currency break: Croatia’s income series switches from kuna to euro in 2023. Growth is taken from the continuous euro series wherever this happens.
- Greece is not covered by Eurostat’s house price index. It is shown as n/a on price maps, and imputed with the median only in the clustering.
- Outliers: index z-scores are winsorised at ±2.5 (Malta’s and Cyprus’s permit rates would otherwise dominate the supply pillar).
Techniques
- SQL window functions,
arg_maxfor the latest value per country,FILTERpivots andUNPIVOTcoverage checks - Composite index with leave-one-pillar-out sensitivity (Spearman)
- k-means with silhouette selection (k = 2…6), validated against Ward clustering (ARI), and PCA for the 2-D view
- Quantile classification for the choropleth; equal-area projection
Limitations
- Indicators have different latest years: prices to , survey data to 2025, price-to-income to 2024.
- HICP rents under-represent new contracts, and national averages hide large city–region differences.
- With n = 27, clusters describe structure; they are not statistical proof. Index weights are a choice, and the sensitivity test shows they do not drive the result.
- The analysis is descriptive and shows correlation, not causation.