Prix au m^2 par arrondissement - arrdt

Data - Immobilier

Info

source dataset .html .RData
notaires arrdt 2024-06-30 2025-01-05
notaires dep 2024-06-30 2024-09-08

Données sur l’immobilier

source dataset .html .RData
acpr as151 2024-06-19 2024-04-05
bdf BSI1 2025-01-05 2025-01-05
bdf CPP 2025-01-05 2024-07-01
bdf FM 2025-01-05 2025-01-05
bdf immobilier 2025-01-05 2024-11-19
bdf MIR 2025-01-05 2024-07-01
bdf MIR1 2024-11-29 2024-12-09
bdf RPP 2025-01-05 2024-11-19
cgedd nombre-vente-maison-appartement-ancien 2024-09-26 2024-09-26
insee CONSTRUCTION-LOGEMENTS 2024-12-29 2024-12-29
insee ENQ-CONJ-ART-BAT 2024-12-29 2024-12-29
insee ENQ-CONJ-IND-BAT 2024-12-29 2024-12-29
insee ENQ-CONJ-PROMO-IMMO 2024-12-29 2024-12-29
insee ENQ-CONJ-TP 2024-12-29 2024-12-29
insee ILC-ILAT-ICC 2024-12-29 2024-12-29
insee INDICES_LOYERS 2024-12-29 2024-12-29
insee IPLA-IPLNA-2015 2024-12-29 2024-12-29
insee IRL 2024-12-29 2024-12-29
insee PARC-LOGEMENTS 2024-12-29 2023-12-03
insee SERIES_LOYERS 2024-12-29 2024-12-29
insee t_dpe_val 2024-12-29 2024-12-21
notaires arrdt 2024-06-30 2025-01-05
notaires dep 2024-06-30 2024-09-08

Data on housing

source dataset .html .RData
bdf RPP 2025-01-05 2024-11-19
bis LONG_PP 2024-12-29 2024-05-10
bis SELECTED_PP 2024-12-29 2024-10-31
ecb RPP 2024-12-29 2024-12-29
eurostat ei_hppi_q 2024-12-29 2024-12-29
eurostat hbs_str_t223 2024-11-23 2024-12-29
eurostat prc_hicp_midx 2024-11-01 2025-01-05
eurostat prc_hpi_q 2024-12-29 2024-10-09
fred housing 2025-01-05 2025-01-05
insee IPLA-IPLNA-2015 2024-12-29 2024-12-29
oecd housing 2024-09-15 2020-01-18
oecd SNA_TABLE5 2024-09-11 2023-10-19

LAST_COMPILE

LAST_COMPILE
2025-01-05

Last

Code
arrdt %>%
  group_by(date) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(date)) %>%
  head(1) %>%
  print_table_conditional()
date Nobs
2024-07-01 21

Exemples

2008-

