Prix de l’immobilier

Data - BDF

Info

source dataset .html .RData

bdf

RPP

2024-07-03 2024-07-01

Données sur l’immobilier

source dataset .html .RData

acpr

as151

2024-06-19 2024-04-05

bdf

BSI1

2024-07-26 2024-06-14

bdf

CPP

2024-07-26 2024-07-01

bdf

FM

2024-07-26 2024-06-18

bdf

immobilier

2024-07-26 2024-06-18

bdf

MIR

2024-07-26 2024-07-01

bdf

MIR1

2024-07-26 2024-07-01

bdf

RPP

2024-07-03 2024-07-01

insee

CONSTRUCTION-LOGEMENTS

2024-07-03 2024-07-03

insee

ENQ-CONJ-ART-BAT

2024-07-03 2024-07-02

insee

ENQ-CONJ-IND-BAT

2024-07-03 2024-07-02

insee

ENQ-CONJ-PROMO-IMMO

2024-07-03 2024-07-02

insee

ENQ-CONJ-TP

2024-07-03 2024-07-02

insee

ILC-ILAT-ICC

2024-07-03 2024-07-02

insee

INDICES_LOYERS

2024-07-03 2024-07-02

insee

IPLA-IPLNA-2015

2024-07-03 2024-07-03

insee

IRL

2024-07-04 2024-07-03

insee

PARC-LOGEMENTS

2024-07-04 2023-12-03

insee

SERIES_LOYERS

2024-07-04 2024-07-03

insee

t_dpe_val

2024-07-04 2024-07-01

notaires

arrdt

2024-06-30 2024-07-23

notaires

dep

2024-06-30 2024-07-23

Data on housing

source dataset .html .RData

bdf

RPP

2024-07-03 2024-07-01

bis

LONG_PP

2024-07-02 2024-05-10

bis

SELECTED_PP

2024-07-02 2024-05-10

ecb

RPP

2024-07-01 2024-07-03

eurostat

ei_hppi_q

2024-07-01 2024-07-03

eurostat

hbs_str_t223

2024-07-01 2024-07-03

eurostat

prc_hicp_midx

2024-07-01 2024-07-26

eurostat

prc_hpi_q

2024-07-01 2024-07-01

fred

housing

2024-07-26 2024-07-26

insee

IPLA-IPLNA-2015

2024-07-03 2024-07-03

oecd

housing

2024-07-01 2020-01-18

oecd

SNA_TABLE5

2024-07-01 2023-10-19

LAST_COMPILE

LAST_COMPILE
2024-07-26

Last

date Nobs
2023-10-01 4

variable

Code
RPP %>%
  left_join(RPP_var, by = "variable") %>%
  group_by(variable, Variable) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) print_table(.) else .}
variable Variable Nobs
RPP.Q.FR.N.ED.00.1.00 Indices des prix des logements anciens, Ensemble des logements, France métropolitaine 111
RPP.Q.FR.N.EF.CC.1.00 Indices des prix des logements anciens, Appartements, Paris 127
RPP.Q.FR.N.EF.CS.1.00 Indices des prix des logements anciens, Appartements, Ile de France Petite Couronne 127
RPP.Q.FR.N.NF.00.1.00 Prix au mètre carré des appartements neufs, France entière 116
RPP.Q.FR.N.NF.CR.1.00 Prix au mètre carré des appartements neufs, Ile de France 76
RPP.Q.FR.N.NH.00.1.00 Prix de vente moyen d'une maison neuve, France entière 116
RPP.Q.FR.N.NH.CR.1.00 Prix de vente moyen d'une maison neuve, Ile de France 76

RPP_DWELLING

Code
RPP %>%
  left_join(RPP_var, by = "variable") %>%
  left_join(RPP_DWELLING, by = "RPP_DWELLING") %>%
  group_by(RPP_DWELLING, Rpp_dwelling) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) print_table(.) else .}
RPP_DWELLING Rpp_dwelling Nobs
ED Residential property prices, Existing dwellings 111
EF Residential property prices, Existing flats 254
NF Residential property prices, New flats 192
NH Residential property prices, New houses 192

RPP_GEO_COV

Code
RPP %>%
  left_join(RPP_var, by = "variable") %>%
  left_join(RPP_GEO_COV, by = "RPP_GEO_COV") %>%
  group_by(RPP_GEO_COV, Rpp_geo_cov) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) print_table(.) else .}
RPP_GEO_COV Rpp_geo_cov Nobs
00 Whole country 343
CC Capital city 127
CR Capital Region 152
CS Capital city and suburbs 127

RPP_SOURCE

Code
RPP %>%
  left_join(RPP_var, by = "variable") %>%
  left_join(RPP_SOURCE, by = "RPP_SOURCE") %>%
  group_by(RPP_SOURCE, Rpp_source) %>%
  summarise(Nobs = n()) %>%
  {if (is_html_output()) print_table(.) else .}
RPP_SOURCE Rpp_source Nobs
1 NSI 749

Prix au mètre carré des appartements neufs

France entière, Ile de France

Code
RPP %>%
  left_join(RPP_var, by = "variable") %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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("2008-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF")) %>%
  group_by(Variable) %>%
  filter(date >= as.Date("2001-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("2001-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF")) %>%
  group_by(Variable) %>%
  filter(date >= as.Date("2001-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("2001-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("1998-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF")) %>%
  mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) %>%
  group_by(Variable) %>%
  filter(date >= as.Date("1999-01-01")) %>%
  mutate(value = 100*value/value[date == as.Date("1999-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF"),
         date >= as.Date("2000-01-01")) %>%
  mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) %>%
  group_by(Variable) %>%
  mutate(value = 100*value/value[date == as.Date("2000-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF"),
         date >= as.Date("1999-01-01"),
         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("1999-01-01")]) %>%
  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, 2030, 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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF"),
         date >= as.Date("2008-01-01")) %>%
  mutate(Variable = gsub("Indices des prix des logements anciens, ", "", Variable)) %>%
  group_by(Variable) %>%
  mutate(value = 100*value/value[date == as.Date("2008-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  filter(RPP_DWELLING %in% c("ED", "EF"),
         date >= as.Date("2008-01-01"),
         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("2008-01-01")]) %>%
  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 %>%
  left_join(RPP_var, by = "variable") %>%
  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))