Last observation: Q2 2026 (N = 139)
First observation: Q1 2005 (N = 44)
Last data update: 04 oct. 2026, 22:34
Last compile: 15 oct. 2026, 23:09
ei_hppi_q |>
filter(geo %in% c("FR", "DE", "ES", "NL", "IT"),
unit == "I15_NSA") |>
quarter_to_date() |>
add_flag_color("Geo") |>
ggplot() + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_flags +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("House price index (2015 = 100)")
ei_hppi_q |>
filter(geo %in% c("FR", "DE", "ES", "NL", "IT"),
unit == "RT4") |>
quarter_to_date() |>
add_flag_color("Geo") |>
mutate(values = values/100) |>
ggplot() + geom_line(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_flags +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("House prices, y-o-y growth rate") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black")
latest_q <- ei_hppi_q |>
filter(unit == "I15_NSA", !is.na(values)) |>
summarise(m = max(time)) |>
pull(m)
ei_hppi_q |>
filter(geo %in% c("EA20", "EU27_2020", "FR", "DE", "ES", "NL", "IT", "PT", "IE", "SE"),
unit %in% c("I15_NSA", "RT4"),
time == latest_q) |>
select(Geo, Unit, values) |>
spread(Unit, values) |>
print_table_conditional()| Geo | Growth rate on the same quarter in previous year | Index, 2015=100 (NSA) |
|---|---|---|
| Euro area – 20 countries (2023-2025) | 3.8 | 158.81 |
| European Union - 27 countries (from 2020) | 4.7 | 168.56 |
| France | -0.8 | 125.54 |
| Germany | 0.6 | 153.50 |
| Ireland | 6.0 | 205.94 |
| Italy | 4.0 | 121.00 |
| Netherlands | 4.3 | 222.62 |
| Portugal | 16.5 | 301.43 |
| Spain | 12.1 | 200.60 |
| Sweden | 4.8 | 139.35 |