Code
arrdt %>%
  filter(date %in% c(as.Date("2008-01-01"), max(date))) %>%
  spread(date, value) %>%
  #setNames(c("Arrondissement", "2021T3", "2023T2")) %>%
  mutate(`Croissance (%)` = round(100*(.[[3]]/.[[2]]-1), 1),
         `Croissance (€)` = round(.[[3]]-.[[2]])) %>%
  arrange(-`Croissance (%)`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2009Q2-

Code
arrdt %>%
  filter(date %in% c(as.Date("2009-04-01"), max(date))) %>%
  mutate(date = paste0("Prix m2 ", date)) %>%
  spread(date, value) %>%
  #setNames(c("Arrondissement", "2021T3", "2023T2")) %>%
  mutate(`Croissance (%)` = round(100*(.[[3]]/.[[2]]-1), 1),
         `Croissance (€)` = round(.[[3]]-.[[2]])) %>%
  arrange(-`Croissance (%)`) %>%
  rename(arrdt = Location) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2008-2020

Code
arrdt %>%
  filter(date %in% c(as.Date("2008-01-01"), as.Date("2020-01-01"))) %>%
  spread(date, value) %>%
  #setNames(c("Arrondissement", "2021T3", "2023T2")) %>%
  mutate(`Croissance (%)` = round(100*(.[[3]]/.[[2]]-1), 1),
         `Croissance (€)` = round(.[[3]]-.[[2]])) %>%
  arrange(-`Croissance (%)`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2022T2-2023T2

Code
arrdt %>%
  filter(date %in% c(as.Date("2022-04-01"), as.Date("2023-04-01"))) %>%
  spread(date, value) %>%
  #setNames(c("Arrondissement", "2021T3", "2023T2")) %>%
  mutate(`Croissance (%)` = round(100*(.[[3]]/.[[2]]-1), 1),
         `Croissance (€)` = round(.[[3]]-.[[2]])) %>%
  arrange(-`Croissance (%)`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2021T3-2023T2

Code
arrdt %>%
  filter(date %in% c(as.Date("2021-07-01"), as.Date("2023-04-01"))) %>%
  spread(date, value) %>%
  #setNames(c("Arrondissement", "2021T3", "2023T2")) %>%
  mutate(`Croissance (%)` = round(100*(.[[3]]/.[[2]]-1), 1),
         `Croissance (€)` = round(.[[3]]-.[[2]])) %>%
  arrange(-`Croissance (%)`) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

100 = 2008

Code
arrdt %>%
  filter(Location %in% c("Centre", "6e", "10e")) %>%
  group_by(Location) %>%
  mutate(value = 100*value/value[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Location)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix au mètre carré (2008 = 100") +
  scale_y_log10(breaks = seq(0, 7000, 10))

Carte arrondissements

Code
i_g("bib/france/arrondissements-paris-2.jpg")

Prix mètre carré

13ème, 14ème, 15ème arrondissement

All

Code
arrdt %>%
  filter(Location %in% c("13e", "14e", "15e")) %>%
  group_by(Location) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 1000),
                labels = dollar_format(p = "", su = "€", a = 1))

2014-

Code
arrdt %>%
  filter(Location %in% c("13e", "14e", "15e")) %>%
  group_by(Location) %>%
  filter(date >= as.Date("2014-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 1000),
                labels = dollar_format(p = "", su = "€", a = 1))

2018-

Code
arrdt %>%
  filter(Location %in% c("13e", "14e", "15e")) %>%
  group_by(Location) %>%
  filter(date >= as.Date("2018-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.15, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 200),
                labels = dollar_format(p = "", su = "€", a = 1))

16ème, 6ème, 7ème arrondissement

Value

Code
arrdt %>%
  filter(Location %in% c("16e", "6e", "7e")) %>%
  group_by(Location) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 1000),
                labels = dollar_format(p = "", su = "€", a = 1))

100 = 2008

Code
arrdt %>%
  filter(Location %in% c("16e", "6e", "7e")) %>%
  group_by(Location) %>%
  mutate(value = 100*value/value[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix au mètre carré (2008 = 100)") +
  scale_y_log10(breaks = seq(0, 7000, 10))

6ème, 5ème, 14ème arrondissement

Value

Code
arrdt %>%
  filter(Location %in% c("6e", "5e", "14e")) %>%
  group_by(Location) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 1000),
                labels = dollar_format(p = "", su = "€", a = 1))

100 = 2008

Code
arrdt %>%
  filter(Location %in% c("6e", "5e", "14e")) %>%
  group_by(Location) %>%
  mutate(value = 100*value/value[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = gsub("e", "ème arrondissement", Location))) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix au mètre carré (2008 = 100)") +
  scale_y_log10(breaks = seq(0, 7000, 10))

1er, 2ème, 3ème arrondissement

Value

Code
arrdt %>%
  filter(Location %in% c("1er", "2e", "3e")) %>%
  mutate(Location = case_when(Location == "1er" ~ "1er arrondissement",
                              Location == "2e" ~ "2ème arrondissement",
                              Location == "3e" ~ "3ème arrondissement")) %>%
  group_by(Location) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Location)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Prix au mètre carré") +
  scale_y_log10(breaks = seq(0, 17000, 1000),
                labels = dollar_format(p = "", su = "€", a = 1))

100 = 2008

Code
arrdt %>%
  filter(Location %in% c("1er", "2e", "3e")) %>%
  mutate(Location = case_when(Location == "1er" ~ "1er arrondissement",
                              Location == "2e" ~ "2ème arrondissement",
                              Location == "3e" ~ "3ème arrondissement")) %>%
  group_by(Location) %>%
  mutate(value = 100*value/value[date == as.Date("2008-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = value, color = Location)) +
  
  theme_minimal()  +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2050, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank()) +
  xlab("") + ylab("Indice des prix au mètre carré (2008 = 100)") +
  scale_y_log10(breaks = seq(0, 7000, 10))