Transparence totale
Notre méthodologie.
City Score calcule des scores objectifs basés exclusivement sur des données publiques officielles. Voici en toute transparence comment chaque indicateur est calculé.
Score Global
Le score global est une moyenne pondérée des 9 scores thématiques. La pondération reflète l'importance relative de chaque critère pour la qualité de vie. Si un critère est indisponible (ex : immobilier en Alsace-Moselle), il est exclu et son poids est redistribué proportionnellement aux critères restants.
Score Global =
Risques Naturels × 18% +
Sécurité × 17% +
Santé × 13% +
Immobilier × 12% +
Environnement × 11% +
Éducation × 9% +
Économie × 8% +
Commerces × 7% +
Tranquillité × 5%
Si un critère est NULL → exclu, poids redistribué. 18%
Risques
17%
Sécurité
13%
Santé
12%
Immobilier
11%
Environnement
9%
Éducation
8%
Économie
7%
Commerces
5%
Tranquillité
Score Immobilier
Le score immobilier v4 mesure l'accessibilité réelle du marché immobilier en combinant un score prix absolu (40%), un score effort immobilier (40%, rapport prix/revenus locaux) et un ajustement local (±0.7 pts vs département). Poids dans le score global : 12%.
Score Immobilier v4 (Prix absolu + Effort + Ajustement local)
══════════════════════════════════════════════════════════════════
Données : DVF Etalab (Demandes de Valeurs Foncières)
Prix réels de vente 2023 + 2024 + 2025
Maisons et appartements (surface 9-500 m²)
Prix de vente entre 10 000 € et 10 000 000 €
Calcul du prix médian par commune :
─────────────────────────────────────────────────────
1. Pour chaque transaction : prix_m² = prix / surface
2. Filtre : 200 €/m² < prix_m² < 30 000 €/m²
3. Prix commune = médiane de toutes les transactions
4. Prix appart / maison = médianes séparées
═══════════════════════════════════════════════════════════════
COMPOSANTE 1 : Score prix absolu (40%)
═══════════════════════════════════════════════════════════════
Table calibrée sur le marché français 2025-2026 :
Prix/m² Score Interprétation
─────────────────────────────────────────────────────
400 €/m² 9.5 Ultra-abordable
800 €/m² 8.5 Très abordable
1 200 €/m² 7.5 Abordable
1 700 €/m² 6.0 Médiane France (~1 741 €)
2 200 €/m² 5.0 Au-dessus de la moyenne
2 800 €/m² 4.0 Villes moyennes chères
3 500 €/m² 3.5 Grandes villes
4 500 €/m² 2.5 Villes chères
6 000 €/m² 1.5 Très cher
9 000 €/m² 0.8 Premium (IDF, Côte d'Azur)
15 000 €/m² 0.5 Maximum
═══════════════════════════════════════════════════════════════
COMPOSANTE 2 : Score effort immobilier (40%)
═══════════════════════════════════════════════════════════════
Effort = (prix_m² × 80 m²) / niveau_de_vie_médian
= nombre d'années de revenus pour acheter 80 m²
Effort (années) Score Interprétation
─────────────────────────────────────────────────────
≤ 3 ans 10.0 Très accessible
3 – 5 ans 8.5 Accessible
5 – 7 ans 7.0 Correct
7 – 10 ans 5.5 Cher
10 – 15 ans 4.0 Très cher
15 – 20 ans 2.5 Hors de portée
20 – 30 ans 1.5 Extrême
> 30 ans 0.5 Inaccessible
Si pas de données de revenus (FILOSOFI) → le score effort
est exclu et le score prix porte 100%.
═══════════════════════════════════════════════════════════════
COMPOSANTE 3 : Ajustement local (±0.7 pts)
═══════════════════════════════════════════════════════════════
ratio = prix_commune / médiane_département
Si ratio < 1 → Bonus (max +0.7 pts)
Si ratio > 1 → Malus (max -0.7 pts)
Petits départements (< 30 communes) → ajustement réduit
═══════════════════════════════════════════════════════════════
SCORE FINAL
═══════════════════════════════════════════════════════════════
Score = clamp(Prix×0.4 + Effort×0.4 + Ajust_local, 0.5, 9.5)
Cas particuliers :
Pas de données DVF → Exclu du score global
Alsace-Moselle (57/67/68) → Livre Foncier, pas de DVF
Mayotte (976) → Pas de couverture DVF Table de scoring national
Interpolation linéaire entre chaque point de la table.
Exemples concrets
Pourquoi ce changement (v2 → v3)
L'ancien algorithme comparait uniquement le prix au département (ratio), ce qui créait des absurdités :
- • Paris = Sucy-en-Brie = Marseille = 5.1/10 — mêmes scores pour des réalités très différentes (10 625 € vs 4 122 € vs 3 500 €/m²)
- • Bordeaux et Lille à 1.5/10 (score minimum) alors qu'ils sont moins chers que Paris
Le v3 utilise le prix absolu comme base (ce qui est le plus honnête : 3 500 €/m² ≠ 10 000 €/m²) avec un léger ajustement local pour refléter le marché départemental.
Limites et précautions
- Peu de transactions : ~14% des communes ont moins de 5 transactions sur 3 ans. Le prix médian est alors peu fiable statistiquement. Un warning est affiché sur la fiche commune.
- Prix mélangé : Le prix « tous biens » agrège appartements et maisons. Dans les communes mixtes, il peut ne correspondre ni à l'un ni à l'autre. Les prix par type sont affichés séparément.
- Ajustement local limité : L'ajustement départemental est plafonné à ±0.7 pts et réduit pour les petits départements (< 30 communes). Le score national reste le facteur dominant.
- Alsace-Moselle : Les départements 57, 67 et 68 ne sont pas couverts par les DVF (régime du Livre Foncier). Le score immobilier est exclu du score global pour ces communes.
Source des données
DVF Etalab (Demandes de Valeurs Foncières) — Prix de vente réels enregistrés par les notaires, publiés en Open Data sur data.gouv.fr. Données cumulées 2023 + 2024 + 2025. Environ 32 600 communes couvertes sur ~35 000 (93%). Mise à jour semestrielle (avril et octobre).
Population & Société
Indicatif — non inclus dans le score globalLa section Population & Société présente des indicateurs descriptifs sur la démographie, la participation civique et les inégalités. Ces indicateurs ne contribuent pas au score global mais enrichissent la fiche commune pour aider à la décision.
Score Population & Société (indicatif, non inclus dans le score global) ══════════════════════════════════════════════════════════════════ Score = 25% chacun (4 sous-scores, poids égaux) : Dynamisme démographique (évolution pop 15+ ans, 2011-2022) Vitalité (âge moyen de la commune) Engagement civique (participation présidentielle T2 2022) Égalité (score Gini, voir ci-dessous) Si un sous-score est manquant → poids redistribué sur les autres.
Évolution démographique
Variation de la population de 15 ans ou plus entre 2011 et 2022.
Source : INSEE, Recensement de la Population 2022 (Base CC Emploi-Population active).
Calcul : (P22_POP15P - P11_POP15P) / P11_POP15P × 100
Âge moyen
Âge moyen de la population, calculé par pondération de 7 tranches d'âge INSEE.
Source : INSEE, Recensement de la Population 2022 (API Melodi — SDMX).
Tranches : <15 ans (centre 7), 15-24 (19.5), 25-39 (32), 40-54 (47), 55-64 (59.5), 65-79 (72), 80+ (87).
Participation électorale
Taux de participation au 2e tour de l'élection présidentielle 2022.
Source : Ministère de l'Intérieur, résultats électoraux (data.gouv.fr).
Inégalités (FILOSOFI)
Quatre indicateurs issus du dispositif FILOSOFI 2019 (Fichier Localisé Social et Fiscal, INSEE) :
• Indice de Gini — mesure de concentration des revenus (0 = égalité parfaite, 1 = inégalité maximale)
• Niveau de vie médian — revenu disponible par unité de consommation (€/an)
• Rapport interdécile — ratio D9/D1, écart entre les plus aisés et les plus modestes
• Part des revenus d'activité — proportion des revenus issus du travail vs transferts sociaux/pensions
Pour les communes trop petites (<1 000 hab), les données communales sont indisponibles : un fallback EPCI (intercommunalité) est utilisé. 5 330 communes ont des données propres, 29 505 utilisent le fallback EPCI.
Score d'égalité (Gini)
Score composite de 0 à 10 dérivé linéairement de l'indice de Gini.
Formule : score = clamp(round(-25.53 × gini + 14.24, 1), 0, 10)
Barèmes détaillés des 4 sous-scores
1. Dynamisme démographique (évolution 2011-2022)
Interpolation linéaire entre paliers.
2. Vitalité (âge moyen)
Interpolation linéaire entre paliers.
3. Engagement civique (participation électorale)
Interpolation linéaire entre paliers.
4. Égalité (indice de Gini)
Formule : score = clamp(-25.53 × gini + 14.24, 0, 10)
Sources des données
INSEE Recensement 2022 — Base CC Emploi-Population active (démographie, participation).
INSEE API Melodi (SDMX) — Tranches d'âge pour le calcul de l'âge moyen.
INSEE FILOSOFI 2019 — Indice de Gini, niveau de vie médian, rapport interdécile.
Ministère de l'Intérieur — Résultats électoraux présidentielle 2022 (data.gouv.fr).
Score Économie
Le score économie évalue le niveau de vie, le dynamisme entrepreneurial et la santé du marché de l'emploi local. Il combine neuf piliers avec redistribution proportionnelle des poids si une donnée est manquante. Poids dans le score global : 8%.
Pour limiter la sur-notation des micro-communes, les piliers volatils (chômage, emplois, créations) sont d'abord rassemblés dans un score “volatil”, puis ramenés vers un score neutre (5.5/10) selon deux critères de fiabilité : la population active 15‑64 et le volume de créations 3 ans. Le score final mélange ce score “fiabilisé” avec les signaux structurels (niveau de vie, égalité, revenus d'activité) et sert directement d’input à scores.economie (pas de double lissage global).
Score Économie v3 = 9 piliers pondérés (redistribution si NULL) ══════════════════════════════════════════════════════════════════ PILIER 1 : Niveau de vie médian (25%) ────────────────────────────────────────────────────────────────── Source : INSEE Filosofi 2021 — Revenus fiscaux localisés Médiane du niveau de vie = revenu disponible par UC Niveau de vie Score ───────────────────────── ≤ 16 000 € 1/10 16 – 19 000 € 3/10 19 – 21 000 € 5/10 21 – 23 000 € 6.5/10 23 – 25 000 € 8/10 25 – 30 000 € 9.5/10 > 30 000 € 10/10 PILIER 2 : Chômage global (15%) ────────────────────────────────────────────────────────────────── Source : INSEE Recensement 2022 (Base CC Emploi-Population active) Taux de chômage = chômeurs 15-64 / actifs 15-64 Taux chômage Score ───────────────────────── ≤ 5% 10/10 5 – 7% 8/10 7 – 9% 6/10 9 – 12% 4/10 12 – 18% 2/10 > 18% 1/10 PILIER 3 : Taux de pauvreté (12%) ────────────────────────────────────────────────────────────────── Source : INSEE Filosofi 2021 Disponible pour ~13% des communes (les plus grandes). Redistribué aux autres piliers si absent. Taux pauvreté Score ───────────────────────── ≤ 6% 10/10 6 – 10% 8/10 10 – 14% 6/10 14 – 20% 4/10 20 – 30% 2/10 > 30% 1/10 PILIER 4 : Taux d'activité (10%) ────────────────────────────────────────────────────────────────── Source : INSEE Recensement 2022 Taux d'activité = actifs 15-64 / population 15-64 Taux activité Score ───────────────────────── ≤ 55% 1/10 55 – 65% 3/10 65 – 72% 5/10 72 – 78% 7/10 78 – 83% 10/10 PILIER 5 : Créations d'entreprises (10%) ────────────────────────────────────────────────────────────────── Source : INSEE SIRENE — Créations d'entreprises 2024 Taux de création = créations / population × 1 000 Taux (‰ hab) Score ───────────────────────── ≤ 2‰ 1/10 2 – 8‰ 3/10 8 – 15‰ 5/10 15 – 30‰ 7/10 30 – 45‰ 10/10 PILIER 6 : Égalité des revenus (10%) ────────────────────────────────────────────────────────────────── Source : INSEE Filosofi 2021 Score composite combinant : • Indice de Gini (inégalité globale) • Rapport interdécile D9/D1 • Ratio S80/S20 Déjà calculé sur échelle 1-10, utilisé directement. PILIER 7 : Chômage des jeunes (8%) ────────────────────────────────────────────────────────────────── Source : INSEE Recensement 2022 Taux = chômeurs 15-24 / actifs 15-24 Taux chômage Score ───────────────────────── ≤ 8% 10/10 8 – 15% 7/10 15 – 20% 5/10 20 – 30% 3/10 30 – 50% 1/10 PILIER 8 : Évolution créations 3 ans (5%) ────────────────────────────────────────────────────────────────── Source : INSEE SIRENE — Créations 2022 vs 2024 Évolution Score ───────────────────────── ≤ -30% 1/10 -30 à -10% 3/10 -10 à -2% 5/10 -2 à +2% 6/10 +2 à +10% 8/10 +10 à +20% 10/10 PILIER 9 : Part des revenus d'activité (5%) ────────────────────────────────────────────────────────────────── Source : INSEE Filosofi 2021 Part des revenus provenant de l'activité professionnelle (vs pensions, prestations sociales). Plus élevé = économie locale plus dynamique. Part activité Score ───────────────────────── ≤ 35% 1/10 35 – 45% 3/10 45 – 55% 5/10 55 – 65% 7/10 65 – 75% 9/10 > 75% 10/10 REDISTRIBUTION SI DONNÉES MANQUANTES ────────────────────────────────────────────────────────────────── Si un pilier est NULL, son poids est redistribué proportionnellement aux piliers disponibles. Par exemple, le taux de pauvreté (12%) n'est disponible que pour ~13% des communes : son poids est automatiquement redistribué pour les autres. Score final clampé entre 1 et 10. SEUIL DE FIABILITÉ (petites communes) ────────────────────────────────────────────────────────────────── Les données économiques communales ne sont pas statistiquement significatives pour les très petites communes. Les valeurs suivantes sont traitées comme manquantes (NULL) : • Chômage = 0% quand pop. 15-64 < 50 → non significatif • Créations = 0‰ quand population < 200 → trop petit • Évolution = 0% quand 0 création sur 2 ans → pas "stable" Le poids de ces piliers est alors redistribué aux piliers fiables restants (niveau de vie, égalité, etc.).
9 piliers et pondérations
Indicateurs affichés
Limites et précautions
- Redistribution proportionnelle : Lorsqu'un pilier n'est pas disponible (donnée NULL), son poids est redistribué proportionnellement aux piliers restants. Le score reste donc comparable entre communes même si certaines données manquent.
- Données de recensement : Le taux de chômage provient du Recensement INSEE 2022, qui peut différer du taux de chômage BIT (enquête emploi). Le recensement mesure le chômage déclaré, pas le chômage au sens du BIT.
- Créations ≠ emploi : Un fort taux de création d'entreprises n'implique pas nécessairement un faible chômage (beaucoup de micro-entreprises, auto-entrepreneurs). Les cinq piliers sont donc complémentaires.
- Interpolation linéaire : Les scores sont interpolés linéairement entre les bornes de chaque palier, ce qui évite les effets de seuil brutaux.
Sources des données
INSEE SIRENE — Répertoire national des entreprises, créations 2022-2024.
INSEE Recensement 2022 — Base CC Emploi-Population active, taux de chômage et d'activité par commune.
Fiscalité locale
Indicatif — non inclus dans le score globalLa fiscalité locale présente les taux de taxe foncière sur les propriétés bâties (TFPB) applicables dans la commune. Ces indicateurs sont purement informatifs et ne contribuent pas au score global.
Indicateurs affichés
Taxe foncière (global)
Taux cumulé = commune + intercommunalité + syndicats. Médiane nationale : ~39,6%
Part communale
Taux voté par le conseil municipal
Part intercommunale (si applicable)
Taux voté par l'EPCI (métropole, agglo, etc.). Affiché uniquement si > 0%
Code couleur
Source des données
DGFiP — REI 2024 (Recensement des Éléments d'Imposition). Taux votés par les collectivités pour l'année 2024.
Couverture : 34 985 communes.
Score Sécurité
Le score de sécurité est basé sur les statistiques officielles de délinquance du SSMSI (Service Statistique Ministériel de la Sécurité Intérieure). Nous utilisons 12 indicateurs, chacun exprimé en taux pour 1 000 habitants. Poids dans le score global : 17%.
Algorithme v3 - Score Sécurité
Étape 1 : Calcul des pénalités par indicateur
Pour chaque indicateur, pénalité selon le taux /1000 hab :
- < seuil 1 : 0 pts (excellent)
- < seuil 2 : 2 pts (bon)
- < seuil 3 : 4 pts (modéré)
- < seuil 4 : 7 pts (élevé)
- ≥ seuil 4 : 10 pts (critique)
Étape 2 : Estimation (si données partielles)
Si certains indicateurs sont masqués (secret statistique,
moins de 3 faits enregistrés), deux sources d'estimation
sont utilisées par ordre de priorité :
Priorité 1 — Estimation SSMSI
Le SSMSI fournit dans ses fichiers une estimation
officielle (complement_info_nombre) pour les données
masquées. Cette estimation est privilégiée car elle
est calculée par le Ministère de l'Intérieur sur la
base des données réelles non publiées.
Priorité 2 — Estimation départementale (fallback)
Si aucune estimation SSMSI n'est disponible :
1. Taux départemental = Σ faits réels / Σ population
(uniquement communes avec données publiées)
2. Coefficient densité appliqué :
- Rural (< 50 hab/km²) : × 0.5
- Semi-rural (50-200) : × 0.85
- Urbain (> 200 hab/km²) : × 1.0
→ Jamais d'estimation basée sur d'autres estimations
→ La source d'estimation est indiquée par un ℹ
sur chaque indicateur concerné
Étape 3 : Score final
Score = max(1, 10 - Σ pénalités × poids)
Seuils par indicateur (pour 1 000 hab.) :
Cambriolages : 2 / 5 / 10 / 15
Violences (voie publique) : 1 / 3 / 5 / 8
Violences intrafamiliales : 2 / 4 / 7 / 12
Vols sans violence : 2 / 5 / 15 / 30
Vols violents : 0.5 / 1 / 2 / 4
Vols véhicules : 1 / 2 / 4 / 6
Stupéfiants : 1 / 3 / 6 / 10
Dégradations : 2 / 5 / 10 / 20
Vols dans véhicules : 2 / 5 / 10 / 15
Trafic stupéfiants : 0.5 / 1 / 2 / 4
Violences sexuelles : 0.3 / 0.8 / 1.5 / 3
Escroqueries : 1 / 3 / 6 / 10 12 indicateurs et pondérations
Niveaux de confiance
- Fiable : Données réelles disponibles pour tous les indicateurs
- Partiel* : Certains indicateurs masqués (secret statistique, < 3 faits). Estimés en priorité par le SSMSI, sinon par moyenne départementale ajustée à la densité. La source est précisée sur chaque indicateur.
- Estimation* : Toutes les données estimées (commune sans statistiques publiées), via moyenne départementale pondérée par la densité
Ajustement pour les petites communes
Les communes de moins de 300 habitants bénéficient d'un ajustement statistique asymétrique pour compenser le faible effectif :
- Aucun fait enregistré : le score reste à 10/10. L'absence de délinquance est un indicateur positif, même sur un petit échantillon.
- Un ou plusieurs faits : le score est lissé vers la moyenne nationale pour éviter qu'un seul fait divers ne fasse chuter artificiellement le score (ex : 1 cambriolage sur 33 habitants = 30‰, alors que la moyenne nationale est de 5‰).
Formule : score = (pop × score_brut + 300 × moyenne_nationale) / (pop + 300). Ce lissage ne s'applique que lorsque le score brut est inférieur à la moyenne nationale.
Score Éducation
Le score éducation mesure l'accès aux établissements scolaires et à la petite enfance en comparant chaque type d'établissement à sa moyenne nationale (même méthode que le score santé). Si aucun équipement éducatif n'est présent dans le bassin, le score est de 0/10. Poids dans le score global : 9%.
Calcul par bassin d'accessibilité
Les rayons varient selon le type d'établissement pour coller aux trajets réalistes. Les crèches, maternelles et écoles primaires sont des trajets quotidiens (rayon 10 km), les collèges et lycées acceptent une mobilité plus lointaine (rayon 20 km) et l'enseignement supérieur couvre un rayon de 50 km (déménagement ou trajet long).
Chaque ratio est calculé avec la population propre à son rayon (pop_bassin_maternelles, pop_bassin_colleges, etc.), ce qui évite de réutiliser le dénominateur des primaires pour tous les types.
Pondération sévère : dans la commune = 100% · < 20% du rayon = 50% · < 40% = 25% · < 70% = 10% · bord du rayon = 3%
Algorithme v3 - Score Éducation
Étape 1 : Calcul du ratio par type d'établissement
Pour chaque type (maternelles, primaires, collèges, lycées, supérieur, crèches), on calcule :
ratio = nb_établissements_bassin / population_bassin_± × 1 000
avec la construction APL et une population dédiée au rayon de ce type.
Étape 2 : Notation par comparaison à la moyenne nationale
Chaque type est noté individuellement :
0 établissement dans le bassin → 0/10
< 30% de la moyenne nationale → 2/10
30-50% → 4/10
50-70% → 5/10
70-90% → 6/10
90-100% → 7/10
100-120% → 8/10
120-150% → 9/10
> 150% → 10/10
Étape 3 : Score final pondéré
Score = Σ (score_type × poids_type)
Primaires × 22% (bassin 10 km, moy. 0.50 /1k hab)
Collèges × 20% (bassin 20 km, moy. 0.10 /1k hab)
Maternelles × 18% (bassin 10 km, moy. 0.18 /1k hab)
Lycées × 15% (bassin 20 km, moy. 0.08 /1k hab)
Crèches × 15% (bassin 10 km, moy. 0.24 /1k hab)
Supérieur × 10% (bassin 50 km, moy. 0.03 /1k hab)
Score final = 35% × Score_local + 65% × Score_bassin
Le bassin reflète mieux la réalité d'accès (capacité pour
tous les habitants), le local reste important (proximité).
Puis cap selon distance moyenne au plus proche équipement clé
(maternelles + primaires) :
Distance moyenne Cap appliqué
──────────────────────────────────
≤ 3 km pas de cap
3 – 5 km cap à 8/10
5 – 10 km cap à 6/10
10 – 20 km cap à 5/10
> 20 km cap à 3/10
⚠️ Si établissement absent du bassin = 0/10 pour ce type
⚠️ Si aucun équipement dans tous les bassins = 0/10 Cap distance — équipements clés
Le score final est cappé selon la distance moyenne au plus proche équipement clé (maternelles et écoles primaires). Ce mécanisme empêche une commune sans aucun équipement éducatif local d'obtenir un score élevé uniquement parce que le bassin environnant est bien doté.
Indicateurs pris en compte (BPE 2024)
Moyennes nationales (référence)
Chaque type d'établissement est noté en comparant le ratio de la commune à la moyenne nationale (calculée sur 35 000 communes, 72 millions d'habitants).
Score selon ratio vs moyenne nationale
Modèle APL — capacité du bassin
Le score tient compte de la capacité réelle du bassin, pas seulement de la présence d'équipements. Le ratio est calculé sur la population totale du bassin pondérée par distance : si les communes voisines sont déjà saturées, le score est plus bas. Le score final est le maximum entre le score local et le score bassin — une commune bien équipée localement n'est jamais pénalisée par ses voisines.
Labels affichés
Score Santé
Le score santé mesure l'accessibilité réelle aux soins en comparant le ratio de professionnels de santé pour 10 000 habitants aux moyennes nationales. Une commune est bien servie si elle atteint ou dépasse ces moyennes. Poids dans le score global : 13%.
Calcul par bassin d'accessibilité
On ne compte pas seulement les équipements de la commune, mais aussi ceux des communes voisines accessibles, pondérés par la distance. Un village sans médecin mais à 3 km d'une ville bien équipée n'est pas un désert médical.
Pondération sévère : dans la commune = 100% · < 20% du rayon = 50% · < 40% = 25% · < 70% = 10% · bord du rayon = 3%
Chaque ratio praticiens/pharmacies est calculé avec la population pondérée du bassin correspondant au type (ex. pop_bassin_pharmacies sur 10 km, pop_bassin_generalistes sur 20 km), pour éviter de réutiliser un seul dénominateur.
Score Santé = 35% × Score_local + 65% × Score_bassin Score_local = score sur praticiens de la commune / pop. commune Score_bassin = score sur praticiens du bassin / pop. du bassin (par type) Le bassin reflète mieux la réalité d'accès aux soins (capacité pour tous les habitants du bassin), le local reste important (proximité immédiate). Score Généralistes × 30% (ratio vs 9.0 / 10k hab) Score Spécialistes × 20% (ratio vs 11.5 / 10k hab) Score Dentistes × 15% (ratio vs 5.8 / 10k hab) Score Pharmacies × 15% (ratio vs 3.1 / 10k hab) Score Accès Hôpital × 20% (distance au plus proche) + Bonus Maternité +0.5 pt (si maternité dans la commune) - Malus Désert -1.0 pt (si < 2.5 généralistes / 10k hab, ratio généralistes) Puis cap selon distance moyenne au plus proche généraliste/pharmacie : Distance moyenne Cap appliqué ────────────────────────────────── ≤ 5 km pas de cap 5 – 10 km cap à 8/10 10 – 20 km cap à 6/10 20 – 30 km cap à 5/10 > 30 km cap à 3/10
Cap distance — soins de proximité
Le score final est cappé selon la distance moyenne au plus proche médecin généraliste et à la plus proche pharmacie. Ce mécanisme empêche une commune éloignée de tout soin de proximité d'obtenir un score élevé uniquement grâce à un bon bassin environnant.
Moyennes nationales (référence)
Score selon ratio vs moyenne nationale
Score accès hôpital (distance)
Source des données (BPE 2024)
INSEE BPE 2024 (Base Permanente des Équipements) - Recensement exhaustif des professionnels de santé : généralistes (D265), 22 spécialités médicales (D251-D262, D266-D276), dentistes (D277), pharmacies (D307), hôpitaux (D101), maternités (D107) et paramédicaux (D278-D281).
Détail des codes BPE
Spécialités D266-D276 : Cardiologie, dermatologie, gastro-entérologie, psychiatrie, ophtalmologie, ORL, pédiatrie, pneumologie, radiologie, stomatologie, gynécologie
Spécialités D251-D262 : Allergologie, anesthésie, chirurgie, endocrinologie, gériatrie, hématologie, neurologie, oncologie, rhumatologie, néphrologie
Paramédicaux D278-D281 : Sages-femmes, kinésithérapeutes, pédicures-podologues, infirmiers
Modèle APL — capacité du bassin
Le score tient compte de la capacité réelle du bassin : le ratio est calculé sur la population totale du bassin pondérée par distance. Si les communes voisines sont déjà saturées en patients, le score est plus bas. Le score final est le maximum entre le score local et le score bassin.
Labels affichés
Pour les hôpitaux et maternités, les labels sont basés sur la distance : Sur place · Proche (< 10 km) · Accessible (10-20 km) · Éloigné (20-35 km) · Très éloigné (> 35 km).
Score Commerces
Le score commerces v6 combine proximité (distance au commerce le plus proche) et capacité du bassin (ratio commerces / habitants dans le bassin géographique). Même approche que la santé et l'éducation : 35% score local + 65% score bassin, puis cap selon la distance aux commerces essentiels. Poids dans le score global : 7%.
Approche hybride (v6) : proximité + capacité
Le score local mesure la distance au commerce le plus proche (ce qui compte au quotidien). Le score bassin mesure la capacité : assez de commerces pour tous les habitants du bassin ? Un restaurant à 2 km c'est bien, mais s'il dessert 50 000 personnes, c'est moins convaincant. Les deux scores sont combinés : 35% local (proximité) + 65% bassin (capacité).
4 catégories à poids égaux (25% chacune)
Chaque catégorie utilise actuellement un bassin d'accessibilité de 15 km (alimentaire, non-alimentaire, restaurants, services), avec des tranches progressives (2 km, 5 km, 15 km) qui reflètent la proximité réelle. Plus un commerce est loin, moins il pèse dans le score.
Score Commerces v6 — Proximité + Capacité
══════════════════════════════════════════════════════════════════
Score final = 35% × Score_local + 65% × Score_bassin
SCORE LOCAL : distance au commerce le plus proche
──────────────────────────────────────────────────────────────────
Dans la commune → 10/10
≤ 2 km → 8/10
≤ 5 km → 6/10
≤ 10 km → 4/10
≤ 15 km → 2/10
Rien dans le rayon → 0/10
+ Bonus densité locale (si présence dans la commune) :
3-5 commerces locaux → +0.5 · 6-14 → +1.0 · 15+ → +1.5
(appliqué sur la base "proche ≤ 2 km", puis plafonné à 10/10)
SCORE BASSIN : ratio équipements / habitants du bassin
──────────────────────────────────────────────────────────────────
Équipements pondérés par distance / population pondérée × 1 000
Comparé aux moyennes nationales par catégorie :
Alimentaire moy. 1.8 / 1 000 hab bassin 15 km
Non-alimentaire moy. 2.5 / 1 000 hab bassin 15 km
Restaurants moy. 3.5 / 1 000 hab bassin 15 km
Services moy. 1.0 / 1 000 hab bassin 15 km
Tranches : 2 km · 5 km · 15 km (pondération sévère par distance)
Population du bassin calculée par catégorie (même si les rayons sont identiques aujourd'hui),
pour garder une logique homogène avec santé/éducation et permettre un recalibrage futur.
4 CATÉGORIES × 25% (poids égaux)
CAP DISTANCE (alimentaire + postes/banques) :
≤ 2 km → pas de cap · ≤ 5 km → cap 8 · ≤ 10 km → cap 6
≤ 15 km → cap 4 · > 15 km → cap 2 Barème de distance (par catégorie)
Bonus densité locale
Quand plusieurs commerces sont présents dans la commune, un bonus est ajouté pour refléter le choix et la concurrence locale. Ce bonus différencie les communes qui ont plusieurs commerces sur place par rapport à une simple présence locale.
Le score par catégorie est plafonné à 10/10 après application du bonus.
Commerces alimentaires (11 types - BPE 2024)
Commerces non-alimentaires (21 types - BPE 2024)
Restaurants & Services (BPE 2024)
Source des données
INSEE BPE 2024 (Base Permanente des Équipements) — Recensement exhaustif des équipements et commerces par commune. Les codes B1xx-B3xx correspondent aux commerces, A2xx aux services financiers et postaux, A504 aux restaurants. Les distances entre communes sont calculées en vol d'oiseau entre les centroïdes communaux.
Culture & Loisirs
Indicatif — non inclus dans le score globalCette section recense les équipements culturels et le patrimoine historique présents dans la commune. Les données sont purement informatives et ne participent pas au score global.
Équipements culturels
Nombre d'équipements culturels dans la commune, issus de la Base Permanente des Équipements (BPE) 2024 de l'INSEE.
Patrimoine — Monuments Historiques
Nombre d'édifices protégés au titre des Monuments Historiques, issus de la base Mérimée du Ministère de la Culture. Deux niveaux de protection existent :
Protection maximale — intérêt national. Toute modification soumise à autorisation du Ministère.
Protection intermédiaire — intérêt régional. Travaux soumis à déclaration préalable.
Sources des données
INSEE — Base Permanente des Équipements (BPE) 2024, codes F3xx (domaine culture).
Ministère de la Culture — Base Mérimée, liste des immeubles protégés au titre des Monuments Historiques (mise à jour hebdomadaire).
Connectivité
Indicatif — non inclus dans le score globalLa section connectivité mesure la couverture numérique de la commune.
Couverture fibre optique
Pourcentage de locaux éligibles à la fibre optique (FttH).
Source : ARCEP, Observatoire du haut et très haut débit (données trimestrielles).
Scoring : Le score connectivité (0-10) est directement proportionnel au taux de couverture fibre.
Couverture 5G
Nombre d'antennes 5G et distance à la plus proche.
Source : ANFR (Agence Nationale des Fréquences), base Cartoradio.
Note : La proximité d'antennes 5G est aussi évaluée comme indicateur de tranquillité
(pénalité potentielle si antenne <100m).
Sources des données
ARCEP — Observatoire du haut et très haut débit, couverture fibre FttH par commune.
ANFR — Base Cartoradio, antennes 5G géolocalisées.
Score Tranquillité
Le score de tranquillité mesure le niveau de calme et l'absence de stress urbain. Ce score évalue le bruit, l'agitation, la pression urbaine et les nuisances visuelles. Poids dans le score global : 5%.
Périmètre v10 (score additif par pénalités)
Le score tranquillité actuel (v10) additionne des pénalités de bruit, pression urbaine et nuisances
(densité, béton, bruit aérien/ferroviaire, routes, sites industriels, chantiers), puis applique un
malus éolien final. Certaines pénalités sont optionnelles et nécessitent des tables ETL
dédiées : routes_proximite (routes) et permis_construire (chantiers).
Si ces tables ne sont pas présentes, ces pénalités sont neutralisées (0).
La métrique "vie nocturne" (restaurants / 1 000 hab) reste visible pour compatibilité/lecture, mais n'entre plus dans le score tranquillité.
ALGORITHME V10 - Score en 2 étapes
══════════════════════════════════════════════════════════════════
ÉTAPE 1 : Score de base (pénalités cumulées)
──────────────────────────────────────────────────────────────────
Score_base = max(1, 10 - Σ Pénalités_base)
Pénalité Densité (max -2.5 pts) :
< 50 hab/km² : 0 (rural isolé)
50-200 hab/km² : -0.3 (rural)
200-500 hab/km² : -0.6 (péri-urbain)
500-1000 hab/km² : -1.0 (petite ville)
1000-2000 hab/km² : -1.4 (ville moyenne)
2000-5000 hab/km² : -1.8 (grande ville)
5000-10000 hab/km² : -2.2 (métropole)
> 10000 hab/km² : -2.5 (hyper-centre)
Pénalité Imperméabilisation (max -1.5 pts) :
< 5% : 0 (rural)
5-15% : -0.2 (rural mixte)
15-30% : -0.5 (péri-urbain)
30-50% : -1.0 (urbanisé)
> 50% : -1.5 (très bétonné)
Pénalité Bruit Aérien (max -2.0 pts) :
Zone D : -0.3 (gêne légère, 50-55 dB)
Zone C : -0.7 (gêne modérée, 55-65 dB)
Zone B : -1.3 (gêne forte, 65-70 dB)
Zone A : -2.0 (inconstructible, > 70 dB)
Pénalité Bruit Ferroviaire LGV (max -1.0 pt) :
> 2 km : 0 (négligeable)
1-2 km : -0.3 (modéré)
500m-1 km : -0.6 (significatif)
< 500m : -1.0 (fort + vibrations)
Pénalité Antennes 5G (max -0.5 pt) :
> 500m : 0 (aucun impact)
300-500m : -0.125
100-300m : -0.25
< 100m : -0.5 (très proche)
Pénalités Routes (max -1.2 pts cumulés) :
Autoroute traverse la commune : -0.8
Autoroute à < 2 km : -0.4
Autoroute à 2-5 km : -0.2
Nationale traverse la commune : -0.4
Pénalités industrielles (max -1.4 pts cumulés) :
ICPE industriels : jusqu'à -0.6
Site SEVESO : -0.5
Sites pollués : jusqu'à -0.3
Pénalité chantiers (Sitadel, max -0.5 pt) :
Permis / 1000 hab / an (lissé 3 ans) → jusqu'à -0.5
ÉTAPE 2 : Malus éolien (appliqué sur le score base)
──────────────────────────────────────────────────────────────────
Score_final = max(1, Score_base - Malus_éolien)
Malus Éoliennes (max -2.5 pts) :
< 1 km : -2.5 (bruit + visuel fort)
1-2 km : -1.5
2-5 km : -1.0 (visuel dominant)
5-10 km : -0.5 (visuel seul)
> 10 km : 0 (aucun impact) Pénalités principales (ordre de grandeur)
Exemples de scores
Score Risques Naturels
Le score de risques naturels évalue l'exposition de la commune aux aléas naturels selon les données officielles de Géorisques. Poids dans le score global : 18%.
ALGORITHME V6 - Score en 2 étapes
══════════════════════════════════════════════════════════════════
ÉTAPE 1 : Score algo (8 risques gradués, max 10 pts)
──────────────────────────────────────────────────────────────────
Score_algo = 10 - (total_pénalités / max_pénalités) × 9
TIER 1 - RISQUES CRITIQUES (max -4.5 pts)
─────────────────────────────────────────
Inondation (niveaux 0-3) :
Niveau 3 (critique): -2.0 → TRI, PPRI Approuvé, >3 CATNAT
Niveau 2 (élevé) : -1.0 → PPRI Prescrit, AZI
Niveau 1 (modéré) : -0.5 → 1 CATNAT en 10 ans
Séisme (zonage 1-5) :
Zone 5 (fort) : -1.5
Zone 4 (moyen) : -1.2
Zone 3 (modéré): -0.7
Zone 2 (faible): -0.3
Mouvement terrain (niveaux 0-3) :
Niveau 3 (élevé) : -1.0 → PPR Approuvé
Niveau 2 (modéré): -0.6 → PPR Prescrit
Niveau 1 (faible): -0.3 → CATNAT uniquement
TIER 2 - RISQUES GÉOLOGIQUES (max -2.5 pts)
───────────────────────────────────────────
Argile (niveaux 0-3) :
Niveau 3 (fort) : -1.0 → ≥50% surface exposée
Niveau 2 (moyen) : -0.6 → 20-50% surface
Niveau 1 (faible): -0.3 → <20% surface
Cavités souterraines (niveaux 0-2) :
Niveau 2 (élevé) : -0.8 → PPR Cavités
Niveau 1 (présent): -0.4 → Cavités recensées
Radon (catégories 1-3) :
Catégorie 3 (élevé): -0.7
Catégorie 2 (moyen): -0.3
Catégorie 1 (faible): 0
TIER 3 - RISQUES CLIMATIQUES (max -3.0 pts)
───────────────────────────────────────────
Stress Hydrique (niveaux 0-3) :
Niveau 3 (élevé) : -1.5 → >60 jours de restriction/an
Niveau 2 (modéré): -1.0 → 30-60 jours
Niveau 1 (faible): -0.5 → 10-30 jours
Sécheresse (niveaux 0-3) :
Niveau 3 (élevé) : -1.5 → >20 jours >35°C/an
Niveau 2 (modéré): -1.0 → 10-20 jours
Niveau 1 (faible): -0.5 → 1-10 jours
ÉTAPE 2 : Malus direct érosion côtière (hors algo)
──────────────────────────────────────────────────────────────────
Score_final = max(1, Score_algo - malus_érosion)
Érosion côtière (binaire) :
Commune concernée : -1.0 pt → Décret n°2024-531 (317 communes)
Non concernée : 0
Note : L'érosion côtière est un malus direct appliqué après le
calcul principal, car c'est un risque binaire (oui/non) qui ne
suit pas la logique graduée des autres risques.
⚠️ À ce jour, le malus érosion côtière n'est PAS encore appliqué.
Les données des 317 communes concernées (Décret n°2024-531) ne sont
pas encore intégrées dans la base. Implémentation prévue. Risques évalués (8 gradués + 1 malus direct)
Score Environnement
Le score environnement v7 évalue la qualité écologique du cadre de vie et les risques industriels à travers 9 indicateurs : 5 indicateurs de qualité (additifs) et 4 indicateurs de risques industriels (malus). La qualité de l'air et de l'eau sont les plus pondérées car elles impactent la santé au quotidien. Les risques industriels (SEVESO, nucléaire, BASOL, ICPE) sont des pénalités qui réduisent le score. Poids dans le score global : 11%.
Score Environnement v7 (unifié)
══════════════════════════════════════════════════════════════════
Score = clamp((total_additif + total_malus_ajustés) / available_additif_max × 10, 0, 10)
═══ INDICATEURS ADDITIFS (qualité = pts gagnés) ═══
Total max = 7.5 pts
QUALITÉ DE L'AIR ATMO (max 2.0 pts) :
Bon : 2.0 pts
Moyen : 1.0 pts
Dégradé : 0.4 pts
Mauvais : 0 pts
INCONNU : 1.0 pts (défaut neutre = Moyen)
QUALITÉ DE L'EAU ARS (max 2.0 pts) :
≥ 98% : 2.0 pts (Excellente)
95-97% : 1.5 pts (Bonne)
90-94% : 1.0 pts (Correcte)
< 90% : 0 pts (Dégradée)
INCONNUE : 1.5 pts (défaut neutre = Bonne)
ESPACES VERTS (max 1.5 pts) :
≥ 40% : 1.5 pts
20-39% : 1.2 pts
10-19% : 0.8 pts
< 10% : 0.4 pts
ESPACE NATUREL (max 1.0 pts) :
≥ 30% : 1.0 pts
10-29% : 0.7 pts
5-9% : 0.3 pts
< 5% : 0 pts
IMPERMÉABILISATION (max 1.0 pts, inversé) :
≤ 15% : 1.0 pts (rural/naturel)
15-25% : 0.8 pts
25-45% : 0.5 pts
> 45% : 0.2 pts
═══ MALUS INDUSTRIELS (risques = pts soustraits) ═══
Total max = -3.5 pts
SEVESO (max -1.0 pts) :
Site seuil haut : -0.5 par site
Site seuil bas : -0.25 par site
(plafonné à 1.0 pt)
CENTRALE NUCLÉAIRE (max -1.0 pts) :
< 5 km : -1.0 pts (zone critique)
5-10 km : -0.7 pts (zone proche)
10-20 km : -0.3 pts (zone PPI)
> 20 km : 0 pts
SITES POLLUÉS BASOL (max -0.75 pts) :
> 5 sites : -0.75 pts
3-5 sites : -0.5 pts
1-2 sites : -0.25 pts
0 site : 0 pts
ICPE AUTORISATIONS (max -0.75 pts) :
> 20 : -0.75 pts
10-20 : -0.5 pts
5-10 : -0.25 pts
< 5 : 0 pts
──────────────────────────────────────────────────────────────────
AJUSTEMENT DE COUVERTURE (v7)
──────────────────────────────────────────────────────────────────
Les malus industriels sont ajustés selon la couverture des
indicateurs additifs disponibles :
coverage_ratio = available_additif_max / 7.5
total_malus_ajustés = total_malus_bruts × coverage_ratio
Objectif : éviter qu'une commune avec peu de données additifs
(ex: seulement air + eau) subisse proportionnellement plus de
malus qu'une commune avec couverture complète.
⚠ Air/Eau NULL : valeur par défaut neutre (médiane nationale),
indicateur toujours INCLUS dans available_max.
⚠ Les malus industriels restent des pénalités (ils n'ajoutent
pas de dimensions au dénominateur), mais leur impact est
modulé par la couverture des additifs. 5 indicateurs additifs (max 7.5 pts)
4 malus industriels (max -3.5 pts)
Les risques industriels sont des pénalités soustraites du total additif. Ils n'affectent pas le dénominateur (available_max), ce qui signifie qu'une commune avec beaucoup de risques industriels peut descendre sous 5/10.
Formule de calcul
score = clamp((total_additif + total_malus_ajustés) / available_additif_max × 10, 0, 10)
available_additif_max = somme des poids additifs (indicateurs avec données + défauts)
total_additif = Σ points des 5 indicateurs qualité
total_malus_bruts = Σ malus des 4 indicateurs industriels (valeurs négatives)
coverage_ratio = available_additif_max / 7.5
total_malus_ajustés = total_malus_bruts × coverage_ratio
Exemple — commune avec air Bon, eau 99%, 30% verts, 15% naturel,
20% imperméabilisation, 1 site SEVESO seuil haut, pas de nucléaire :
Additif : 2.0 + 2.0 + 1.2 + 0.7 + 0.8 = 6.7 pts
Malus bruts : -0.5 (SEVESO) + 0 + 0 + 0 = -0.5 pts
coverage_ratio = 7.5 / 7.5 = 1.0
Malus ajustés = -0.5 × 1.0 = -0.5 pts
Score = (6.7 + -0.5) / 7.5 × 10 = 8.3/10 Traitement des données manquantes
Les indicateurs air et eau NULL reçoivent une valeur par défaut neutre (médiane nationale) et sont inclus dans available_max. Les indicateurs espaces verts, naturel et imperméabilisation NULL sont exclus du calcul (poids retiré d'available_max).
En complément, les malus industriels (SEVESO, nucléaire, BASOL, ICPE) sont proportionnés à la couverture des additifs pour éviter une sur-pénalisation relative des communes avec données environnementales partielles.
Note : Ce score unifie qualité écologique et risques industriels. Les anciens scores séparés « Environnement » et « Risques industriels » sont désormais fusionnés en un seul indicateur.
Fiabilité des données et repondération
Certaines données ne sont pas disponibles pour toutes les communes de France. Pour garantir l'équité du score, nous appliquons un algorithme de repondération qui recalcule le score uniquement sur les risques dont les données sont fiables.
Cavités souterraines
La base GASPAR de Géorisques ne couvre pas 42 départements (dont la Corse, les DOM-TOM, et certains départements du Nord et de l'Est). Dans ces zones, l'indicateur "Cavités" affiche N/C et n'est pas comptabilisé dans le score.
Sécheresse (jours > 35°C)
Les données de sécheresse proviennent des 9 500 stations Météo France. Lorsqu'aucune station n'est située à moins de 100 km de la commune (cas fréquent en Corse et dans les îles), l'indicateur affiche N/C et n'est pas comptabilisé.
Micro-communes (lissage bayésien asymétrique)
Les communes de moins de 300 habitants sont soumises à un ajustement statistique sur certains domaines (sécurité, santé, éducation, commerces, tranquillité, économie). Ce lissage ne s'applique que lorsque le score brut est inférieur à la moyenne nationale : il protège contre l'explosion des taux sur petit effectif (1 fait divers sur 50 habitants ferait un taux 20× supérieur à la réalité). En revanche, un bon score (ex : zéro délinquance) est conservé tel quel.
REPONDÉRATION AUTOMATIQUE ══════════════════════════════════════════════════════════════════ Principe : Quand un risque n'a pas de données fiables, il est exclu du calcul et le score est recalculé proportionnellement. Formule : ────────────────────────────────────────────────────────────────── penalty_ratio = total_pénalités / max_pénalités_possibles Score_algo = 10 - (penalty_ratio × 9) Score_final = max(1, Score_algo - malus_érosion) Exemple avec données complètes (8 risques) : ────────────────────────────────────────────────────────────────── Pénalités totales : 3.5 pts Max possible : 10 pts Ratio : 0.35 Score algo : 10 - (0.35 × 9) = 6.85/10 Malus érosion : 0 (non concernée) Score final : 6.85/10 Exemple avec érosion côtière (commune littorale) : ────────────────────────────────────────────────────────────────── Pénalités totales : 3.5 pts Max possible : 10 pts Score algo : 6.85/10 Malus érosion : -1.0 pt Score final : 5.85/10 Exemple avec cavités non fiables (7 risques) : ────────────────────────────────────────────────────────────────── Pénalités totales : 3.5 pts (cavités exclues) Max possible : 9.2 pts (10 - 0.8 max cavités) Ratio : 0.38 Score algo : 10 - (0.38 × 9) = 6.58/10 Résultat : Le score est ajusté mais reste comparable. Une commune sans données n'est ni avantagée ni pénalisée.
Note : L'affichage "N/C" (Non Communiqué) signifie qu'aucune donnée n'existe pour cette commune, ce qui est différent de "Aucun risque" (donnée existante confirmant l'absence de risque).
Données climatiques
Indicatif — non inclus dans le score globalLes données climatiques affichées sur chaque fiche commune (température moyenne, températures minimales et maximales, jours de gel, précipitations, vent) sont des indicateurs descriptifs. Elles ne contribuent pas au score global mais permettent de se projeter dans le cadre de vie.
En pratique, City Score utilise en priorité ERA5-Land (réanalyse, maille ~9 km) pour les indicateurs climatiques généraux, avec fallback Météo-France si nécessaire pour certains champs. Le nombre de jours de forte chaleur (> 35°C/an) reste issu de la chaîne stations Météo-France.
Score climat (indicatif, affichage de la fiche ville)
Le sous-bloc Climat affiche un score indicatif de confort climatique résidentiel (sur 10), calculé localement dans l'interface à partir des indicateurs disponibles. Ce score est indépendant du score global City Score et sert uniquement à synthétiser la lecture du bloc.
Les poids sont redistribués automatiquement entre les indicateurs disponibles (ex. nébulosité absente). Le score n'est affiché que si au moins 4 indicateurs sont présents. Les barèmes sont calibrés pour un confort résidentiel généraliste (climat tempéré vivable > climat très chaud avec canicules répétées), et non pour un usage agronomique ou un « climat idéal » universel.
Données climatiques — Source et méthodologie
══════════════════════════════════════════════════════════════════
SOURCE PRIMAIRE : ECMWF ERA5-Land (réanalyse climatique)
────────────────────────────────────────────────────────────────
ERA5-Land est le jeu de données de référence mondial produit par
le Centre Européen pour les Prévisions Météorologiques à Moyen
Terme (ECMWF). Il combine des observations réelles (stations,
satellites, radiosondages) avec un modèle atmosphérique pour
produire des données cohérentes sur une grille régulière.
Résolution spatiale : ~9 km (0.1° × 0.1°)
Résolution temporelle : horaire
Période utilisée : 2019-2023 (5 ans)
Variables extraites : température à 2m, précipitations,
vent à 10m
TRAITEMENT PAR COMMUNE
────────────────────────────────────────────────────────────────
Pour chaque commune (coordonnées lat/lon du centre) :
1. Identification de la cellule ERA5-Land la plus proche
2. Agrégation des données horaires sur 5 ans :
• temp_avg = moyenne annuelle de la température à 2m
• temp_min_avg = moyenne annuelle des minimales journalières
• temp_max_avg = moyenne annuelle des maximales journalières
• frost_days = nombre moyen de jours/an avec T_min < 0°C
• precipitation = cumul annuel moyen (mm)
• wind_avg = vitesse moyenne du vent à 10m (km/h)
CORRECTION D'ALTITUDE
────────────────────────────────────────────────────────────────
Problème : chaque cellule ERA5-Land a une altitude « modèle »
(orographie) qui peut différer de l'altitude réelle de la commune.
En montagne, l'écart atteint parfois > 1 000 m, ce qui fausse
les températures de plusieurs degrés.
Solution : correction par gradient thermique calibré.
Données utilisées :
• Orographie ERA5-Land (géopotentiel / 9.81 → altitude grille)
• Altitude réelle : API Open-Elevation (données SRTM)
Formule :
────────────────────────────────────────────────────
diff_altitude = altitude_grille - altitude_commune
correction = 4.8 × diff_altitude / 1000
temp_corrigée = temp_ERA5 + correction
────────────────────────────────────────────────────
Le gradient de 4.8°C/1000m est calibré empiriquement
sur des villes de référence (stations Météo-France) :
Ville ERA5 Corrigé Réel Erreur
──────────────────────────────────────────────────
Chamonix 0.6°C 6.8°C 6.7°C 0.1°C
Aiguilles 2.3°C 6.6°C 6.5°C 0.1°C
Briançon 3.9°C 6.9°C 6.8°C 0.1°C
Nice 16.1°C 16.1°C 16.1°C 0.0°C
Toulouse 14.9°C 14.9°C 13.5°C 1.4°C
Seuil minimum : les corrections < 0.5°C ne sont pas
appliquées (évite de dégrader les données en plaine).
Jours de gel : corrigés proportionnellement
(~25 jours en moins par °C de correction positive).
JOURS DE FORTE CHALEUR
────────────────────────────────────────────────────────────────
Source : Météo-France (réseau de 9 500+ stations)
Nombre de jours par an avec température maximale > 35°C.
Données distinctes d'ERA5, issues de mesures directes.
Rattachement à une station locale représentative (proxy
prudent pour la chaleur dans le secteur, parmi les stations
proches), distincte de la station climat générale. Indicateurs affichés
Pourquoi ERA5-Land + correction ?
La France compte ~600 stations Météo-France avec des normales climatiques complètes, mais City Score couvre 35 000 communes. Pour les communes sans station à proximité, deux approches sont possibles :
- • Interpolation spatiale (méthode Météo-France « AURELHY ») : utilise les stations + le relief comme covariable pour estimer les températures à ~1 km. Méthode propriétaire, non disponible en Open Data.
- • Réanalyse ERA5-Land + correction d'altitude (notre méthode) : même principe — données de base + correction par le relief — mais avec des données ouvertes. Le gradient de 4.8°C/1000m est calibré sur les mesures réelles de stations de référence, et donne une précision de ±0.2°C en zone de montagne et une précision exacte en plaine et sur le littoral.
Limites et précautions
- Résolution de la grille : ERA5-Land a une résolution de ~9 km. Les microclimats locaux (vallées encaissées, expositions nord/sud, effet de foehn) ne sont pas captés. Deux communes distantes de 5 km peuvent avoir des climats sensiblement différents.
- Îles et DOM-TOM : Les îles de petite superficie peuvent avoir une altitude de grille très différente de la réalité (la cellule moyenne la mer et la terre). Les corrections sont plus incertaines dans ces cas.
- Période 2019-2023 : Les moyennes sur 5 ans reflètent le climat récent mais ne constituent pas des « normales climatiques » au sens de l'OMM (qui requiert 30 ans). Elles peuvent être influencées par des années exceptionnelles.
Sources des données
ECMWF ERA5-Land — Réanalyse climatique haute résolution, Copernicus Climate Change Service.
Muñoz Sabater, J. (2019). ERA5-Land hourly data from 2001 to present. doi:10.24381/CDS.E2161BAC
Open-Elevation API — Altitudes SRTM pour la correction orographique.
Météo-France — Données de stations (jours de forte chaleur, sécheresse).
Sources des données
Toutes nos données proviennent de sources officielles et publiques (Open Data).
Géorisques
Ministère de la Transition Écologique
Risques naturels, SEVESO, zonages
Ministère de l'Intérieur
data.gouv.fr
Statistiques de délinquance communales
INSEE - BPE
Base Permanente des Équipements
Services, commerces, santé, éducation
DVF - Etalab
Demandes de Valeurs Foncières
Prix immobiliers médians
INSEE SIRENE
Répertoire national des entreprises
Créations d'entreprises, dynamisme économique
INSEE Recensement
Base CC Emploi-Population active
Chômage, activité, emploi par commune
SNCF Open Data
data.sncf.com
Gares, tracés LGV, fréquentation
Météo France
9 500+ stations météo
Jours de forte chaleur, sécheresse
ECMWF ERA5-Land
Copernicus Climate Change Service
Températures, précipitations, vent (réanalyse ~9 km)
ANFR
Agence Nationale des Fréquences
Antennes 5G, installations radioélectriques
Mise à jour des données
Les données sont mises à jour régulièrement selon la disponibilité des sources officielles. Dernière mise à jour : Janvier 2026
Glossaire
Risques naturels
| TRI | Territoire à Risque Important d'inondation |
| PPRI | Plan de Prévention des Risques Inondation |
| AZI | Atlas des Zones Inondables |
| CATNAT | Arrêtés de catastrophe naturelle |
| Radon | Gaz radioactif naturel (3 niveaux) |
| Argile | Retrait-gonflement des sols argileux |
| Érosion côtière | Recul du trait de côte (317 communes) |
Climat
| Sécheresse | Jours > 35°C par an (Météo France) |
| Stress hydrique | Restrictions d'eau (VigiEau) |
| Canicule | Épisodes de chaleur extrême |
Environnement
| SEVESO | Sites industriels à risque majeur |
| BASOL | Base des sites et sols pollués |
| Zone PPI | Périmètre 20 km centrales nucléaires |
| Qualité eau | Conformité sanitaire ARS |
| ATMO | Indice qualité air (bon à mauvais) |
| Urbanisation | Niveau de saturation (1-5) |
Tranquillité
| Densité | Habitants par km² (stress urbain) |
| Imperméabilisation | % de sols bétonnés |
| PEB | Zones bruit aéroports (A-B-C-D) |
| LGV | Bruit lignes grande vitesse |
| Antennes 5G | Relais téléphoniques 5G (ANFR) |
| Éoliennes | Impact visuel et sonore (malus) |
Immobilier
| DVF | Prix de vente réels (Etalab) |
| Prix médian | Valeur centrale du marché local (€/m²) |
| Score national | Interpolation sur table de prix absolus |
| Ajustement local | Bonus/malus vs médiane département (±0.7) |
Économie
| SIRENE | Répertoire national des entreprises (INSEE) |
| Taux de création | Entreprises créées pour 1 000 habitants |
| Taux de chômage | Part des actifs au chômage (Recensement) |
| Lissage bayésien | Correction statistique pour micro-communes |
Sources
| Géorisques | Portail officiel risques naturels |
| BPE | Base Permanente des Équipements |
| INSEE | Institut National de la Statistique |
| SSMSI | Service Statistique Ministériel Sécurité Intérieure |
Transparence
Une question sur notre méthodologie ?
Notre objectif est la transparence totale. Si vous avez des suggestions d'amélioration ou des questions, n'hésitez pas à nous contacter.