Prix de l’immobilier - RPP
Données - BDF
Last observation: Q4 2025 (N = 7)
First observation: Q1 1992 (N = 2)
Last data update: 28 août 2026, 15:04
Last compile: 02 sept. 2026, 23:04
Structure
Données sur l’immobilier
| source | dataset | Title | Updated |
|---|---|---|---|
acpr |
as151 | Enquête annuelle du SGACPR sur le financement de l'habitat 2022 - as151 | 2026-08-01 |
acpr |
as160 | Enquête annuelle du SGACPR sur le financement de l'habitat 2023 - as160 | 2026-08-01 |
acpr |
as174 | Enquête annuelle du SGACPR sur le financement de l'habitat 2024 - as174 | 2026-08-01 |
bdf |
BSI1 | Agrégats monétaires - France - BSI1 | 2026-08-28 |
bdf |
CPP | Prix immobilier commercial - CPP | 2026-08-10 |
bdf |
FM | Marché financier, taux - FM | 2026-08-31 |
bdf |
MIR | Taux d'intérêt - Zone euro - MIR | 2026-08-28 |
bdf |
MIR1 | Taux d'intérêt - France - MIR1 | 2026-08-28 |
bdf |
RPP | Prix de l'immobilier - RPP | 2026-08-28 |
bdf |
immobilier | Immobilier en France - immobilier | 2026-08-01 |
cgedd |
nombre-vente-maison-appartement-ancien | Nombre de ventes de logements anciens cumulé sur 12 mois - nombre-vente-maison-appartement-ancien | 2026-08-01 |
insee |
CONSTRUCTION-LOGEMENTS | Construction de logements - CONSTRUCTION-LOGEMENTS | 2026-09-01 |
insee |
ENQ-CONJ-ART-BAT | Conjoncture dans l'artisanat du bâtiment - ENQ-CONJ-ART-BAT | 2026-09-01 |
insee |
ENQ-CONJ-IND-BAT | Conjoncture dans l'industrie du bâtiment - ENQ-CONJ-IND-BAT | 2026-09-01 |
insee |
ENQ-CONJ-PROMO-IMMO | Conjoncture dans la promotion immobilière - ENQ-CONJ-PROMO-IMMO | 2026-09-01 |
insee |
ENQ-CONJ-TP | Conjoncture dans les travaux publics - ENQ-CONJ-TP | 2026-09-01 |
insee |
ILC-ILAT-ICC | Indices pour la révision d’un bail commercial ou professionnel - ILC-ILAT-ICC | 2026-09-01 |
insee |
INDICES_LOYERS | Indices des loyers d'habitation (ILH) - INDICES_LOYERS | 2026-09-01 |
insee |
IPLA-IPLNA-2015 | Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens - IPLA-IPLNA-2015 | 2026-09-01 |
insee |
IRL | Indice pour la révision d’un loyer d’habitation - IRL | 2026-09-01 |
insee |
PARC-LOGEMENTS | Estimations annuelles du parc de logements (EAPL) - PARC-LOGEMENTS | 2026-08-13 |
insee |
SERIES_LOYERS | Variation des loyers - SERIES_LOYERS | 2026-09-01 |
insee |
t_dpe_val | Dépenses de consommation des ménages pré-engagées - t_dpe_val | 2026-08-29 |
notaires |
arrdt | Prix au m^2 par arrondissement - arrdt | 2026-09-01 |
notaires |
dep | Prix au m^2 par département - dep | 2026-09-01 |
olap |
loyers | Loyers - loyers | 2026-09-01 |
Data on housing
| source | dataset | Title | Updated |
|---|---|---|---|
bdf |
RPP | Prix de l'immobilier - RPP | 2026-08-28 |
bis |
LONG_PP | Residential property prices - detailed series - LONG_PP | 2026-08-31 |
bis |
SELECTED_PP | Property prices, selected series - SELECTED_PP | 2026-08-31 |
ecb |
RPP | Residential Property Price Index Statistics - RPP | 2026-09-01 |
eurostat |
ei_hppi_q | House price index (2015 = 100) - quarterly data - ei_hppi_q | 2026-07-15 |
eurostat |
hbs_str_t223 | Mean consumption expenditure by income quintile - hbs_str_t223 | 2026-07-15 |
eurostat |
prc_hicp_midx | HICP (2015 = 100) - monthly data (index) - prc_hicp_midx | 2026-08-07 |
eurostat |
prc_hpi_q | House price index (2015 = 100) - quarterly data - prc_hpi_q | 2026-07-14 |
fred |
housing | House Prices - housing | 2026-09-01 |
insee |
IPLA-IPLNA-2015 | Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens - IPLA-IPLNA-2015 | 2026-09-01 |
oecd |
SNA_TABLE5 | Final consumption expenditure of households - SNA_TABLE5 | 2026-08-02 |
oecd |
housing | NA | NA |
Prix au mètre carré des appartements neufs
France entière, Ile de France
Code
RPP |>
filter(RPP_DWELLING == "NF") |>
mutate(Variable = gsub("Prix au mètre carré des appartements neufs, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2020, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.2, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Prix au mètre carré des appartements neufs") +
scale_y_log10(breaks = seq(0, 7000, 500),
labels = dollar_format(suffix = " €/m2", prefix = "", accuracy = 1))
Indices de prix des logements anciens
100 = 2009
Log
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
mutate(value = 100*value/value[date == as.Date("2007-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_log10(breaks = seq(0, 7000, 10))
Lineaire
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_continuous(breaks = seq(0, 7000, 10))
100 = 2015
Log
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_log10(breaks = seq(0, 7000, 10))
Lineaire
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_continuous(breaks = seq(0, 7000, 10))
100 = 2001
Log
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
group_by(Variable) |>
filter(date >= as.Date("2000-12-31")) |>
mutate(value = 100*value/value[date == as.Date("2000-12-31")]) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_log10(breaks = seq(0, 7000, 10))
Lineaire
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
group_by(Variable) |>
filter(date >= as.Date("2000-12-31")) |>
mutate(value = 100*value/value[date == as.Date("2000-12-31")]) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_continuous(breaks = seq(0, 7000, 10))
100 = 1998
Lineaire
Code
plot_lineaire <- RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
filter(date >= as.Date("1997-12-31")) |>
mutate(value = 100*value/value[date == as.Date("1997-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_continuous(breaks = seq(0, 7000, 50))
plot_lineaire
Log
Code
plot_log <- plot_lineaire +
ylab("") + scale_y_log10(breaks = seq(0, 7000, 50))
plot_log
Bind
Code
ggpubr::ggarrange(plot_lineaire + ggtitle("Echelle linéaire"), plot_log + ggtitle("Echelle log"), common.legend = T)
100 = 1999
Lineaire
Code
plot_lineaire <- RPP |>
filter(RPP_DWELLING %in% c("ED", "EF")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
filter(date >= as.Date("1998-12-31")) |>
mutate(value = 100*value/value[date == as.Date("1998-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1999, 2030, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_continuous(breaks = seq(0, 7000, 50))
plot_lineaire
Log
Code
plot_log <- plot_lineaire +
ylab("") + scale_y_log10(breaks = seq(0, 7000, 50))
plot_log
Bind
Code
ggpubr::ggarrange(plot_lineaire + ggtitle("Echelle linéaire"), plot_log + ggtitle("Echelle log"), common.legend = T)
100 = 2000
Paris, IDF, France
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF"),
date >= as.Date("1999-12-31")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
mutate(value = 100*value/value[date == as.Date("1999-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens") +
scale_y_log10(breaks = seq(0, 7000, 50))
Paris, France
Lineaire
Code
plot_lineaire <- RPP |>
filter(RPP_DWELLING %in% c("ED", "EF"),
date >= as.Date("1998-12-31"),
RPP_GEO_COV %in% c("CC", "00")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
mutate(value = 100*value/value[date == as.Date("1998-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() + xlab("") + ylab("Indice des prix des logements anciens") +
scale_x_date(breaks = seq(1999, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
scale_y_continuous(breaks = seq(0, 7000, 50))
plot_lineaire
Log
Code
plot_log <- plot_lineaire +
scale_y_log10(breaks = seq(0, 7000, 50)) + ylab("")
plot_log
Bind
Code
ggpubr::ggarrange(plot_lineaire + ggtitle("Echelle linéaire"),
plot_log + ggtitle("Echelle log"), common.legend = T)
100 = 2007
Paris, IDF, France
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF"),
date >= as.Date("2007-12-31")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
mutate(value = 100*value/value[date == as.Date("2007-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens (2008 = 100") +
scale_y_log10(breaks = seq(0, 7000, 10))
Paris, France
Code
RPP |>
filter(RPP_DWELLING %in% c("ED", "EF"),
date >= as.Date("2007-12-31"),
RPP_GEO_COV %in% c("CC", "00")) |>
mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) |>
group_by(Variable) |>
mutate(value = 100*value/value[date == as.Date("2007-12-31")]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 1), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.25, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Indice des prix des logements anciens (2008 = 100") +
scale_y_log10(breaks = seq(0, 7000, 10))
Prix de vente moyen d’une maison neuve
Code
RPP |>
filter(RPP_DWELLING == "NH") |>
mutate(Variable = gsub("Prix de vente moyen d'une maison neuve, ","", Variable)) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(1960, 2030, 2), "-01-01")),
labels = date_format("%Y")) +
theme(legend.position = c(0.15, 0.85),
legend.title = element_blank()) +
xlab("") + ylab("Prix de vente moyen d'une maison neuve") +
scale_y_log10(breaks = seq(0, 7000, 20))









