Construction de logements

Données - INSEE

Info

Last observation: 2026-05

First observation: 1994-01

Number of observations: 188 696

Last data update: 23 jul 2026, 22:47. Last compile: 24 jul 2026, 05:45

Structure

Données sur l’immobilier

source dataset Title .html .rData
acpr as151 Enquête annuelle du SGACPR sur le financement de l'habitat 2022 2026-07-22 2024-04-05
acpr as160 Enquête annuelle du SGACPR sur le financement de l'habitat 2023 2026-07-22 2024-09-26
acpr as174 Enquête annuelle du SGACPR sur le financement de l'habitat 2024 2026-07-22 2025-09-29
bdf BSI1 Agrégats monétaires - France 2026-07-22 2026-07-22
bdf CPP Prix immobilier commercial 2026-07-22 2024-07-01
bdf FM Marché financier, taux 2026-07-22 2026-07-22
bdf MIR Taux d'intérêt - Zone euro 2026-07-22 2026-07-22
bdf MIR1 Taux d'intérêt - France 2026-07-23 2026-07-23
bdf RPP Prix de l'immobilier 2026-07-22 2026-07-22
bdf immobilier Immobilier en France 2026-07-22 2026-07-21
cgedd nombre-vente-maison-appartement-ancien Nombre de ventes de logements anciens cumulé sur 12 mois 2026-07-22 2026-07-22
insee CONSTRUCTION-LOGEMENTS Construction de logements 2026-07-23 2026-07-23
insee ENQ-CONJ-ART-BAT Conjoncture dans l'artisanat du bâtiment 2026-07-23 2026-07-23
insee ENQ-CONJ-IND-BAT Conjoncture dans l'industrie du bâtiment - ENQ-CONJ-IND-BAT 2026-07-23 2026-07-23
insee ENQ-CONJ-PROMO-IMMO Conjoncture dans la promotion immobilière 2026-07-23 2026-07-23
insee ENQ-CONJ-TP Conjoncture dans les travaux publics 2026-07-23 2026-07-23
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2026-07-23 2026-07-23
insee INDICES_LOYERS Indices des loyers d'habitation (ILH) 2026-07-23 2026-07-23
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2026-07-23 2026-07-23
insee IRL Indice pour la révision d’un loyer d’habitation 2026-07-23 2026-07-23
insee PARC-LOGEMENTS Estimations annuelles du parc de logements (EAPL) 2026-07-23 2026-07-23
insee SERIES_LOYERS Variation des loyers 2026-07-23 2026-07-23
insee t_dpe_val Dépenses de consommation des ménages pré-engagées 2026-07-23 2026-02-27
notaires arrdt Prix au m^2 par arrondissement - arrdt 2026-07-22 2026-07-22
notaires dep Prix au m^2 par département 2026-07-22 2026-07-22
olap loyers Loyers 2024-06-20 2023-07-20

LAST_COMPILE

LAST_COMPILE
2026-07-24

Last

Code
`CONSTRUCTION-LOGEMENTS` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2026-05 608

France, Logements

Cumul 12 mois

Commencés, Autorisés

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM", "NBRE_LOG_AUT"),
         REF_AREA == "FR-D976",
         LOGEMENT == "0",
          CUMUL12MOIS == "CUMUL") %>%
  month_to_date %>%
  
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Indicateur)) +
  xlab("") + ylab("Cumul sur 12 mois") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 800, 50),
                     labels = dollar_format(pre = "", su = " K", acc = 1)) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank())

Individuels purs, collectifs

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM"),
         REF_AREA == "FR-D976",
          CUMUL12MOIS == "CUMUL",
         LOGEMENT %in% c("NLCR", "101")) %>%
  month_to_date %>%
  
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Logement)) +
  xlab("") + ylab("Cumul sur 12 mois") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 800, 20),
                     labels = dollar_format(pre = "", su = " K", acc = 1)) +
  theme(legend.position = c(0.25, 0.92),
        legend.title = element_blank())

Individuels purs, collectifs

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM"),
         REF_AREA == "FR-D976",
          CUMUL12MOIS == "CUMUL",
         LOGEMENT %in% c("0", "101")) %>%
  month_to_date %>%
  
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Logement)) +
  xlab("") + ylab("Cumul sur 12 mois") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 800, 50),
                     labels = dollar_format(pre = "", su = " K", acc = 1)) +
  theme(legend.position = c(0.7, 0.92),
        legend.title = element_blank())

Par type

Valeur

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM"),
         REF_AREA == "FR-D976",
          CUMUL12MOIS == "CUMUL") %>%
  month_to_date %>%
  
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Logement)) +
  xlab("") + ylab("Cumul sur 12 mois") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 800, 50),
                     labels = dollar_format(pre = "", su = " K", acc = 1)) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank())

Indice, 2016-

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM"),
         REF_AREA == "FR-D976",
          CUMUL12MOIS == "CUMUL") %>%
  month_to_date %>%
  
  filter(date >=  as.Date("2016-01-01")) %>%
  group_by(LOGEMENT) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2016-01-01")]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Logement)) +
  xlab("") + ylab("Cumul sur 12 mois") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 800, 5)) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank())

Mensuel

Code
`CONSTRUCTION-LOGEMENTS` %>%
  filter(INDICATEUR %in% c("NBRE_LOG_COM", "NBRE_LOG_AUT"),
         REF_AREA == "FR-D976",
         LOGEMENT == "0",
          CUMUL12MOIS == "SO") %>%
  month_to_date %>%
  filter(date >= as.Date("2001-01-01")) %>%
  
  ggplot + geom_line(aes(x = date, y = OBS_VALUE/1000, color = Indicateur)) +
  xlab("") + ylab("Mensuel") +  theme_minimal() +
  
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(10, 80, 5),
                     labels = dollar_format(pre = "", su = " K", acc = 1)) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank())