Prix immobiliers en France en 2025 : pipeline, audit et tableau de bord
Des données publiques, toute la méthode : 3,8 millions de lignes de mutations immobilières transformées en pipeline contrôlé, en jeu de données audité et documenté aux normes DDI, et en tableau de bord interactif.
- Rôle
- Conception et réalisation de bout en bout
- Période
- Novembre 2026
- Statut
- Démonstration
- Contexte
- Jeu de données public : Demandes de valeurs foncières (DVF), DGFiP, 2025 · Licence Ouverte 2.0
Chiffres d'ingénierie
- 3 793,113lignes lues et comptées
- 1 354,095mutations reconstituées sans identifiant dans le fichier
- 732 164ventes de logements retenues pour les prix
- 10règles qualité, chacune avec son décompte publié
Tableau de bord interactif
Les prix des logements en 2025, département par département.
Choisissez un territoire et un type de logement : chiffres, graphiques et tableaux suivent. Uniquement des agrégats, calculés par le pipeline décrit plus bas.
Un rapport interactif conçu comme un rapport Power BI : des pages, un volet de filtres valable sur toutes les pages, le filtrage croisé en cliquant sur un visuel, l'extraction vers une page de détail. C'est une reproduction web écrite en code pour ce site, sur les mêmes agrégats.
- Ventes de logements retenues
- 732 164
- Appartements, prix médian au m²
- 3 370 €/m²
- Maisons, prix médian au m²
- 2 200 €/m²
- Mutations enregistrées en 2025
- 1 354 095
Le rapport interactif a besoin de JavaScript ; voici les chiffres clés et le tableau par département.
| Département | Appartements : ventes | Appartements : médiane | Maisons : ventes | Maisons : médiane |
|---|---|---|---|---|
| 01 Ain | 3 042 | 2 760 €/m² | 4 229 | 2 520 €/m² |
| 02 Aisne | 624 | 1 330 €/m² | 4 382 | 1 240 €/m² |
| 03 Allier | 1 189 | 1 300 €/m² | 2 526 | 1 180 €/m² |
| 04 Alpes-de-Haute-Provence | 1 371 | 2 160 €/m² | 1 385 | 2 550 €/m² |
| 05 Hautes-Alpes | 2 136 | 2 960 €/m² | 856 | 2 850 €/m² |
| 06 Alpes-Maritimes | 18 841 | 4 880 €/m² | 2 269 | 5 330 €/m² |
| 07 Ardèche | 970 | 1 580 €/m² | 2 488 | 2 130 €/m² |
| 08 Ardennes | 461 | 1 150 €/m² | 2 135 | 1 300 €/m² |
| 09 Ariège | 340 | 1 570 €/m² | 1 757 | 1 470 €/m² |
| 10 Aube | 1 258 | 1 520 €/m² | 2 142 | 1 530 €/m² |
| 11 Aude | 2 130 | 2 370 €/m² | 4 585 | 1 790 €/m² |
| 12 Aveyron | 988 | 1 930 €/m² | 2 075 | 1 490 €/m² |
| 13 Bouches-du-Rhône | 16 969 | 3 370 €/m² | 7 377 | 4 060 €/m² |
| 14 Calvados | 4 475 | 3 270 €/m² | 4 695 | 2 550 €/m² |
| 15 Cantal | 466 | 1 370 €/m² | 1 155 | 1 270 €/m² |
| 16 Charente | 389 | 1 610 €/m² | 3 476 | 1 360 €/m² |
| 17 Charente-Maritime | 2 499 | 3 980 €/m² | 7 899 | 2 650 €/m² |
| 18 Cher | 586 | 1 480 €/m² | 2 711 | 1 180 €/m² |
| 19 Corrèze | 677 | 1 610 €/m² | 1 941 | 1 390 €/m² |
| 2A Corse-du-Sud | 1 234 | 4 150 €/m² | 491 | 4 380 €/m² |
| 2B Haute-Corse | 1 332 | 3 190 €/m² | 602 | 3 260 €/m² |
| 21 Côte-d'Or | 3 740 | 2 610 €/m² | 3 340 | 2 230 €/m² |
| 22 Côtes-d'Armor | 1 625 | 2 280 €/m² | 5 596 | 2 000 €/m² |
| 23 Creuse | 85 | 910 €/m² | 1 424 | 800 €/m² |
| 24 Dordogne | 721 | 1 670 €/m² | 3 454 | 1 540 €/m² |
| 25 Doubs | 3 570 | 2 200 €/m² | 2 658 | 2 050 €/m² |
| 26 Drôme | 2 642 | 1 920 €/m² | 3 274 | 2 470 €/m² |
| 27 Eure | 1 026 | 1 950 €/m² | 3 918 | 1 930 €/m² |
| 28 Eure-et-Loir | 1 075 | 2 150 €/m² | 3 308 | 1 860 €/m² |
| 29 Finistère | 3 923 | 2 290 €/m² | 7 481 | 2 170 €/m² |
| 30 Gard | 3 729 | 2 370 €/m² | 5 245 | 2 600 €/m² |
| 31 Haute-Garonne | 9 969 | 2 970 €/m² | 7 131 | 2 770 €/m² |
| 32 Gers | 343 | 1 600 €/m² | 1 683 | 1 560 €/m² |
| 33 Gironde | 8 767 | 3 650 €/m² | 10 971 | 3 230 €/m² |
| 34 Hérault | 11 075 | 3 480 €/m² | 7 891 | 3 010 €/m² |
| 35 Ille-et-Vilaine | 5 730 | 3 400 €/m² | 6 843 | 2 500 €/m² |
| 36 Indre | 231 | 1 210 €/m² | 2 203 | 1 050 €/m² |
| 37 Indre-et-Loire | 2 618 | 2 660 €/m² | 3 970 | 2 240 €/m² |
| 38 Isère | 8 961 | 2 580 €/m² | 5 947 | 2 780 €/m² |
| 39 Jura | 1 066 | 1 640 €/m² | 1 696 | 1 730 €/m² |
| 40 Landes | 2 081 | 3 290 €/m² | 3 817 | 2 640 €/m² |
| 41 Loir-et-Cher | 562 | 1 770 €/m² | 2 531 | 1 500 €/m² |
| 42 Loire | 4 578 | 1 320 €/m² | 3 517 | 2 050 €/m² |
| 43 Haute-Loire | 564 | 1 510 €/m² | 1 693 | 1 430 €/m² |
| 44 Loire-Atlantique | 7 436 | 3 310 €/m² | 10 106 | 2 940 €/m² |
| 45 Loiret | 2 413 | 2 180 €/m² | 4 326 | 1 880 €/m² |
| 46 Lot | 255 | 1 550 €/m² | 1 490 | 1 530 €/m² |
| 47 Lot-et-Garonne | 665 | 1 530 €/m² | 2 668 | 1 480 €/m² |
| 48 Lozère | 128 | 1 530 €/m² | 578 | 1 500 €/m² |
| 49 Maine-et-Loire | 2 455 | 2 780 €/m² | 5 815 | 2 080 €/m² |
| 50 Manche | 919 | 2 390 €/m² | 4 252 | 1 950 €/m² |
| 51 Marne | 2 742 | 2 360 €/m² | 3 436 | 1 930 €/m² |
| 52 Haute-Marne | 209 | 1 180 €/m² | 1 518 | 950 €/m² |
| 53 Mayenne | 550 | 1 970 €/m² | 2 993 | 1 510 €/m² |
| 54 Meurthe-et-Moselle | 3 823 | 1 960 €/m² | 4 707 | 1 890 €/m² |
| 55 Meuse | 213 | 1 120 €/m² | 1 583 | 1 070 €/m² |
| 56 Morbihan | 3 015 | 3 340 €/m² | 6 232 | 2 610 €/m² |
| 58 Nièvre | 440 | 1 050 €/m² | 2 240 | 1 000 €/m² |
| 59 Nord | 7 624 | 2 800 €/m² | 20 847 | 1 910 €/m² |
| 60 Oise | 2 176 | 2 280 €/m² | 5 751 | 2 210 €/m² |
| 61 Orne | 344 | 1 210 €/m² | 2 148 | 1 320 €/m² |
| 62 Pas-de-Calais | 2 714 | 2 400 €/m² | 12 155 | 1 670 €/m² |
| 63 Puy-de-Dôme | 3 145 | 2 140 €/m² | 4 547 | 1 820 €/m² |
| 64 Pyrénées-Atlantiques | 5 626 | 3 500 €/m² | 3 124 | 2 500 €/m² |
| 65 Hautes-Pyrénées | 1 672 | 1 820 €/m² | 1 725 | 1 750 €/m² |
| 66 Pyrénées-Orientales | 4 530 | 2 400 €/m² | 5 054 | 2 540 €/m² |
| 69 Rhône | 15 858 | 3 790 €/m² | 4 506 | 3 570 €/m² |
| 70 Haute-Saône | 407 | 1 090 €/m² | 1 782 | 1 140 €/m² |
| 71 Saône-et-Loire | 1 650 | 1 450 €/m² | 3 957 | 1 500 €/m² |
| 72 Sarthe | 1 312 | 1 850 €/m² | 4 559 | 1 610 €/m² |
| 73 Savoie | 5 751 | 3 880 €/m² | 1 972 | 3 250 €/m² |
| 74 Haute-Savoie | 10 005 | 4 480 €/m² | 3 557 | 4 560 €/m² |
| 75 Paris | 27 907 | 9 780 €/m² | 149 | 13 110 €/m² |
| 76 Seine-Maritime | 5 966 | 2 270 €/m² | 7 448 | 2 110 €/m² |
| 77 Seine-et-Marne | 6 335 | 3 380 €/m² | 7 565 | 2 950 €/m² |
| 78 Yvelines | 8 292 | 3 990 €/m² | 5 778 | 3 790 €/m² |
| 79 Deux-Sèvres | 450 | 1 780 €/m² | 3 930 | 1 370 €/m² |
| 80 Somme | 1 200 | 2 550 €/m² | 4 734 | 1 650 €/m² |
| 81 Tarn | 721 | 1 970 €/m² | 2 902 | 1 580 €/m² |
| 82 Tarn-et-Garonne | 621 | 1 880 €/m² | 1 911 | 1 790 €/m² |
| 83 Var | 12 871 | 3 810 €/m² | 5 699 | 4 180 €/m² |
| 84 Vaucluse | 2 518 | 2 240 €/m² | 3 618 | 2 850 €/m² |
| 85 Vendée | 1 897 | 3 330 €/m² | 7 969 | 2 400 €/m² |
| 86 Vienne | 1 084 | 2 120 €/m² | 3 491 | 1 460 €/m² |
| 87 Haute-Vienne | 1 391 | 1 520 €/m² | 2 676 | 1 410 €/m² |
| 88 Vosges | 1 193 | 1 380 €/m² | 2 379 | 1 350 €/m² |
| 89 Yonne | 660 | 1 480 €/m² | 2 972 | 1 380 €/m² |
| 90 Territoire de Belfort | 848 | 1 280 €/m² | 657 | 1 670 €/m² |
| 91 Essonne | 6 504 | 2 980 €/m² | 5 984 | 3 330 €/m² |
| 92 Hauts-de-Seine | 16 447 | 6 480 €/m² | 2 126 | 7 280 €/m² |
| 93 Seine-Saint-Denis | 9 069 | 4 100 €/m² | 3 515 | 3 840 €/m² |
| 94 Val-de-Marne | 10 705 | 4 780 €/m² | 3 068 | 4 820 €/m² |
| 95 Val-d'Oise | 5 974 | 3 300 €/m² | 5 328 | 3 510 €/m² |
| 971 Guadeloupe | 854 | 3 510 €/m² | 832 | 2 850 €/m² |
| 972 Martinique | 885 | 3 040 €/m² | 650 | 2 490 €/m² |
| 973 Guyane | 319 | 2 830 €/m² | 401 | 2 700 €/m² |
| 974 La Réunion | 2 090 | 2 880 €/m² | 2 451 | 2 830 €/m² |
Données ouvertes et documentation
La table publiée, documentée aux normes DDI.
Les indicateurs par département forment une table ouverte, décrite par un fichier DDI-Codebook 2.5 (libellés bilingues, statistiques descriptives, dérivations) qu'un catalogue NADA peut importer, et par une notice Dublin Core.
- Indicateurs par département (CSV, 194 lignes)
- Documentation DDI-Codebook 2.5 (XML)
- Notice Dublin Core (XML)
Source : Demandes de valeurs foncières (DVF), DGFiP, 2025, Licence Ouverte 2.0. Conditions de réutilisation (article R112 A-3 du Livre des procédures fiscales) : ni réidentification des personnes, ni indexation des données. Seuls des agrégats sont affichés ; chaque statistique de prix repose sur au moins 11 ventes.
Du fichier DVF au tableau de bord
Chaque couche est contrôlée avant l'écriture de la suivante. Seuls des agrégats sont publiés.
-
01 · Source
- Archive DVF 20253,8 M de lignes, 43 colonnes
-
02 · Bronze
- Archive inchangéeSHA-256, contrat de colonnes
-
03 · Silver
- Règles de ligneQuarantaine, doublons
- Lignes typéesMutations reconstituées
-
04 · Gold
- Règles de venteSurfaces, score z robuste
- Schéma en étoileConservé en local, prêt pour Power BI
-
05 · Publication
- Agrégats11 ventes ou plus
- Tableau de bord, table ouverte, DDIDocumentés, téléchargeables
01Synthèse
Une mission complète, menée sur des données publiques pour que chaque étape puisse être montrée : le fichier 2025 des mutations immobilières de la DGFiP (DVF), 3,8 millions de lignes, transformé en pipeline contrôlé, en jeu de données audité, en documentation DDI et en tableau de bord ci-dessus.
Les livrables sont ceux d'une mission client : un pipeline en couches avec un catalogue de règles, un rapport qualité qui explique ce qu'il écarte, une table ouverte documentée aux normes internationales et un tableau de bord que chacun peut interroger. Chaque chiffre est recalculable : le code, l'empreinte du fichier source et le journal d'exécution sont conservés.
02Problématique
- Pas d'identifiant de vente : une vente s'étale sur plusieurs lignes (une par local ou parcelle) qu'il faut regrouper.
- La valeur foncière est répétée sur chaque ligne d'une vente : l'additionner gonfle les montants.
- 301 443 lignes sont strictement identiques à une autre, et aucun identifiant de local ne distingue un doublon d'une seconde dépendance identique.
- Valeurs symboliques, surfaces absentes et prix au m² aberrants faussent toute moyenne.
- Les données concernent des personnes : la réutilisation ne doit permettre ni réidentification ni indexation par les moteurs de recherche.
03Pipeline et traitements
- Bronze : l'archive est conservée telle quelle, avec son empreinte SHA-256, sa taille, son nombre de lignes et la vérification des 43 colonnes attendues. Les colonnes d'adresse, de parcelle et de lots ne sont jamais lues.
- Silver : valeurs typées, codes communes INSEE (outre-mer compris), lignes en double mises de côté, quarantaine avec le motif de chaque rejet, mutations reconstituées à partir de la date, de la nature, de la valeur, de la commune et de la disposition.
- Gold : un schéma en étoile prêt pour Power BI (faits de vente, faits de mutation, dimensions commune, département et date), conservé sur la machine de traitement.
- Publication : uniquement des agrégats, chaque statistique de prix reposant sur au moins 11 ventes et une médiane communale sur au moins 30 ; une table ouverte par département ; un rapport qualité et un journal d'exécution. Le traitement complet prend environ 50 secondes.
04Qualité et validation des données
Dix règles, chacune avec un identifiant, un niveau (fichier, ligne, mutation, vente) et une action : arrêt, quarantaine, mise de côté, exclusion des prix ou signalement pour examen. Leurs résultats sont publiés avec le tableau de bord : 301 443 lignes en double mises de côté, 21 076 mutations sans valeur exploitable, 447 surfaces absentes ou invraisemblables.
Les valeurs aberrantes sont détectées par un score z robuste sur le logarithme du prix au m², dans chaque département et chaque type de logement : un appartement à 9 000 €/m² est ordinaire à Paris et exceptionnel dans la Creuse. La médiane et l'écart absolu médian résistent aux valeurs aberrantes qu'ils recherchent. 14 727 ventes (2,0 % des ventes simples) sont écartées ainsi ; 4 614 autres, à plus d'un facteur 3 de la médiane de leur commune, sont signalées pour examen par une personne, pas supprimées.
05Sécurité et gouvernance
- Minimisation : adresses, parcelles cadastrales et numéros de lots ne sont jamais chargés en mémoire.
- Les tables au niveau de la vente restent sur la machine de traitement : rien de plus fin qu'un agrégat ne sort du pipeline.
- Contrôle de la divulgation : aucune statistique de prix sous 11 ventes, aucune médiane communale sous 30 ventes, valeurs arrondies à 10 euros.
- Aucune requête vers un tiers : les graphiques sont dessinés par le code du site, sous une politique de sécurité stricte.
06Technologies
- Python
- pandas
- NumPy
- DDI-Codebook 2.5
- Dublin Core
- TypeScript
- SVG
07Décisions d'ingénierie
-
La médiane plutôt que la moyenne
- Choix
- Publier le prix médian au m² et ses quartiles.
- Pourquoi
- Les prix sont asymétriques : quelques ventes exceptionnelles déplacent une moyenne bien plus qu'une médiane.
-
Un seuil local pour les valeurs aberrantes
- Choix
- Score z robuste par département et type, avec les paramètres nationaux pour les groupes de moins de 30 ventes.
- Pourquoi
- Un seuil national unique signalerait une bonne partie de Paris et manquerait les valeurs aberrantes rurales.
-
Uniquement des agrégats
- Choix
- Ne publier aucune vente individuelle ni aucune statistique de prix sous 11 ventes.
- Pourquoi
- Les conditions de réutilisation de DVF interdisent la réidentification, et une médiane de deux ventes révèle un prix.
-
Des graphiques sans bibliothèque
- Choix
- Dessiner les graphiques avec un petit module partagé par le serveur et le navigateur.
- Pourquoi
- Aucun script tiers sous la politique de sécurité du site, un premier affichage sans JavaScript, et les mêmes chiffres dans les deux rendus.
08Limites
- Une mutation est reconstituée à partir de ses valeurs : deux ventes identiques le même jour dans la même commune sont fusionnées, et une mutation sur plusieurs communes est scindée.
- Le prix des maisons inclut le terrain.
- Les ventes en l'état futur d'achèvement décrivent souvent mal le logement et sont sous-représentées parmi les ventes simples.
- Le Bas-Rhin, le Haut-Rhin, la Moselle et Mayotte ne sont pas couverts par DVF.
- La vue interactive repose sur des agrégats : elle ne descend jamais sous la commune.