Carte des loyers — maisons

Données - Carte des loyers (DHUP)

Code
source(here::here("_rinit.R"))
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
# cd ~/iCloud/website/data/dhup; /usr/local/bin/R -e 'quarto::quarto_render("loyers-maisons.qmd")'
# sh ~/iCloud/website/website_short.sh; open https://fgeerolf.com/data/dhup/loyers-maisons.html

source(here::here("data", "dhup", "_dhup.R"))

knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE,
                      fig.width = 8, fig.height = 7, dpi = 150)

dat_path <- here::here("data", "dhup", "loyers-maisons.parquet")
dat <- arrow::read_parquet(dat_path)

departements         <- arrow::read_parquet(here::here("data", "maps", "departements.parquet"))
departements_details <- arrow::read_parquet(here::here("data", "maps", "departements_details.parquet"))
communes              <- arrow::read_parquet(here::here("data", "maps", "communes.parquet"))
communes_details      <- arrow::read_parquet(here::here("data", "maps", "communes_details.parquet"))

app <- arrow::read_parquet(here::here("data", "dhup", "loyers-appartements.parquet"))
idf <- c("75", "77", "78", "91", "92", "93", "94", "95")

Loyer d’annonce prédit au m² pour les maisons individuelles. 34 900 communes couvertes — y compris de nombreuses communes rurales, où le parc de maisons est bien plus représenté que celui d’appartements.

Code
ecart <- dplyr::inner_join(
    dplyr::select(dat, insee_com, maison = loypredm2),
    dplyr::select(app, insee_com, appartement = loypredm2),
    by = "insee_com"
  ) |>
  dplyr::mutate(ecart = maison / appartement - 1)
cat(sprintf(
  "\nDans les communes où les deux segments sont estimés, le loyer au m²\nd'une maison est en moyenne **%s** celui d'un appartement.\n",
  ifelse(mean(ecart$ecart) < 0,
        paste0(scales::percent(abs(mean(ecart$ecart)), 1), " inférieur à"),
        paste0(scales::percent(mean(ecart$ecart), 1), " supérieur à"))))

Dans les communes où les deux segments sont estimés, le loyer au m² d’une maison est en moyenne 11% inférieur à celui d’un appartement.

Carte de France — par département

Code
dhup_dept_map(dat, departements, departements_details,
             title = "Loyer prédit des maisons, par département",
             subtitle = "Moyenne pondérée par le nombre d'observations — DHUP, Carte des loyers")

Île-de-France, commune par commune

Code
dhup_commune_map(dat, communes, communes_details, idf,
                 title = "Loyer prédit des maisons — Île-de-France",
                 subtitle = "Une valeur par commune")

Paris (75)

Paris ne compte quasiment pas de maisons individuelles ; l’estimation, quand elle existe, repose sur un échantillon d’annonces très réduit.

Code
if (sum(dat$dep == "75") > 0) {
  dhup_classement(dat, "75", n = 20,
                  caption = "Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.")
} else {
  cat("_Aucune estimation disponible pour Paris (75) sur ce segment._")
}
Commune Département Loyer prédit Intervalle Type Obs. (maille)
Paris 15e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 16e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 17e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 5e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 7e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 6e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 9e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 8e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 1er Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 11e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Paris 19e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Paris 10e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Paris 18e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Paris 20e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Paris 13e Arrondissement 75 22.6 13.3 – 38.3 maille 557
Paris 14e Arrondissement 75 22.6 13.3 – 38.3 maille 557
Paris 4e Arrondissement 75 18.5 11.0 – 31.1 maille 510
Paris 2e Arrondissement 75 18.5 11.0 – 31.1 maille 510
Paris 12e Arrondissement 75 18.5 11.0 – 31.1 maille 510
Paris 3e Arrondissement 75 18.5 11.0 – 31.1 maille 510
Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.

Hauts-de-Seine (92)

Code
dhup_commune_map(dat, communes, communes_details, "92",
                 title = "Loyer prédit des maisons — Hauts-de-Seine",
                 subtitle = "36 communes")

