Europe's housing market doesn't exist — 27 of them do
Measured against the same 2015 baseline, Hungarian house prices have climbed to nearly four times their starting level while Finland's have slipped below it. Any sentence that begins "European house prices are…" is already wrong.
Indices are supposed to make things comparable, and Eurostat's house price index does its job: every country starts at 100 in 2015, so the chart is pure relative change — no currency effects, no absolute-price noise. What the common baseline reveals is not convergence but the opposite: a continent's housing markets pulling apart, quarter after quarter.
House price index (2015 = 100), 27 European countries, Q2 2023 – Q1 2026; one panel per market on a single shared scale, colour marking the level reached. Open the interactive version → Source: Eurostat (prc_hpi_q).
The window that matters
The chart tracks the most recent twelve quarters — Q2 2023 to Q1 2026 — the period after the rate shock, when markets were supposed to cool together. Instead: Bulgaria +47%, Hungary +43%, Portugal +42% in under three years. At the other end, exactly one market fell: Finland, −9%, drifting from an index of 107 down to 97 — below where it stood in 2015, a full decade of nominal price growth erased.
The levels are even starker than the changes. Hungary's index now reads 387 — prices nearly quadrupled since 2015 — with Portugal at 291 and Bulgaria at 273. Finland reads 97. Between the extremes, the gap is 4-to-1 and widening every quarter: that's the fan opening.
Two numbers carry the divergence better than any single country. Fourteen of the twenty-seven markets have more than doubled since 2015. And the spread between the highest and lowest index has gone from 165 points to 290 in twelve quarters — the markets that had already risen most are also among those still rising fastest, so the fan opens rather than closes.
What the chart does not tell you
It is tempting to explain the spread — floating-rate mortgages transmitting rate rises faster in some countries, wage convergence from a lower base in others, supply shortage or foreign demand somewhere else. Those are plausible and widely argued, but none of them are in this dataset. An index of prices records what prices did, not why. The chart is deliberately built to state the movement and stop there; treat any mechanism as a hypothesis to test against other data, not something these lines demonstrate.
One thing the index genuinely cannot tell you: a high number does not mean an expensive country. Hungary at 387 has risen furthest from its own 2015 starting point — it says nothing about what a flat costs in Budapest against one in Amsterdam. Every country is measured only against its own past.
Why the chart is built the way it is
The obvious move is twenty-seven lines on one pair of axes. It was the wrong instrument: across this window almost every market climbs monotonically, so a single time axis spends the whole canvas describing a straight line, and twenty-seven of them overlapping is a thicket. The interesting quantity isn't any one path — it's where each market has got to, and how far apart those places are.
So the chart is a grid of small multiples: one panel per market, ranked, each with its own miniature series. The decision that makes it work is that every panel shares one scale. That turns vertical position into meaning — how high a line sits on its own tile is that market's level — so scanning the grid reads as a descending staircase before you have taken in a single number. Twenty-seven separately-scaled sparklines would look almost identical and tell you nothing.
Two details earn their place. The 2015 base line is drawn inside every panel, which is what makes the last tile legible at a glance: Finland's line finishes underneath it. And colour encodes the level reached, cool through hot, so colour and rank reinforce each other rather than competing. Re-order by recent change instead and the grid rearranges — the quickest way to see that the markets already highest are largely the ones still moving fastest.
What your data needs to look like
One row per time period, then a column for each entity you're tracking. Raw values or index numbers both work.
quarter
Hungary
Germany
Finland
2023-Q2
271.5
151.6
106.6
2024-Q4
322.1
149.2
100.6
2026-Q1
387.1
153.4
97.2
Novice tip: bring the series as they come — the agent works out the spread, the re-based view and which countries are worth labelling. What it cannot recover is a baseline you have already divided away: hand it index numbers with the base year unstated and nobody can tell whether 150 is a boom or a rounding error.
The takeaway
Averages are where divergence goes to hide. The euro area can report a modest aggregate while Hungary quadruples and Finland deflates — both truths, one meaningless mean. When your data is many entities sharing one baseline, don't chart the average: chart the spread, and let the fan tell the story.
This is one of the studio's non-aviation pieces — the same discipline applied to demographic data. Have indexed or multi-entity time-series of your own? The Nomogram Lab agent proposes three chart types on your real numbers, free — or see services for bespoke work.