Source : DGFIP, REI (recensement des éléments d’imposition à la fiscalité directe locale), un fichier par année, ~35 000 communes, de 2009 à 2025. On retient pour chaque commune la base nette, le taux net voté par la commune et le produit de la taxe foncière sur les propriétés bâties (FB) et non bâties (FNB), de la taxe d’habitation (TH) et de la cotisation foncière des entreprises (CFE), ainsi que la population. Les comparaisons nationales sont dans rei. Fonds de carte : IGN GEOFLA 2016 (Paris fusionné en une seule commune, comme dans le REI).
Deux ruptures à garder en tête en lisant les séries :
2021 : la part départementale de la taxe foncière sur le bâti est transférée aux communes (compensation de la suppression de la taxe d’habitation sur les résidences principales) : le taux communal de FB augmente mécaniquement d’environ 20 points (le taux départemental de 2020 s’ajoute au taux communal) ;
2023 : la TH ne subsiste que sur les résidences secondaires et les logements vacants (le « taux de TH » désigne alors celui de la THRS).
carte(idf, "fb_taux", paste0("Taux de taxe foncière sur le bâti, ", derniere),"Île-de-France, taux net voté par la commune (incluant l'ex-part départementale)", "Taux (%)", idf_dep,limites =c(20, 55), labels = fr)
Évolution du taux de FB, 2022-dernière année
Les hausses de taux des dernières années (Paris notamment, de 13,5 % à 20,5 % en 2023) ressortent nettement.
Code
evol <- rei |> dplyr::filter(annee %in%c(2022, derniere)) |> dplyr::select(code_insee, annee, fb_taux) |> tidyr::pivot_wider(names_from = annee, values_from = fb_taux, names_prefix ="a") |> dplyr::mutate(variation = .data[[paste0("a", derniere)]] - a2022)idf_evol <- idf |> dplyr::left_join(evol, by ="code_insee")carte(idf_evol, "variation", paste0("Variation du taux de FB, 2022-", derniere),"Île-de-France, en points de pourcentage", "Points", idf_dep,divergente =TRUE, limites =c(-8, 8), labels = fr)
Les 15 communes (plus de 5 000 habitants) qui ont le plus augmenté leur taux
Code
idf_evol |> sf::st_drop_geometry() |> dplyr::filter(!is.na(variation), pop >=5000) |> dplyr::slice_max(variation, n =15) |> dplyr::mutate(libelle = forcats::fct_reorder(stringr::str_to_title(libelle), variation)) |>ggplot(aes(libelle, variation)) +geom_col(fill ="#b2182b") +coord_flip() +labs(title =paste0("Hausses du taux de FB en Île-de-France, 2022-", derniere), x =NULL, y ="Points de pourcentage") + theme_dgfip
Produit de FB par habitant
Code
idf_h <- idf |> dplyr::mutate(fb_par_hab = fb_produit / pop)carte(idf_h, "fb_par_hab", paste0("Produit de la taxe foncière sur le bâti par habitant, ", derniere),"Île-de-France, euros par habitant (communes seules)", "€ / hab.", idf_dep,palette ="plasma", direction =-1, limites =c(100, 900), labels = fr)
Distribution des taux par département
Code
idf |> sf::st_drop_geometry() |> dplyr::filter(!is.na(fb_taux)) |> dplyr::mutate(departement =factor(dep_noms[dep], levels = dep_noms)) |>ggplot(aes(departement, fb_taux, colour = departement)) +geom_boxplot(outlier.shape =NA, fill =NA) +geom_jitter(width =0.15, alpha =0.3, size =0.8) +scale_colour_viridis_d(guide ="none") +coord_flip() +labs(title =paste0("Taux de taxe foncière sur le bâti par commune, ", derniere), x =NULL, y ="Taux (%)") + theme_dgfip
Évolution du taux depuis 2009 : quelques communes
Code
choix <-c("75056"="Paris", "92051"="Neuilly-sur-Seine", "92012"="Boulogne-Billancourt", "92050"="Nanterre","93066"="Saint-Denis", "93048"="Montreuil", "78646"="Versailles", "94028"="Créteil")rei |> dplyr::filter(code_insee %in%names(choix)) |> dplyr::mutate(commune = choix[code_insee]) |>ggplot(aes(annee, fb_taux, colour = commune)) +geom_vline(xintercept =2020.5, linetype ="dashed", colour ="grey50") +geom_line() +geom_point(size =1) +scale_x_continuous(breaks = scales::breaks_pretty(9)) +labs(title ="Taux communal de taxe foncière sur le bâti", subtitle ="Trait pointillé : transfert de la part départementale (2021)",x =NULL, y ="Taux (%)", colour =NULL) + theme_dgfip +theme(legend.position ="bottom")
Taxe d’habitation
Taux de TH en 2017 (dernière année avant la réforme)
Code
th17 <-communes_sf(IDF) |> dplyr::left_join(rei |> dplyr::filter(annee ==2017) |> dplyr::select(code_insee, th_taux), by ="code_insee")carte(th17, "th_taux", "Taux de taxe d'habitation, 2017", "Île-de-France, taux net voté par la commune","Taux (%)", idf_dep, palette ="magma", direction =-1, limites =c(8, 25), labels = fr)
Taux de TH sur les résidences secondaires, dernière année
Code
carte(idf, "th_taux", paste0("Taux de taxe d'habitation (résidences secondaires), ", derniere),"Île-de-France, taux net voté par la commune", "Taux (%)", idf_dep,palette ="magma", direction =-1, limites =c(8, 30), labels = fr)
Cotisation foncière des entreprises
CFE : sommes mises en recouvrement par habitant, dernière année
Tous niveaux confondus (commune, EPCI, syndicats…), rapportées à la population de la commune : les pôles d’activité (La Défense, Roissy, Paris…) ressortent.