Code
dhup_classement(dat, "92", n = 15,
                caption = "Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.")
Commune Département Loyer prédit Intervalle Type Obs. (maille)
Boulogne-Billancourt 92 27.5 13.0 – 58.1 commune 514
Neuilly-sur-Seine 92 26.2 16.4 – 42.0 maille 843
Suresnes 92 26.2 16.4 – 42.0 maille 843
Rueil-Malmaison 92 25.7 16.2 – 40.8 commune 843
Issy-les-Moulineaux 92 25.4 13.0 – 49.8 commune 514
Chaville 92 24.7 18.7 – 32.8 commune 478
Asnières-sur-Seine 92 24.6 16.1 – 37.5 commune 485
Gennevilliers 92 24.0 15.7 – 36.6 maille 485
Villeneuve-la-Garenne 92 24.0 15.7 – 36.6 maille 485
Bois-Colombes 92 24.0 15.7 – 36.6 maille 485
Levallois-Perret 92 24.0 15.7 – 36.6 maille 485
La Garenne-Colombes 92 24.0 15.7 – 36.6 maille 485
Courbevoie 92 24.0 15.7 – 36.6 maille 485
Clichy 92 24.0 15.7 – 36.6 maille 485
Marnes-la-Coquette 92 23.9 18.0 – 31.7 maille 478
Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.

Paris et la petite couronne (75, 92, 93, 94)

Code
dhup_commune_map(dat, communes, communes_details, c("75", "92", "93", "94"),
                 title = "Loyer prédit des maisons — Paris et la petite couronne",
                 subtitle = "Paris (75), Hauts-de-Seine (92), Seine-Saint-Denis (93), Val-de-Marne (94)")

Code
dhup_classement(dat, c("75", "92", "93", "94"), n = 15,
                caption = "Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.")
Commune Département Loyer prédit Intervalle Type Obs. (maille)
Boulogne-Billancourt 92 27.5 13.0 – 58.1 commune 514
Paris 15e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 16e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 17e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 5e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 7e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 6e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 9e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 8e Arrondissement 75 26.4 12.6 – 55.4 maille 514
Paris 1er Arrondissement 75 26.4 12.6 – 55.4 maille 514
Neuilly-sur-Seine 92 26.2 16.4 – 42.0 maille 843
Suresnes 92 26.2 16.4 – 42.0 maille 843
Rueil-Malmaison 92 25.7 16.2 – 40.8 commune 843
Issy-les-Moulineaux 92 25.4 13.0 – 49.8 commune 514
Paris 11e Arrondissement 75 24.8 14.1 – 43.6 maille 479
Loyer prédit en €/m²/mois. Source : DHUP, Carte des loyers.

Source & données

Code
tibble::tibble(
  ` ` = c("Jeu de données", "Producteur", "Fichier", "Mise à jour", "Observations"),
  `  ` = c(
    "[Carte des loyers — indicateurs de loyers d'annonce par commune](https://www.data.gouv.fr/datasets/carte-des-loyers-indicateurs-de-loyers-dannonce-par-commune-en-2023/)",
    "Direction de l'habitat, de l'urbanisme et des paysages (DHUP), ministère du Logement",
    sprintf("`data/dhup/loyers-maisons.parquet` (%s ko)", round(file.size(dat_path) / 1024)),
    format(as.Date(file.mtime(dat_path)), "%d %B %Y"),
    sprintf("%s communes / mailles", format(nrow(dat), big.mark = " "))
  )
) |>
  gt::gt() |>
  gt::fmt_markdown(columns = `  `) |>
  gt::tab_options(table.width = "100%", column_labels.hidden = TRUE)
Jeu de données Carte des loyers — indicateurs de loyers d’annonce par commune
Producteur Direction de l’habitat, de l’urbanisme et des paysages (DHUP), ministère du Logement
Fichier data/dhup/loyers-maisons.parquet (1023 ko)
Mise à jour 24 septembre 2026
Observations 34 900 communes / mailles