SPB Git

Phase 2 : architecture détaillée, générateur de données synthétiques (provisoire), annexe des conventions de calcul

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed (Oct 31, 2026) parent aec5b3a Browse files

29 changed files +3,837 −1

added ARCHITECTURE.md +173 −0
@@ -0,0 +1,173 @@
1+# ARCHITECTURE.md — Plan détaillé de l'ouvrage (phase 2)
2+
3+Chaque fiche précise : sections, équations clés (à dériver), figures (F), tableaux (T), données (D), exercices (E), dépendances. Les cas synthétiques (§0) alimentent les exemples de toute la partie méthodologique pour que les chiffres se répondent d'un chapitre à l'autre. Cible globale : ≈ 1 000 pages, 200 figures, 250 tableaux, 400 équations, 100+ exercices.
4+
5+## 0. Dossiers de cas synthétiques (générés par `analysis/python/cases/generate_all.py`, graine 20261031)
6+
7+| Dossier | Fichiers `data/synthetic/` | Contenu | Calibration (`calibration.json`) |
8+|---|---|---|---|
9+| Cas 1 — maison unifamiliale, Gatineau (secteur Hull, quartier Val-Tétreau fictif) | `cas1_gatineau_sujet.json`, `cas1_gatineau_ventes.csv` (≈ 600 ventes 2023-2026, 5 secteurs), `cas1_gatineau_couts.csv` (devis par composantes) | superficie habitable, terrain, âge, qualité, garage, sous-sol, piscine, date de vente, coordonnées (lat/long synthétiques autour de Gatineau), rôle | prix médian unifamiliale RMR Gatineau (APCIQ), indice de prix, taux de taxe Gatineau, IPCB Montréal |
10+| Cas 2 — triplex, Québec (Limoilou) | `cas2_quebec_sujet.json`, `cas2_quebec_ventes_plex.csv` (≈ 250 ventes de 2-3 logements), `cas2_quebec_loyers.csv` | loyers par logement, baux, dépenses, caractéristiques | prix médian plex RMR Québec, loyers SCHL Québec (2 ch.), taux d'inoccupation, taxes Québec |
11+| Cas 3 — 12 logements, Montréal (Rosemont) | `cas3_montreal_etat_locatif.csv` (12 baux), `cas3_montreal_depenses.csv` (3 ans d'historique), `cas3_montreal_comparables.csv` (≈ 40 ventes 6-30 logements), `cas3_montreal_hypotheses_dcf.json` | état locatif, échéances, loyers de marché, dépenses, CAPEX planifiés, financement | loyers SCHL Montréal, taux d'inoccupation, taux de capitalisation publiés (CBRE/Altus), taux hypothécaires, taxes Montréal, pourcentages TAL |
12+| Cas 4 — portefeuille interrégional | `cas4_portefeuille.csv` (48 immeubles, 6 RMR), `cas4_portefeuille_series.csv` (RNE trimestriel 2016-2026) | RNE, valeur, taux, coordonnées, risques (inondation, sol, âge), dette | SCHL par RMR, Statistique Canada, cadre inondations 2026 |
13+
14+Toutes les variables sont tirées de lois déclarées (`data/synthetic/README.md`) ; les paramètres non sourcés sont marqués `NON_VERIFIE`.
15+
16+## Partie I — Fondements économiques
17+
18+### Ch. 1 Théorie de la valeur et prix immobiliers
19+Sections : 1.1 Valeur, prix, coût : trois notions ; 1.2 Utilité, rareté, désirabilité, pouvoir d'achat ; 1.3 Principes d'évaluation (substitution, anticipation, contribution, équilibre, conformité, rendements décroissants, PHMU) ; 1.4 Le bien immobilier comme panier d'attributs (Lancaster) et comme actif (flux) ; 1.5 Prix d'équilibre et dispersion : pourquoi deux biens identiques se vendent à des prix différents (recherche, appariement, liquidité) ; 1.6 Valeur marchande comme espérance conditionnelle : $V = \E[P \mid X, t]$ ; 1.7 Biais comportementaux (ancrage) et conséquences pour l'évaluateur. Éq. : utilité marginale et prix implicite ; $P = \sum$ contributions ; dispersion $\sigma_P$. F : prix vs valeur (nuage + droite), dispersion des prix pour biens identiques (simulation étiquetée). T : principes et leurs implications. E : 6. Dépend : notes-D.
20+
21+### Ch. 2 Droits immobiliers et bases de valeur
22+2.1 Faisceau de droits (propriété, démembrements, servitudes, baux) ; 2.2 Droit évalué : pleine propriété vs droit du locateur (leased fee) vs droit du locataire ; 2.3 Bases de valeur : valeur marchande (OEAQ/CUSPAP/IVS : textes comparés), valeur au rôle (LFM art. 43-46), valeur d'investissement, valeur équitable, valeur de liquidation, valeur assurable, valeur d'usage ; 2.4 Prix vs valeur vs coût ; 2.5 Hypothèses, conditions limitatives, hypothèses extraordinaires ; 2.6 Date d'évaluation et date de référence au marché. Éq. : valeur du droit du locateur $= \sum$ loyers contractuels actualisés $+$ réversion ; valeur du bail au locataire $= \sum (L_{marché}-L_{contrat})/(1+r)^t$. F : schéma du faisceau de droits ; chronologie des dates (TikZ). T : définitions comparées (OEAQ, IVS 104, CUSPAP, LFM) avec source et date. E : 6. Dépend : notes-A, notes-C.
23+
24+### Ch. 3 Offre, demande et cycles
25+3.1 Stock, flux et ajustement lent ; 3.2 Modèle des quatre quadrants (DiPasquale–Wheaton) ; 3.3 Élasticités de l'offre et contraintes (Saiz) ; 3.4 Cycles : mises en chantier, inoccupation naturelle, prix ; 3.5 Taux d'intérêt, coût d'usage (Poterba) et prix ; 3.6 Indicateurs d'alerte (ratio prix/loyer, prix/revenu, mois d'inventaire). Éq. : $R = f(S)$, $P = R/i$, $C = g(P)$, $\Delta S = C - \delta S$ ; coût d'usage $u = P(i + \tau + \delta - g)$. F : quatre quadrants ; cycle simulé ; prix/loyer Québec (données réelles Statistique Canada/SCHL si disponibles). T : élasticités publiées. E : 6.
26+
27+### Ch. 4 Marchés résidentiels québécois
28+4.1 Structure du parc (recensement 2021 : types, âge, mode d'occupation) ; 4.2 Régions et RMR (Montréal, Québec, Gatineau, Sherbrooke, Trois-Rivières, Saguenay) ; 4.3 Prix et loyers : séries publiques (APCIQ, SCHL, Statistique Canada IPLN) ; 4.4 Particularités : plex, copropriété, 1er juillet, encadrement des loyers, taxe de bienvenue ; 4.5 Acteurs (courtiers OACIQ, évaluateurs OEAQ, notaires, prêteurs, SCHL) ; 4.6 Cycle 2000-2026 au Québec. F : cartes des RMR (geopandas, limites simplifiées synthétiques ou Statistique Canada si libres), séries de prix et loyers (données réelles téléchargées, `data/raw`), structure du parc. T : indicateurs par RMR avec sources/dates. E : 5. Dépend : notes-E, data/raw.
29+
30+### Ch. 5 Économie urbaine et rente foncière
31+5.1 Rente différentielle (Ricardo, von Thünen) ; 5.2 Modèle monocentrique (Alonso–Muth–Mills) : gradient de rente et de densité ; 5.3 Rente résiduelle et valeur du terrain ($V_L = V - C$) ; 5.4 Aménités, externalités, capitalisation (Oates) ; 5.5 Polycentrisme et accessibilité (Montréal, Québec) ; 5.6 Taxe foncière et capitalisation. Éq. : $R(d) = R_0 - t d$ ; condition d'équilibre spatial ; capitalisation d'une taxe $\Delta V = -\Delta T / (r)$. F : gradient simulé ; surface de rente 3D ; données cas 1 par distance au centre. E : 6.
32+
33+## Partie II — Droit, fiscalité et normes
34+
35+### Ch. 6 Code civil et droit immobilier
36+6.1 Biens, immeubles, propriété (C.c.Q. 899-953) ; 6.2 Modalités : indivision, copropriété divise (renvoi ch. 7), propriété superficiaire ; 6.3 Démembrements : usufruit, usage, servitude, emphytéose ; 6.4 Vente : obligations, garantie de qualité, vices cachés (1726), déclarations du vendeur (OACIQ) ; 6.5 Hypothèques (2660 et s.) et rang ; 6.6 Louage et bail de logement (vue d'ensemble, renvoi ch. 26, 34) ; 6.7 Publicité des droits et registre foncier ; 6.8 Conséquences pour l'évaluateur : quel droit, quelles charges, quelles vérifications. T : matrice des dispositions (extraite de `sources/normes-A.csv`). F : schéma du registre foncier ; chaîne de titres. E : 6 (cas pratiques).
37+
38+### Ch. 7 Cadastre, titres, servitudes et copropriété
39+7.1 Cadastre du Québec et rénovation cadastrale ; 7.2 Certificat de localisation (contenu, durée) ; 7.3 Servitudes : types, effets sur la valeur, mesure (ventes appariées) ; 7.4 Copropriété divise : déclaration, quotes-parts, fonds de prévoyance (Loi 16), carnet d'entretien, charges ; 7.5 Copropriété indivise ; 7.6 Vérification des titres et incidences sur la valeur. Éq. : valeur d'une fraction $= $ quote-part × valeur de l'immeuble ajustée ; effet d'une servitude $= V_{sans} - V_{avec}$. F : schéma de lot/servitude ; répartition des charges. T : effets de servitudes types (synthétique étiqueté) ; contenu du certificat. E : 6.
40+
41+### Ch. 8 Zonage et urbanisme
42+8.1 LAU : hiérarchie des plans et règlements ; 8.2 Zonage, lotissement, construction ; 8.3 Droits acquis, dérogation mineure, PIIA, PPCMOI ; 8.4 Densification (Loi 2023, zonage inclusif) ; 8.5 Zone agricole (CPTAQ) ; 8.6 Effets sur la valeur : option de redéveloppement, PHMU (renvoi ch. 41) ; 8.7 Lecture d'un règlement de zonage (grille des usages). F : schéma d'une grille de zonage ; carte synthétique de zones ; effet d'un rezonage (ventes appariées synthétiques). E : 6.
43+
44+### Ch. 9 Évaluation foncière municipale et contestation
45+9.1 LFM : rôle triennal, valeur réelle (art. 43), conditions (44-46), date de référence, proportion médiane et facteur comparatif ; 9.2 MEFQ : dossier, méthodes, barèmes ; 9.3 Évaluation de masse : modèles, calibrage, équité (IAAO : COD, PRD, PRB) ; 9.4 Taxation : taux variés, taxe scolaire, droits de mutation ; 9.5 Révision et recours (demande de révision, TAQ) ; 9.6 Préparer un dossier de contestation : preuve, comparables, méthode ; 9.7 Valeur au rôle vs valeur marchande : écarts systématiques. Éq. : facteur comparatif $= 1/\text{proportion médiane}$ ; COD, PRD, PRB ; ratio valeur/prix. F : distribution des ratios (cas 1), PRB. T : taux de taxes 2026 par ville (sources), échéancier triennal, tranches de mutation. E : 7 (dont calcul complet d'une contestation). D : cas 1 + rôle. Dépend : notes-B.
46+
47+### Ch. 10 Normes OEAQ, éthique et rapports
48+10.1 Système professionnel (Code des professions, OEAQ, titres) ; 10.2 Normes de pratique : étendue de la mission, types de rapports, contenu obligatoire ; 10.3 Déontologie : indépendance, compétence, conflit d'intérêts, dossiers ; 10.4 Normes internationales (IVS, CUSPAP, USPAP, RICS) : convergences et écarts ; 10.5 Révision et contrôle de la qualité ; 10.6 Rédaction : structure d'un rapport narratif, langage de la certitude, divulgation des données synthétiques/modèles ; 10.7 Responsabilité civile et assurance. T : tableau comparatif des normes (source/date) ; grille de contenu du rapport. F : organigramme du processus d'évaluation (TikZ). E : 5 (révision critique de rapports). Dépend : notes-C.
49+
50+## Partie III — Inspection et données
51+
52+### Ch. 11 Inspection et pathologies du bâtiment
53+11.1 Objectifs de l'inspection d'évaluation (≠ inspection préachat) ; 11.2 Enveloppe, structure, fondations (pyrite, ocre ferreuse, pyrrhotite), toiture, fenestration ; 11.3 Systèmes (électricité : fusibles/aluminium ; plomberie : galvanisé, polybutylène ; chauffage : mazout, réservoirs) ; 11.4 Humidité, moisissures, amiante, vermiculite, radon, UFFI ; 11.5 Classement d'état et âge effectif ; 11.6 Formulaire d'inspection (annexe) ; 11.7 Lien avec la dépréciation (ch. 24). T : pathologies québécoises (prévalence et sources publiques), coût indicatif de correction (synthétique étiqueté sinon source). F : schéma de l'enveloppe ; matrice état × âge → âge effectif. E : 5.
54+
55+### Ch. 12 Mesurage, superficies et plans
56+12.1 Définitions : superficie habitable, brute, nette, au sol, de plancher (MEFQ), pieds carrés vs m² ; 12.2 Normes de mesurage (MEFQ, usages du courtage, ANSI Z765 à titre comparatif) ; 12.3 Lecture de plans et certificat de localisation ; 12.4 Erreurs de mesure et leur effet sur la valeur ($\partial V/\partial S$) ; 12.5 Photogrammétrie, lidar, données du rôle. Éq. : propagation d'erreur $\sigma_V \approx |\partial V/\partial S|\sigma_S$. F : plan coté (TikZ) ; effet d'une erreur de 5 % (cas 1). T : conventions comparées. E : 6.
57+
58+### Ch. 13 Transactions, inscriptions, loyers et coûts
59+13.1 Sources de données au Québec : registre foncier, rôle (Données Québec), Centris/APCIQ, JLR, SCHL, TAL, Statistique Canada, Banque du Canada ; 13.2 Accès, licences, coûts, confidentialité ; 13.3 Données de transaction : champs, pièges (ventes liées, successions, reprises) ; 13.4 Données de loyers ; 13.5 Données de coûts (Statistique Canada IPCB, guides commerciaux : usage sous licence) ; 13.6 Constitution d'une base d'évaluation. T : inventaire des sources (URL, licence, date). F : schéma de la chaîne de données. E : 5. Dépend : notes-E.
60+
61+### Ch. 14 Nettoyage, géocodage et qualité des données
62+14.1 Détection des ventes non représentatives (filtres, règles) ; 14.2 Valeurs aberrantes (robustes : MAD, IQR, Cook) ; 14.3 Géocodage (adresses Québec, codes postaux, précision) ; 14.4 Appariement rôle–transactions ; 14.5 Données manquantes (imputation) ; 14.6 Journalisation et reproductibilité. Éq. : score robuste $z = (x - \text{méd})/(1{,}4826\,\text{MAD})$. F : avant/après nettoyage (cas 1 avec aberrants injectés) ; précision du géocodage. T : règles de filtrage avec effet sur n. E : 6. D : cas 1 « brut » avec anomalies.
63+
64+### Ch. 15 Études de marché et segmentation
65+15.1 Délimitation du marché et sous-marchés ; 15.2 Analyse de l'offre/demande locale, absorption, inventaire ; 15.3 Segmentation statistique (classification hiérarchique, k-moyennes, arbres) et test de stabilité des coefficients (Chow) ; 15.4 Indicateurs : délai de vente, ratio prix vendu/demandé, mois d'inventaire ; 15.5 Étude de marché pour un multilogement (loyers de marché, inoccupation, concurrence). Éq. : test de Chow ; silhouette. F : dendrogramme/cartes de segments (cas 1) ; absorption. T : indicateurs de marché par segment. E : 6.
66+
67+## Partie IV — Comparaison
68+
69+### Ch. 16 Substitution et choix des comparables (PROTOTYPE)
70+16.1 Principe de substitution et logique de la méthode ; 16.2 Unités de comparaison ($/m², $/logement, MRB) ; 16.3 Critères de comparabilité (marché, date, droits, conditions, physique) ; 16.4 Sélection : règles qualitatives, distance d'attributs, voisins les plus proches, taille de l'échantillon ; 16.5 Vérification des ventes ; 16.6 Grille d'analyse et pré-ajustements ; 16.7 Exemple intégral (cas 1 : 60 candidats → 5 comparables) ; 16.8 Sensibilité au choix des comparables. Éq. : distance pondérée ; MRB ; ratio brut/net. F : nuage prix vs superficie avec sujet et comparables ; carte des comparables ; sensibilité (boîte à moustaches) ; schéma du processus. T : grille de sélection, unités de comparaison. E : 7.
71+
72+### Ch. 17 Ajustements qualitatifs et quantitatifs
73+17.1 Ordre des ajustements (transactionnels en %, puis propriété en $) ; 17.2 Méthodes d'extraction : ventes appariées, coût déprécié, capitalisation de différence de loyer, régression, analyse de tendance ; 17.3 Ajustements de temps (indices) ; 17.4 Ajustements qualitatifs (classement, analyse relative) ; 17.5 Cascade et prix ajusté ; 17.6 Exemple intégral (cas 1) ; 17.7 Sensibilité et incertitude des ajustements. Éq. : additif, multiplicatif, mixte ; paires ; temps. F : cascade d'ajustements (waterfall) ; dispersion des paires. T : grille complète ; matrice d'ajustements. E : 7.
74+
75+### Ch. 18 Modèles hédoniques
76+18.1 Fondements (Rosen) ; 18.2 Spécification : formes fonctionnelles, log, Box–Cox, interprétation (Halvorsen–Palmquist, Kennedy) ; 18.3 Estimation MCO, diagnostics (hétéroscédasticité, multicolinéarité, VIF), erreurs robustes ; 18.4 Variables : superficie, âge, qualité, localisation, temps ; 18.5 Prix implicites et ajustements dérivés ; 18.6 Prédiction, intervalle de prédiction, retransformation (Duan) ; 18.7 Exemple intégral (cas 1 : 600 ventes) ; 18.8 Évaluation de masse (lien ch. 9). Éq. : semi-log ; $\partial \ln P/\partial x$ ; smearing ; IC. F : diagnostics (résidus, QQ), prix implicites, surface superficie×âge, prédiction vs prix. T : résultats de régression avec ET robustes. E : 8.
77+
78+### Ch. 19 Modèles spatiaux et temporels
79+19.1 Dépendance et hétérogénéité spatiales ; 19.2 Matrices de poids (kNN, distance, spatio-temporelles : Dubé–Legros) ; 19.3 Tests (I de Moran, LM) ; 19.4 SAR, SEM, SDM : estimation MV, effets directs/indirects ; 19.5 GWR ; 19.6 Effets fixes de quartier et temps ; 19.7 Krigeage des résidus ; 19.8 Exemple (cas 1). F : carte des résidus, corrélogramme, GWR coefficients. T : comparaison MCO/SAR/SEM. E : 7.
80+
81+### Ch. 20 Réconciliation et incertitude
82+20.1 De plusieurs indications à une conclusion : pondération raisonnée ; 20.2 Intervalle de valeur vs valeur ponctuelle ; 20.3 Sources d'incertitude (comparables, ajustements, modèle) ; 20.4 Bootstrap des comparables ; 20.5 Combinaison des trois méthodes ; 20.6 Communication de l'incertitude (normes, pratique) ; 20.7 Exemple intégral (cas 1 : comparaison + coût + hédonique). Éq. : moyenne pondérée, variance de la combinaison, bootstrap. F : densité bootstrap ; fourchette par méthode. E : 6.
83+
84+## Partie V — Coût
85+
86+### Ch. 21 Reproduction et remplacement (PROTOTYPE)
87+21.1 Logique de la méthode et champ d'application (neuf, atypique, assurance, rôle) ; 21.2 Coût de reproduction vs remplacement ; 21.3 Composantes du coût neuf : directs, indirects, incitatif de l'entrepreneur ; 21.4 Méthodes d'estimation : comparaison unitaire, par composantes, quantitative (métré), indexation ; 21.5 Sources de coûts au Québec (indices Statistique Canada, guides sous licence, soumissions) ; 21.6 Exemple intégral (cas 1 : coût neuf de la maison) ; 21.7 Sensibilité (taux d'indirects, incitatif, indice). Éq. : $C_N$ ; indexation ; ajustement de taille. F : décomposition du coût (barres empilées), indice IPCB Montréal (réel), sensibilité. T : composantes. E : 7.
88+
89+### Ch. 22 Métrés et quantités
90+22.1 Principes du métré ; 22.2 Lecture de plans (fondations, charpente, enveloppe, finitions, mécanique) ; 22.3 Règles de mesure par corps de métier ; 22.4 Du métré au coût (prix unitaires, pertes, main-d'œuvre CCQ) ; 22.5 Exemple intégral (cas 1 : 38 postes). T : bordereau de quantités (synthétique) ; F : plan TikZ coté, répartition par corps. E : 6.
91+
92+### Ch. 23 Coûts directs et indirects
93+23.1 Coûts directs : matériaux, main-d'œuvre (conventions CCQ), équipement, sous-traitance ; 23.2 Indirects : honoraires, permis, financement intérimaire, assurances, mise en marché, taxes (TPS/TVQ et remboursements habitation neuve), frais de promoteur ; 23.3 Incitatif/profit de l'entrepreneur ; 23.4 Coûts d'infrastructure et contributions municipales ; 23.5 Conjoncture 2020-2026 (inflation des coûts, Statistique Canada). Éq. : coût total, intérêts intérimaires $\approx$ prêt × taux × durée/2. T : structure de coûts (source/synthétique). F : évolution IPCB (réel). E : 6.
94+
95+### Ch. 24 Dépréciation et désuétudes
96+24.1 Concepts : âge chronologique, effectif, vie économique, restante ; 24.2 Physique curable/incurable ; âge-vie ; ventilée ; 24.3 Fonctionnelle (carence, surabondance, curable/incurable) ; 24.4 Externe (localisation, économique) ; 24.5 Extraction de marché ; 24.6 Double comptage et ordre ; 24.7 Exemple intégral (cas 1) ; 24.8 Courbes de dépréciation empiriques (hédonique âge, cas 1). Éq. : toutes les formules de `cout.py`. F : courbes âge-vie vs empiriques ; décomposition. T : ventilation. E : 8.
97+
98+### Ch. 25 Évaluation du terrain
99+25.1 Méthodes : comparaison, allocation, extraction, résiduelle, lotissement/développement, capitalisation de la rente foncière ; 25.2 Unités (m², frontage, logement constructible) ; 25.3 Ajustements de terrain (superficie, forme, services, topographie, zonage) ; 25.4 Terrains intercalaires et densification ; 25.5 Exemple intégral (cas 1 : terrain). Éq. : résiduelle $V_L = (RNE - R_B C_B)/R_L$ ; développement actualisé. F : valeur unitaire vs superficie (synthétique), carte. T : grille d'ajustements de terrain. E : 7.
100+
101+## Partie VI — Revenu et multilogement
102+
103+### Ch. 26 Baux et loyers
104+26.1 Le bail de logement au Québec (formulaire obligatoire, durée, reconduction) ; 26.2 Loyer contractuel vs loyer de marché vs loyer économique ; 26.3 Analyse de l'état locatif ; 26.4 Reconduction, avis, fixation (renvoi ch. 34) ; 26.5 Services inclus (chauffage, électricité, stationnement) et normalisation ; 26.6 Baux commerciaux au rez-de-chaussée (mixte) : bases. Éq. : loyer normalisé ; écart contractuel-marché actualisé. F : distribution loyers contractuels vs marché (cas 3). T : état locatif (cas 3). E : 6.
105+
106+### Ch. 27 Revenus potentiels, vacance et pertes
107+27.1 RBP ; 27.2 Inoccupation et mauvaises créances : mesure (SCHL), inoccupation économique, rotation ; 27.3 Autres revenus ; 27.4 RBE ; 27.5 Projection des loyers (indices SCHL, TAL, marché) ; 27.6 Exemple (cas 3). Éq. : RBE. F : taux d'inoccupation par RMR (réel SCHL). T : calcul RBP→RBE. E : 6.
108+
109+### Ch. 28 Dépenses, réserves, CAPEX et RNE
110+28.1 Classement : fixes, variables, réserves ; 28.2 Postes québécois (taxes municipales et scolaires, assurances, énergie, entretien, déneigement, gestion, conciergerie) ; 28.3 Normalisation des dépenses historiques ; 28.4 Réserves de remplacement vs CAPEX : conventions et cohérence avec le taux ; 28.5 Ratios de dépenses de référence ; 28.6 RNE ; 28.7 Exemple intégral (cas 3, 3 ans). Éq. : RNE ; ratio. F : structure des dépenses ; évolution. T : état normalisé. E : 7.
111+
112+### Ch. 29 Capitalisation directe (PROTOTYPE)
113+29.1 Logique : $V = RNE_1/R$ ; 29.2 Extraction du taux à partir de ventes ; 29.3 Construction : bande d'investissement, RCD, Gordon, Ellwood/Akerson ; 29.4 Cohérence RNE–taux (réserves, période, prospectif) ; 29.5 Multiplicateurs (MRB) et capitalisation du revenu brut ; 29.6 Taux par RMR et taille (sources publiques) ; 29.7 Exemple intégral (cas 3) ; 29.8 Sensibilité $\partial V/\partial R = -V/R$. Éq. : toutes. F : surface V(RNE,R) ; taux extraits (cas 3 comparables) ; sensibilité. T : extraction ; construction. E : 8.
114+
115+### Ch. 30 Flux actualisés et valeur terminale (PROTOTYPE)
116+30.1 Du taux de capitalisation au taux d'actualisation ; 30.2 Horizon, projections, hypothèses ; 30.3 Valeur terminale et coûts de vente ; 30.4 Flux avant/après financement, avant/après impôt (survol) ; 30.5 TRI, VAN, cohérence avec la capitalisation directe ; 30.6 Exemple intégral (cas 3, 10 ans) ; 30.7 Sensibilité (r, g, R_T) et scénarios. Éq. : DCF, VT, Gordon, TRI. F : flux (barres), surface de sensibilité, tornade. T : tableau DCF complet. E : 8.
117+
118+### Ch. 31 Financement, levier, RCD et RPV
119+31.1 Hypothèque canadienne : composition semestrielle, terme vs amortissement, paiement, solde ; 31.2 RPV, RCD, contraintes du prêteur, SCHL (assurance multilogement) ; 31.3 Effet de levier sur le rendement et le risque ; 31.4 Taux admissible (B-20) ; 31.5 Prêt maximal ; 31.6 Exemple (cas 3) ; 31.7 Sensibilité aux taux. Éq. : `finance.py`. F : TRI vs RPV, service de dette vs taux. T : tableau d'amortissement (extraits). E : 7.
120+
121+### Ch. 32 Duplex à quintuplex
122+32.1 Spécificités : propriétaire-occupant, loyers sous le marché, financement résidentiel ; 32.2 Comparaison vs revenu : pondération ; 32.3 MRB et $/logement ; 32.4 Exemple intégral (cas 2 triplex). F : MRB vs taille ; T : grille. E : 6.
123+
124+### Ch. 33 Immeubles de six logements et plus
125+33.1 Marché institutionnel vs privé ; 33.2 Analyse par logement et par m² ; 33.3 Diligence raisonnable ; 33.4 Capitalisation, DCF, comparaison : intégration ; 33.5 Exemple (cas 3). E : 6.
126+
127+### Ch. 34 TAL, encadrement locatif et scénarios
128+34.1 Fixation du loyer : méthode TAL (règlement, pourcentages annuels) ; 34.2 Reprise, éviction, clause F, Loi 31, Loi 65 ; 34.3 Modéliser l'écart loyer contractuel/marché et sa résorption (rotation) ; 34.4 Scénarios de loyers et valeur ; 34.5 Exemple (cas 3). Éq. : trajectoire des loyers sous contrainte. F : scénarios. T : pourcentages TAL. E : 6. Dépend : notes-A.
129+
130+## Partie VII — Économétrie et méthodes avancées
131+
132+### Ch. 35 Indices immobiliers et ventes répétées
133+35.1 Pourquoi un indice ; 35.2 Médiane/moyenne et leurs biais ; 35.3 Hédonique (dummies temporels, chaînage) ; 35.4 Ventes répétées (BMN, Case–Shiller), SPAR ; 35.5 Indices au Canada/Québec (Teranet–BN, IPLN, APCIQ) ; 35.6 Exemple (cas 1 : 3 indices comparés). F : indices comparés ; T : résultats. E : 6.
134+
135+### Ch. 36 Données de panel et identification causale
136+36.1 Effets fixes, aléatoires ; 36.2 Différence de différences (y compris échelonné : Callaway–Sant'Anna, Goodman-Bacon) ; 36.3 Discontinuité spatiale, contrôle synthétique ; 36.4 Applications : infrastructure, inondation, rezonage ; 36.5 Exemple (cas 4 : choc simulé). F : event study. E : 6.
137+
138+### Ch. 37 Apprentissage automatique et explicabilité
139+37.1 Arbres, forêts, boosting ; 37.2 Validation croisée, fuites, surapprentissage ; 37.3 SHAP, dépendance partielle ; 37.4 AVM et normes (IAAO) ; 37.5 ML vs hédonique (cas 1) ; 37.6 Limites (extrapolation, équité). F : SHAP, PDP, erreurs. T : comparaison de modèles. E : 6.
140+
141+### Ch. 38 SIG et risques géospatiaux
142+38.1 Données géospatiales québécoises (Données Québec, cadastre, zones inondables, CPTAQ) ; 38.2 Opérations SIG (jointures spatiales, tampons, distances) ; 38.3 Accessibilité et aménités ; 38.4 Cartographie thématique ; 38.5 Exemple (cas 1/4). F : cartes. E : 5.
143+
144+### Ch. 39 Modèles bayésiens et intervalles
145+39.1 Pourquoi le bayésien en évaluation (petits échantillons, a priori d'expert) ; 39.2 Régression bayésienne conjuguée et hiérarchique (quartiers) ; 39.3 Intervalles de crédibilité et distribution prédictive ; 39.4 MCMC (Gibbs) en numpy ; 39.5 Exemple (cas 1 : quartiers avec peu de ventes). F : postérieures, rétrécissement. E : 6.
146+
147+### Ch. 40 Monte-Carlo et stress tests
148+40.1 Incertitude des intrants (distributions, corrélations) ; 40.2 Simulation du DCF ; 40.3 Stress tests (taux, inoccupation, loyers, CAPEX) ; 40.4 VaR de valeur, probabilité de RCD < 1 ; 40.5 Exemple (cas 3). F : histogrammes, tornade, nuage. E : 6.
149+
150+## Partie VIII — Évaluations particulières
151+
152+### Ch. 41 PHMU, terrains et développement
153+41.1 Les quatre tests ; 41.2 PHMU vacant vs amélioré ; 41.3 Analyse de faisabilité et méthode résiduelle de développement ; 41.4 Option réelle de redéveloppement (teardowns) ; 41.5 Exemple (terrain Gatineau, densification). E : 6.
154+
155+### Ch. 42 Copropriétés et conversions
156+42.1 Évaluer une fraction ; 42.2 Charges, fonds de prévoyance, état de l'immeuble (incidence) ; 42.3 Conversions locatif→copropriété (règles municipales, TAL) ; 42.4 Exemple. E : 5.
157+
158+### Ch. 43 Risques environnementaux et sinistres
159+43.1 Inondations (cadre 2026), stigmate et assurance ; 43.2 Sols contaminés (LQE), pyrite, radon ; 43.3 Sinistres et valeur après sinistre ; 43.4 Mesure : paires, hédonique, DID ; 43.5 Exemple (cas 4). E : 6.
160+
161+### Ch. 44 Rénovation et efficacité énergétique
162+44.1 Valeur ajoutée vs coût (contribution) ; 44.2 Prime verte : littérature et mesure ; 44.3 Programmes québécois ; 44.4 Analyse coût-bénéfice d'une rénovation (VAN) ; 44.5 Exemple. E : 6.
163+
164+## Partie IX — Cas complets
165+### Ch. 45 Maison à Gatineau — mission, inspection, marché, comparaison (5 comparables), coût, hédonique, réconciliation, rapport.
166+### Ch. 46 Triplex à Québec — droits, loyers, RNE, MRB, capitalisation, comparaison, financement acheteur-occupant, réconciliation.
167+### Ch. 47 12 logements à Montréal (PROTOTYPE) — état locatif, normalisation, RNE, extraction de taux, capitalisation, DCF 10 ans, financement (RCD/RPV), stress test Monte-Carlo, réconciliation, rapport.
168+### Ch. 48 Portefeuille interrégional — données, modèles géographiques (effets régionaux), risques (inondation, âge), incertitude agrégée, allocation.
169+
170+## Annexes
171+Glossaire FR/EN (≈ 250 termes) ; formulaires d'inspection (3) ; modèles de rapport (narratif résidentiel, multilogement, formulaire court) ; conventions de calcul ; scripts et classeurs (inventaire) ; solutions.
172+
173+## Conventions de production (rappel) — voir CONVENTIONS.md. Calendrier : phase 3 (prototype) → lots de 8 chapitres (4a : 1-5, 17-20 ; 4b : 6-10, 22-25 ; 4c : 11-15, 26-28 ; 4d : 31-34, 35-37 ; 4e : 38-44 ; 4f : 45, 46, 48 + annexes) → harmonisation → QA → livraison.
added analysis/python/cases/generate_all.py +12 −0
@@ -0,0 +1,12 @@
1+#!/usr/bin/env python3
2+"""Régénère tous les jeux synthétiques (graine fixée). Usage : python3 -m analysis.python.cases.generate_all (depuis la racine)."""
3+import sys, pathlib
4+sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[1]))
5+from traite.synth import ecrire_tout
6+if __name__ == "__main__":
7+ r = ecrire_tout()
8+ j = r["journal"]
9+ print(f"OK — {len(j)} paramètres ({(j['statut']=='calibre').sum()} calibrés, {(j['statut']=='provisoire').sum()} provisoires) → data/synthetic/")
10+ for k in ["cas1", "cas2", "cas3", "cas4"]:
11+ for name, obj in r[k].items():
12+ if hasattr(obj, "shape"): print(f" {k}.{name}: {obj.shape}")
added analysis/python/tests/test_synth.py +24 −0
@@ -0,0 +1,24 @@
1+import json, pathlib, pandas as pd, numpy as np
2+from traite import synth
3+ROOT = pathlib.Path(__file__).resolve().parents[3]
4+
5+def test_generation_deterministe(tmp_path, monkeypatch):
6+ monkeypatch.setattr(synth, "OUT", tmp_path)
7+ a = synth.ecrire_tout(); b = synth.ecrire_tout()
8+ pd.testing.assert_frame_equal(a["cas1"]["ventes"], b["cas1"]["ventes"])
9+ pd.testing.assert_frame_equal(a["cas3"]["comparables"], b["cas3"]["comparables"])
10+ assert (tmp_path / "README.md").exists() and (tmp_path / "calibration_journal.csv").exists()
11+
12+def test_coherence_interne():
13+ v = pd.read_csv(ROOT / "data/synthetic/cas1_gatineau_ventes.csv")
14+ assert (v.prix_vente > 50_000).all() and (v.superficie_habitable_m2 > 40).all() and v.id_vente.is_unique
15+ q = pd.read_csv(ROOT / "data/synthetic/cas2_quebec_ventes_plex.csv")
16+ assert np.allclose(q.taux_global, (q.rne / q.prix_vente).round(4)) and np.allclose(q.mrb, (q.prix_vente / q.revenu_brut_potentiel).round(2))
17+ m = pd.read_csv(ROOT / "data/synthetic/cas3_montreal_comparables.csv")
18+ assert m.taux_global.between(0.025, 0.09).all()
19+ e = pd.read_csv(ROOT / "data/synthetic/cas3_montreal_etat_locatif.csv")
20+ assert len(e) == 12 and (e.loyer_mensuel_contrat <= e.loyer_mensuel_marche + 1).all()
21+ c = pd.read_csv(ROOT / "data/synthetic/cas1_gatineau_couts.csv")
22+ assert np.allclose(c.montant, (c.quantite * c.prix_unitaire).round(2))
23+ p = pd.read_csv(ROOT / "data/synthetic/cas4_portefeuille.csv"); s = pd.read_csv(ROOT / "data/synthetic/cas4_portefeuille_series.csv")
24+ assert set(p.id_immeuble) == set(s.id_immeuble) and (p.dette <= p.valeur_2026).all()
added analysis/python/traite/synth.py +333 −0
@@ -0,0 +1,333 @@
1+"""Génération des quatre dossiers de cas SYNTHÉTIQUES du traité.
2+
3+Tout est déterministe (graine 20261031). Les paramètres de calibration proviennent de data/synthetic/calibration.json
4+(valeurs publiques sourcées, voir sources/registry.csv) ; en l'absence d'une valeur, un défaut PROVISOIRE est utilisé et
5+consigné comme NON_VERIFIE dans data/synthetic/README.md. Les relations (élasticités, primes, lois de tirage) sont des
6+HYPOTHÈSES PÉDAGOGIQUES déclarées dans le README — elles ne décrivent aucun bien ni marché réel."""
7+from __future__ import annotations
8+import json, math, pathlib, datetime
9+import numpy as np
10+import pandas as pd
11+
12+ROOT = pathlib.Path(__file__).resolve().parents[3]
13+OUT = ROOT / "data/synthetic"
14+SEED = 20261031
15+DATE_EVAL = datetime.date(2026, 9, 1) # date d'évaluation commune des quatre cas
16+
17+class Calibration:
18+ """Accès aux paramètres avec traçabilité (valeur, source, provisoire ou non)."""
19+ def __init__(self, path=OUT / "calibration.json"):
20+ self.raw = json.loads(path.read_text()) if path.exists() else {}
21+ self.journal: list[dict] = []
22+ def get(self, key: str, defaut, unite: str = "", note: str = ""):
23+ item = self.raw.get(key)
24+ if isinstance(item, dict) and item.get("valeur") is not None:
25+ self.journal.append({"parametre": key, "valeur": item["valeur"], "unite": item.get("unite", unite),
26+ "source_id": item.get("source_id", "?"), "periode": item.get("periode", ""), "statut": "calibre"})
27+ return item["valeur"]
28+ self.journal.append({"parametre": key, "valeur": defaut, "unite": unite, "source_id": "NON_VERIFIE", "periode": "", "statut": "provisoire", "note": note})
29+ return defaut
30+
31+def _dates(rng, n, debut=datetime.date(2023, 1, 1), fin=datetime.date(2026, 8, 31)):
32+ span = (fin - debut).days
33+ d = np.sort(rng.integers(0, span + 1, n))
34+ return [debut + datetime.timedelta(days=int(x)) for x in d]
35+
36+def _mois_depuis(dates, ref=datetime.date(2023, 1, 1)):
37+ return np.array([(d.year - ref.year) * 12 + (d.month - ref.month) + (d.day - 1) / 30.0 for d in dates])
38+
39+# ============================================================================ CAS 1
40+def cas1_gatineau(cal: Calibration, rng: np.random.Generator) -> dict:
41+ n = 600
42+ med = cal.get("prix_median_unifamiliale_rmr_gatineau", 520_000, "$", "prix médian unifamiliale RMR Gatineau (APCIQ)")
43+ g = cal.get("croissance_annuelle_prix_gatineau", 0.07, "proportion", "variation annuelle du prix médian")
44+ secteurs = ["Hull", "Gatineau", "Aylmer", "Buckingham", "Masson-Angers"]
45+ prime_secteur = {"Hull": 0.00, "Gatineau": -0.05, "Aylmer": 0.08, "Buckingham": -0.15, "Masson-Angers": -0.18} # hypothèse pédagogique
46+ p_sect = [0.30, 0.32, 0.20, 0.10, 0.08]
47+ sect = rng.choice(secteurs, n, p=p_sect)
48+ dates = _dates(rng, n)
49+ mois = _mois_depuis(dates)
50+ S = np.exp(rng.normal(np.log(140), 0.25, n)).round(0) # superficie habitable m²
51+ T = np.where(np.isin(sect, ["Buckingham", "Masson-Angers"]), np.exp(rng.normal(np.log(1200), 0.45, n)), np.exp(rng.normal(np.log(560), 0.30, n))).round(0)
52+ annee = np.clip(rng.normal(1985, 20, n).round(0), 1920, 2025).astype(int)
53+ age = 2026 - annee
54+ qualite = np.clip(rng.normal(3, 0.8, n).round(0), 1, 5).astype(int)
55+ garage = rng.choice([0, 1, 2], n, p=[0.45, 0.45, 0.10])
56+ sous_sol_fini = rng.binomial(1, 0.6, n)
57+ piscine = rng.binomial(1, 0.15, n)
58+ chambres = np.clip((S / 45 + rng.normal(0, 0.6, n)).round(0), 1, 6).astype(int)
59+ sdb = np.clip((S / 80 + rng.normal(0, 0.5, n)).round(0), 1, 4).astype(int)
60+ type_bat = np.where(rng.random(n) < 0.45, "plain-pied", "à étages")
61+ # centre de chaque secteur (lat, lon approximatifs du centre urbain, jitter ± ~2-4 km : coordonnées synthétiques)
62+ centres = {"Hull": (45.428, -75.714), "Gatineau": (45.477, -75.650), "Aylmer": (45.395, -75.843), "Buckingham": (45.588, -75.418), "Masson-Angers": (45.545, -75.420)}
63+ lat = np.array([centres[s][0] for s in sect]) + rng.normal(0, 0.012, n)
64+ lon = np.array([centres[s][1] for s in sect]) + rng.normal(0, 0.020, n)
65+ dist_centre_km = np.sqrt(((lat - 45.428) * 111) ** 2 + ((lon + 75.714) * 78) ** 2)
66+ # indice de marché : croissance g/an composée, référence = 1er juillet 2024 (date de référence du rôle fictif)
67+ ref_mois = _mois_depuis([datetime.date(2024, 7, 1)])[0]
68+ ln_index = np.log1p(g) * (mois - ref_mois) / 12
69+ lnP = (np.log(med) + 0.55 * np.log(S / 140) + 0.10 * np.log(T / 560) - 0.0055 * age + 0.000030 * age ** 2
70+ + 0.06 * (qualite - 3) + 0.035 * garage + 0.03 * sous_sol_fini + 0.02 * piscine
71+ + np.array([prime_secteur[s] for s in sect]) - 0.006 * np.clip(dist_centre_km - 3, 0, None)
72+ + 0.02 * (type_bat == "à étages") + ln_index + rng.normal(0, 0.085, n))
73+ lnP += np.log(med) - np.median(lnP - ln_index) # normalisation : médiane à la date de référence = prix médian calibré
74+ prix = (np.exp(lnP) / 500).round(0) * 500
75+ # valeur au rôle 2025-2027 fictif : valeur à la date de référence (2024-07-01) × ratio ~ N(0.93, 0.07)
76+ lnP_ref = lnP - ln_index
77+ role = (np.exp(lnP_ref) * np.clip(rng.normal(0.93, 0.07, n), 0.7, 1.2) / 100).round(0) * 100
78+ ventes = pd.DataFrame({
79+ "id_vente": [f"G{idx+1:04d}" for idx in range(n)], "date_vente": [d.isoformat() for d in dates], "secteur": sect,
80+ "type": type_bat, "superficie_habitable_m2": S, "superficie_terrain_m2": T, "annee_construction": annee, "age": age,
81+ "qualite_1a5": qualite, "garage_places": garage, "sous_sol_fini": sous_sol_fini, "piscine": piscine,
82+ "chambres": chambres, "salles_de_bain": sdb, "lat": lat.round(5), "lon": lon.round(5), "dist_centre_km": dist_centre_km.round(2),
83+ "valeur_role_2025": role, "prix_vente": prix})
84+ sujet = {"adresse_fictive": "123, rue des Érables (fictive), secteur Hull, Gatineau", "secteur": "Hull", "type": "à étages",
85+ "superficie_habitable_m2": 165, "superficie_terrain_m2": 620, "annee_construction": 1998, "age": 28, "qualite_1a5": 3,
86+ "garage_places": 1, "sous_sol_fini": 1, "piscine": 0, "chambres": 4, "salles_de_bain": 2, "lat": 45.4215, "lon": -75.7395,
87+ "dist_centre_km": 2.1, "valeur_role_2025": 468_000, "date_evaluation": DATE_EVAL.isoformat(),
88+ "note": "DONNÉES SYNTHÉTIQUES — propriété fictive construite pour le traité"}
89+ # devis par composantes (38 postes) : quantités cohérentes avec 165 m² habitables sur 2 étages, empreinte ~ 95 m²
90+ postes = [
91+ ("Excavation et remblai", "m³", 420, 28), ("Fondations béton (semelles, murs)", "m³", 38, 520), ("Dalle de sous-sol", "m²", 95, 95),
92+ ("Drain français et imperméabilisation", "m lin.", 42, 120), ("Charpente murs et planchers", "m²", 330, 165), ("Fermes de toit", "m²", 110, 95),
93+ ("Couverture bardeaux d'asphalte", "m²", 125, 85), ("Revêtement extérieur (brique 40 % / fibrociment 60 %)", "m²", 240, 165),
94+ ("Isolation et pare-vapeur", "m²", 420, 32), ("Fenêtres (PVC double vitrage)", "unité", 16, 1450), ("Portes extérieures", "unité", 3, 1900),
95+ ("Porte de garage", "unité", 1, 2600), ("Gypse et tirage de joints", "m²", 620, 38), ("Peinture intérieure", "m²", 620, 14),
96+ ("Planchers bois franc", "m²", 95, 120), ("Planchers céramique", "m²", 35, 135), ("Planchers flottants (sous-sol)", "m²", 70, 55),
97+ ("Escaliers", "unité", 2, 4800), ("Portes intérieures et moulures", "unité", 14, 650), ("Armoires de cuisine et comptoirs", "forfait", 1, 24000),
98+ ("Vanités et accessoires (2 sdb)", "forfait", 1, 7500), ("Plomberie brute et finition", "appareil", 14, 1650), ("Chauffe-eau", "unité", 1, 1600),
99+ ("Électricité (entrée 200 A, filage, appareils)", "forfait", 1, 19500), ("Ventilation (VRC) et conduits", "forfait", 1, 7800),
100+ ("Thermopompe centrale et plinthes", "forfait", 1, 14500), ("Éclairage et finition électrique", "forfait", 1, 4200),
101+ ("Gouttières et solins", "m lin.", 48, 45), ("Balcon et perron", "m²", 14, 650), ("Entrée asphaltée", "m²", 55, 65),
102+ ("Aménagement paysager de base", "forfait", 1, 6500), ("Raccordements aqueduc/égout", "forfait", 1, 9500), ("Nettoyage et conteneurs", "forfait", 1, 3800),
103+ ("Permis et études (arpentage, sol)", "forfait", 1, 6200), ("Supervision de chantier (salaires)", "semaine", 26, 1900),
104+ ("Assurances chantier et cautionnement", "forfait", 1, 5200), ("Plans et honoraires professionnels", "forfait", 1, 14000), ("Financement intérimaire", "forfait", 1, 11800),
105+ ]
106+ cible = cal.get("cout_construction_unifamiliale_par_m2_quebec", 2_900, "$/m² habitable", "coût neuf typique unifamiliale (tout compris)")
107+ couts = pd.DataFrame(postes, columns=["poste", "unite", "quantite", "prix_unitaire"])
108+ couts["indirect"] = couts["poste"].isin(["Permis et études (arpentage, sol)", "Supervision de chantier (salaires)", "Assurances chantier et cautionnement", "Plans et honoraires professionnels", "Financement intérimaire"])
109+ brut = (couts["quantite"] * couts["prix_unitaire"]).sum()
110+ echelle = cible * 165 / brut
111+ couts["prix_unitaire"] = (couts["prix_unitaire"] * echelle).round(2)
112+ couts["montant"] = (couts["quantite"] * couts["prix_unitaire"]).round(2)
113+ return {"ventes": ventes, "sujet": sujet, "couts": couts}
114+
115+# ============================================================================ CAS 2
116+def cas2_quebec(cal: Calibration, rng: np.random.Generator) -> dict:
117+ n = 250
118+ med_plex = cal.get("prix_median_plex_rmr_quebec", 560_000, "$", "prix médian plex 2-5 log. RMR Québec (APCIQ)")
119+ loyer_2ch = cal.get("loyer_moyen_2ch_rmr_quebec", 1_200, "$/mois", "loyer moyen 2 ch. RMR Québec (SCHL)")
120+ inocc = cal.get("taux_inoccupation_rmr_quebec", 0.01, "proportion", "taux d'inoccupation RMR Québec (SCHL)")
121+ g = cal.get("croissance_annuelle_prix_quebec", 0.10, "proportion", "variation annuelle du prix médian plex Québec")
122+ quartiers = ["Limoilou", "Saint-Sauveur", "Saint-Roch", "Montcalm", "Maizerets"]
123+ prime = {"Limoilou": 0.0, "Saint-Sauveur": -0.06, "Saint-Roch": 0.02, "Montcalm": 0.15, "Maizerets": -0.09}
124+ q = rng.choice(quartiers, n, p=[0.35, 0.2, 0.15, 0.1, 0.2])
125+ nb_log = rng.choice([2, 3], n, p=[0.45, 0.55])
126+ dates = _dates(rng, n); mois = _mois_depuis(dates)
127+ annee = np.clip(rng.normal(1945, 18, n).round(0), 1900, 2015).astype(int); age = 2026 - annee
128+ etat = np.clip(rng.normal(3, 0.8, n).round(0), 1, 5).astype(int)
129+ sup_hab = (nb_log * np.exp(rng.normal(np.log(85), 0.15, n))).round(0)
130+ stationnement = rng.binomial(1, 0.5, n)
131+ # loyers : par logement ~ loyer_2ch × facteur taille × écart contractuel (sous le marché selon l'ancienneté des baux)
132+ loyer_marche_unit = loyer_2ch * np.exp(rng.normal(0, 0.12, n)) * (1 + 0.05 * (etat - 3)) * np.exp(np.array([prime[x] for x in q]) * 0.5)
133+ anciennete_moy = np.clip(rng.exponential(5, n), 0, 25)
134+ ecart = -0.02 * anciennete_moy # ~2 % par année d'ancienneté sous le marché (hypothèse)
135+ loyer_contrat_unit = loyer_marche_unit * (1 + ecart)
136+ rbp = loyer_contrat_unit * nb_log * 12
137+ ratio_dep = np.clip(rng.normal(0.36, 0.05, n), 0.25, 0.5)
138+ rne = rbp * (1 - inocc) * (1 - ratio_dep)
139+ ref_mois = _mois_depuis([datetime.date(2024, 7, 1)])[0]
140+ ln_index = np.log1p(g) * (mois - ref_mois) / 12
141+ lnP = (np.log(med_plex) + 0.65 * np.log(sup_hab / (2.55 * 85)) + 0.12 * (nb_log - 2.55) - 0.004 * (age - 80) + 0.05 * (etat - 3)
142+ + np.array([prime[x] for x in q]) + 0.03 * stationnement + 0.25 * np.log(np.clip(loyer_marche_unit / loyer_2ch, 0.5, 2))
143+ + ln_index + rng.normal(0, 0.09, n))
144+ lnP += np.log(med_plex) - np.median(lnP - ln_index) # normalisation à la médiane calibrée (date de référence)
145+ prix = (np.exp(lnP) / 1000).round(0) * 1000
146+ ventes = pd.DataFrame({"id_vente": [f"Q{i+1:04d}" for i in range(n)], "date_vente": [d.isoformat() for d in dates], "quartier": q,
147+ "nb_logements": nb_log, "superficie_habitable_m2": sup_hab, "annee_construction": annee, "age": age, "etat_1a5": etat,
148+ "stationnement": stationnement, "loyer_mensuel_moyen_contrat": loyer_contrat_unit.round(0), "loyer_mensuel_moyen_marche": loyer_marche_unit.round(0),
149+ "revenu_brut_potentiel": rbp.round(0), "ratio_depenses": ratio_dep.round(3), "rne": rne.round(0), "prix_vente": prix})
150+ ventes["mrb"] = (ventes["prix_vente"] / ventes["revenu_brut_potentiel"]).round(2)
151+ ventes["taux_global"] = (ventes["rne"] / ventes["prix_vente"]).round(4)
152+ ventes["prix_par_logement"] = (ventes["prix_vente"] / ventes["nb_logements"]).round(0)
153+ loyers = pd.DataFrame([
154+ {"logement": "RC", "pieces": "5½", "chambres": 2, "superficie_m2": 92, "loyer_mensuel": round(loyer_2ch * 0.82), "debut_bail": "2019-07-01", "chauffage_inclus": 0, "locataire_depuis": 2019},
155+ {"logement": "2e", "pieces": "5½", "chambres": 2, "superficie_m2": 92, "loyer_mensuel": round(loyer_2ch * 0.93), "debut_bail": "2022-07-01", "chauffage_inclus": 0, "locataire_depuis": 2022},
156+ {"logement": "3e", "pieces": "4½", "chambres": 1, "superficie_m2": 78, "loyer_mensuel": round(loyer_2ch * 0.98), "debut_bail": "2025-07-01", "chauffage_inclus": 0, "locataire_depuis": 2025},
157+ ])
158+ loyers["loyer_marche_estime"] = [round(loyer_2ch * 1.12), round(loyer_2ch * 1.12), round(loyer_2ch * 0.98)]
159+ sujet = {"adresse_fictive": "456, 3e Avenue (fictive), Limoilou, Québec", "quartier": "Limoilou", "nb_logements": 3, "annee_construction": 1948, "age": 78,
160+ "etat_1a5": 3, "superficie_habitable_m2": 262, "superficie_terrain_m2": 310, "stationnement": 1, "valeur_role_2025": 495_000,
161+ "date_evaluation": DATE_EVAL.isoformat(), "note": "DONNÉES SYNTHÉTIQUES — immeuble fictif"}
162+ depenses = pd.DataFrame([
163+ {"poste": "Taxes municipales", "montant_annuel": 5_900, "type": "fixe"}, {"poste": "Taxe scolaire", "montant_annuel": 470, "type": "fixe"},
164+ {"poste": "Assurances", "montant_annuel": 3_400, "type": "fixe"}, {"poste": "Électricité (aires communes)", "montant_annuel": 650, "type": "variable"},
165+ {"poste": "Déneigement et entretien extérieur", "montant_annuel": 1_500, "type": "variable"}, {"poste": "Entretien et réparations", "montant_annuel": 3_200, "type": "variable"},
166+ {"poste": "Gestion (propriétaire-occupant : imputée 4 %)", "montant_annuel": 0, "type": "imputée"}, {"poste": "Réserve de remplacement", "montant_annuel": 1_800, "type": "réserve"}])
167+ return {"ventes": ventes, "sujet": sujet, "loyers": loyers, "depenses": depenses}
168+
169+# ============================================================================ CAS 3
170+def cas3_montreal(cal: Calibration, rng: np.random.Generator) -> dict:
171+ loyer_2ch = cal.get("loyer_moyen_2ch_rmr_montreal", 1_250, "$/mois", "loyer moyen 2 ch. RMR Montréal (SCHL)")
172+ loyer_1ch = cal.get("loyer_moyen_1ch_rmr_montreal", 1_050, "$/mois", "loyer moyen 1 ch. RMR Montréal (SCHL)")
173+ loyer_3ch = cal.get("loyer_moyen_3ch_rmr_montreal", 1_550, "$/mois", "loyer moyen 3 ch.+ RMR Montréal (SCHL)")
174+ inocc = cal.get("taux_inoccupation_rmr_montreal", 0.02, "proportion", "taux d'inoccupation RMR Montréal (SCHL)")
175+ cap = cal.get("taux_capitalisation_multires_montreal", 0.0475, "proportion", "taux de capitalisation multirésidentiel Montréal (enquête publique)")
176+ taux_hyp = cal.get("taux_hypothecaire_multires_assure", 0.042, "proportion", "taux assuré SCHL 5 ans (indicatif)")
177+ taux_taxe = cal.get("taux_taxe_fonciere_montreal_residentiel_2026", 0.0065, "$/$ d'évaluation", "taux global résidentiel Montréal")
178+ taux_scolaire = cal.get("taux_taxe_scolaire_2025_2026", 0.0009152, "$/$ d'évaluation", "taux unique de la taxe scolaire 2025-2026")
179+ pct_tal = cal.get("tal_pourcentage_base_2026", 0.039, "proportion", "pourcentage de base TAL 2026 (logements non chauffés)")
180+ # état locatif : 12 logements, bâtiment 1962, 3 étages, Rosemont
181+ mix = [("3½", 1, loyer_1ch)] * 4 + [("4½", 2, loyer_2ch)] * 6 + [("5½", 3, loyer_3ch)] * 2
182+ rows = []
183+ for i, (p, ch, lm) in enumerate(mix, 1):
184+ anc = int(rng.choice([0, 1, 2, 3, 5, 8, 12, 18], p=[0.1, 0.15, 0.15, 0.15, 0.15, 0.12, 0.1, 0.08]))
185+ marche = lm * float(np.exp(rng.normal(0, 0.05)))
186+ contrat = marche * (1 - 0.025) ** anc * (1 if anc else 1.0)
187+ rows.append({"logement": f"{100 + i}" if i <= 4 else (f"{200 + i - 4}" if i <= 8 else f"{300 + i - 8}"), "pieces": p, "chambres": ch,
188+ "superficie_m2": {1: 52, 2: 72, 3: 95}[ch] + int(rng.integers(-4, 5)), "loyer_mensuel_contrat": round(contrat), "loyer_mensuel_marche": round(marche),
189+ "locataire_depuis": 2026 - anc, "echeance_bail": "2027-06-30", "chauffage_inclus": 0, "stationnement": int(rng.random() < 0.5)})
190+ etat_locatif = pd.DataFrame(rows)
191+ rbp = etat_locatif["loyer_mensuel_contrat"].sum() * 12
192+ autres = 12 * (6 * 60 + 12 * 35) # stationnement (6 places × 60 $), buanderie (35 $/log.)
193+ valeur_role = 2_650_000
194+ dep = {
195+ "Taxes municipales": valeur_role * taux_taxe, "Taxe scolaire": valeur_role * taux_scolaire, "Assurances": 14_800,
196+ "Électricité (aires communes)": 3_900, "Chauffage (aires communes, gaz)": 2_600, "Eau et égouts (taxe)": 0,
197+ "Entretien et réparations": 0.065 * rbp, "Conciergerie": 9_600, "Déneigement et paysagement": 6_200, "Gestion (4 % du RBE)": None,
198+ "Frais juridiques et comptables": 2_400, "Publicité et location": 1_200, "Réserve de remplacement (par logement)": 12 * 650}
199+ hist = []
200+ for an, infl in [(2023, 0.0), (2024, 0.045), (2025, 0.03)]:
201+ for poste, m in dep.items():
202+ if m is None: continue
203+ base = m * (1 + infl) ** (an - 2023) * float(np.exp(rng.normal(0, 0.04))) if m else 0
204+ hist.append({"annee": an, "poste": poste, "montant": round(base)})
205+ depenses = pd.DataFrame(hist)
206+ # comparables : 40 ventes 6-30 logements, 2024-2026, Rosemont/Villeray/Plateau/Hochelaga/Ahuntsic
207+ n = 40
208+ quart = rng.choice(["Rosemont", "Villeray", "Plateau", "Hochelaga", "Ahuntsic"], n, p=[0.3, 0.25, 0.15, 0.15, 0.15])
209+ prime = {"Rosemont": 0.0, "Villeray": -0.01, "Plateau": 0.06, "Hochelaga": -0.07, "Ahuntsic": -0.03}
210+ nlog = rng.integers(6, 31, n)
211+ dates = _dates(rng, n, datetime.date(2024, 9, 1), datetime.date(2026, 8, 31))
212+ annee = np.clip(rng.normal(1960, 15, n).round(0), 1900, 2010).astype(int)
213+ etat = np.clip(rng.normal(3, 0.7, n).round(0), 1, 5).astype(int)
214+ loyer_moy = loyer_2ch * np.exp(rng.normal(-0.05, 0.1, n)) * (1 + 0.04 * (etat - 3))
215+ rbp_c = loyer_moy * nlog * 12
216+ ratio = np.clip(rng.normal(0.40, 0.04, n), 0.3, 0.52)
217+ rne_c = rbp_c * (1 - inocc) * (1 - ratio)
218+ taux_c = cap * np.exp(rng.normal(0, 0.07, n)) * (1 - 0.03 * (etat - 3)) * (1 - 0.004 * (nlog - 12)) * np.exp(-np.array([prime[x] for x in quart]) * 0.5)
219+ prix_c = (rne_c / taux_c / 1000).round(0) * 1000
220+ comps = pd.DataFrame({"id_vente": [f"M{i+1:03d}" for i in range(n)], "date_vente": [d.isoformat() for d in dates], "quartier": quart, "nb_logements": nlog,
221+ "annee_construction": annee, "etat_1a5": etat, "loyer_mensuel_moyen": loyer_moy.round(0), "revenu_brut_potentiel": rbp_c.round(0),
222+ "ratio_depenses": ratio.round(3), "rne": rne_c.round(0), "prix_vente": prix_c})
223+ comps["taux_global"] = (comps["rne"] / comps["prix_vente"]).round(4)
224+ comps["prix_par_logement"] = (comps["prix_vente"] / comps["nb_logements"]).round(0)
225+ comps["mrb"] = (comps["prix_vente"] / comps["revenu_brut_potentiel"]).round(2)
226+ hypotheses = {"date_evaluation": DATE_EVAL.isoformat(), "horizon_ans": 10, "taux_inoccupation_pertes": inocc + 0.01,
227+ "croissance_loyers_contrat": pct_tal, "croissance_loyers_marche": 0.035, "rotation_annuelle": 0.15,
228+ "croissance_depenses": 0.03, "taux_actualisation": 0.0725, "taux_terminal": cap + 0.005, "couts_vente": 0.025,
229+ "capex": {"2027": 85_000, "2029": 40_000, "2032": 120_000}, "financement": {"rpv": 0.75, "taux": taux_hyp, "amortissement_mois": 480, "terme_ans": 5, "rcd_min": 1.20},
230+ "autres_revenus_annuels": autres, "valeur_role_2026": valeur_role, "taux_taxe_fonciere": taux_taxe, "taux_taxe_scolaire": taux_scolaire,
231+ "note": "HYPOTHÈSES SYNTHÉTIQUES — voir data/synthetic/README.md pour la provenance de chaque paramètre"}
232+ sujet = {"adresse_fictive": "789, rue Fictive, Rosemont–La Petite-Patrie, Montréal", "nb_logements": 12, "annee_construction": 1962, "etages": 3,
233+ "superficie_terrain_m2": 740, "superficie_locative_m2": int(etat_locatif["superficie_m2"].sum()), "stationnements": 6, "etat_1a5": 3,
234+ "valeur_role_2026": valeur_role, "date_evaluation": DATE_EVAL.isoformat(), "note": "DONNÉES SYNTHÉTIQUES — immeuble fictif"}
235+ return {"etat_locatif": etat_locatif, "depenses": depenses, "comparables": comps, "hypotheses": hypotheses, "sujet": sujet}
236+
237+# ============================================================================ CAS 4
238+def cas4_portefeuille(cal: Calibration, rng: np.random.Generator) -> dict:
239+ rmr = {"Montréal": (45.52, -73.60, cal.get("loyer_moyen_2ch_rmr_montreal", 1_250), cal.get("taux_inoccupation_rmr_montreal", 0.02), cal.get("taux_capitalisation_multires_montreal", 0.0475)),
240+ "Québec": (46.81, -71.22, cal.get("loyer_moyen_2ch_rmr_quebec", 1_200), cal.get("taux_inoccupation_rmr_quebec", 0.01), cal.get("taux_capitalisation_multires_quebec", 0.0525, "proportion", "taux de cap. multirés. Québec")),
241+ "Gatineau": (45.47, -75.70, cal.get("loyer_moyen_2ch_rmr_gatineau", 1_450, "$/mois", "loyer moyen 2 ch. RMR Gatineau (SCHL)"), cal.get("taux_inoccupation_rmr_gatineau", 0.015, "proportion", "inocc. Gatineau"), 0.05),
242+ "Sherbrooke": (45.40, -71.89, cal.get("loyer_moyen_2ch_rmr_sherbrooke", 1_100, "$/mois", "loyer moyen 2 ch. Sherbrooke"), cal.get("taux_inoccupation_rmr_sherbrooke", 0.01, "proportion", "inocc. Sherbrooke"), 0.055),
243+ "Trois-Rivières": (46.35, -72.55, cal.get("loyer_moyen_2ch_rmr_trois_rivieres", 1_000, "$/mois", "loyer moyen 2 ch. Trois-Rivières"), cal.get("taux_inoccupation_rmr_trois_rivieres", 0.01, "proportion", "inocc. Trois-Rivières"), 0.06),
244+ "Saguenay": (48.43, -71.07, cal.get("loyer_moyen_2ch_rmr_saguenay", 950, "$/mois", "loyer moyen 2 ch. Saguenay"), cal.get("taux_inoccupation_rmr_saguenay", 0.01, "proportion", "inocc. Saguenay"), 0.0625)}
245+ n = 48
246+ villes = rng.choice(list(rmr), n, p=[0.35, 0.2, 0.15, 0.1, 0.1, 0.1])
247+ rows = []
248+ for i, v in enumerate(villes, 1):
249+ lat0, lon0, l2, inocc, capv = rmr[v]
250+ nlog = int(rng.choice([6, 8, 12, 16, 24, 36, 48, 72], p=[0.2, 0.2, 0.2, 0.15, 0.1, 0.08, 0.05, 0.02]))
251+ annee = int(np.clip(rng.normal(1972, 18), 1920, 2018)); etat = int(np.clip(round(rng.normal(3, 0.8)), 1, 5))
252+ loyer = l2 * float(np.exp(rng.normal(-0.03, 0.1))) * (1 + 0.04 * (etat - 3))
253+ rbp = loyer * nlog * 12; ratio = float(np.clip(rng.normal(0.40, 0.04), 0.3, 0.52)); rne = rbp * (1 - inocc - 0.005) * (1 - ratio)
254+ zone_inond = int(rng.random() < 0.08); sol = int(rng.random() < 0.05)
255+ taux = capv * float(np.exp(rng.normal(0, 0.06))) * (1 - 0.03 * (etat - 3)) * (1 + 0.05 * zone_inond) * (1 + 0.03 * sol)
256+ valeur = rne / taux
257+ dette = valeur * float(np.clip(rng.normal(0.6, 0.12), 0.2, 0.8))
258+ rows.append({"id_immeuble": f"P{i:02d}", "rmr": v, "lat": round(lat0 + rng.normal(0, 0.04), 5), "lon": round(lon0 + rng.normal(0, 0.05), 5), "nb_logements": nlog,
259+ "annee_construction": annee, "age": 2026 - annee, "etat_1a5": etat, "loyer_mensuel_moyen": round(loyer), "revenu_brut_potentiel": round(rbp),
260+ "taux_inoccupation_marche": inocc, "ratio_depenses": round(ratio, 3), "rne_2026": round(rne), "zone_inondable": zone_inond, "contamination_sol": sol,
261+ "taux_global": round(taux, 4), "valeur_2026": round(valeur / 1000) * 1000, "dette": round(dette / 1000) * 1000,
262+ "taux_dette": round(float(rng.normal(0.045, 0.006)), 4), "echeance_dette": int(rng.integers(2027, 2032))})
263+ pf = pd.DataFrame(rows)
264+ # séries trimestrielles de RNE 2016T1-2026T2 : tendance régionale commune + choc idiosyncrasique
265+ trims = pd.period_range("2016Q1", "2026Q2", freq="Q")
266+ g_reg = {"Montréal": 0.035, "Québec": 0.03, "Gatineau": 0.04, "Sherbrooke": 0.03, "Trois-Rivières": 0.025, "Saguenay": 0.02}
267+ ser = []
268+ for _, r in pf.iterrows():
269+ t = np.arange(len(trims)); g = g_reg[r["rmr"]]
270+ base = r["rne_2026"] / (1 + g) ** ((len(trims) - 1) / 4)
271+ chocs = np.cumsum(rng.normal(0, 0.015, len(trims)))
272+ pandemie = np.where((trims >= "2020Q2") & (trims <= "2021Q2"), -0.03, 0)
273+ x = base * (1 + g) ** (t / 4) * np.exp(chocs - chocs[-1] + pandemie) / 4
274+ for tt, val in zip(trims, x):
275+ ser.append({"id_immeuble": r["id_immeuble"], "trimestre": str(tt), "rne_trimestriel": round(val)})
276+ series = pd.DataFrame(ser)
277+ return {"portefeuille": pf, "series": series}
278+
279+# ============================================================================ écriture
280+def ecrire_tout() -> dict:
281+ OUT.mkdir(parents=True, exist_ok=True)
282+ cal = Calibration()
283+ rng = np.random.default_rng(SEED)
284+ c1 = cas1_gatineau(cal, rng); c2 = cas2_quebec(cal, rng); c3 = cas3_montreal(cal, rng); c4 = cas4_portefeuille(cal, rng)
285+ c1["ventes"].to_csv(OUT / "cas1_gatineau_ventes.csv", index=False); (OUT / "cas1_gatineau_sujet.json").write_text(json.dumps(c1["sujet"], ensure_ascii=False, indent=1))
286+ c1["couts"].to_csv(OUT / "cas1_gatineau_couts.csv", index=False)
287+ c2["ventes"].to_csv(OUT / "cas2_quebec_ventes_plex.csv", index=False); (OUT / "cas2_quebec_sujet.json").write_text(json.dumps(c2["sujet"], ensure_ascii=False, indent=1))
288+ c2["loyers"].to_csv(OUT / "cas2_quebec_loyers.csv", index=False); c2["depenses"].to_csv(OUT / "cas2_quebec_depenses.csv", index=False)
289+ c3["etat_locatif"].to_csv(OUT / "cas3_montreal_etat_locatif.csv", index=False); c3["depenses"].to_csv(OUT / "cas3_montreal_depenses.csv", index=False)
290+ c3["comparables"].to_csv(OUT / "cas3_montreal_comparables.csv", index=False)
291+ (OUT / "cas3_montreal_hypotheses_dcf.json").write_text(json.dumps(c3["hypotheses"], ensure_ascii=False, indent=1)); (OUT / "cas3_montreal_sujet.json").write_text(json.dumps(c3["sujet"], ensure_ascii=False, indent=1))
292+ c4["portefeuille"].to_csv(OUT / "cas4_portefeuille.csv", index=False); c4["series"].to_csv(OUT / "cas4_portefeuille_series.csv", index=False)
293+ # journal de calibration dédoublonné
294+ seen = {};
295+ for j in cal.journal: seen.setdefault(j["parametre"], j)
296+ jour = pd.DataFrame(list(seen.values()))
297+ jour.to_csv(OUT / "calibration_journal.csv", index=False)
298+ n_cal = int((jour["statut"] == "calibre").sum()); n_prov = int((jour["statut"] == "provisoire").sum())
299+ readme = f"""# Données SYNTHÉTIQUES du traité — générées le {datetime.date.today().isoformat()} (graine {SEED})
300+
301+**Aucun fichier de ce dossier ne décrit une propriété, une transaction, un locataire ou un immeuble réel.** Les jeux sont produits par
302+`analysis/python/traite/synth.py` (`python3 -m analysis.python.cases.generate_all`). Les ordres de grandeur (prix médians, loyers, taux
303+d'inoccupation, taux de capitalisation, taux de taxe, coûts unitaires) sont calibrés sur des publications publiques consignées dans
304+`calibration.json` et `calibration_journal.csv` ({n_cal} paramètres calibrés avec source, {n_prov} paramètres PROVISOIRES marqués NON_VERIFIE).
305+Les relations entre variables (élasticités, primes de secteur, décote d'ancienneté des baux, lois de tirage) sont des hypothèses pédagogiques
306+énoncées ci-dessous ; elles sont vraisemblables mais ne résultent pas d'une estimation sur données réelles.
307+
308+## Dossiers
309+| Fichier | Lignes | Contenu |
310+|---|---|---|
311+| cas1_gatineau_ventes.csv | {len(c1['ventes'])} | ventes unifamiliales 2023-01 → 2026-08, 5 secteurs, attributs, coordonnées synthétiques, valeur au rôle fictive |
312+| cas1_gatineau_sujet.json | 1 | sujet : cottage 1998, 165 m², Hull |
313+| cas1_gatineau_couts.csv | {len(c1['couts'])} | devis par composantes (quantités × prix unitaires), postes directs/indirects |
314+| cas2_quebec_ventes_plex.csv | {len(c2['ventes'])} | ventes de 2-3 logements, 5 quartiers, loyers, RNE, MRB, taux |
315+| cas2_quebec_sujet.json / _loyers.csv / _depenses.csv | 1 / 3 / 8 | triplex 1948 Limoilou : 3 baux, dépenses |
316+| cas3_montreal_etat_locatif.csv | 12 | état locatif (contrat vs marché, ancienneté) |
317+| cas3_montreal_depenses.csv | {len(c3['depenses'])} | historique 2023-2025 par poste |
318+| cas3_montreal_comparables.csv | {len(c3['comparables'])} | ventes 6-30 logements 2024-09 → 2026-08, RNE, taux |
319+| cas3_montreal_hypotheses_dcf.json | 1 | hypothèses DCF, financement, CAPEX |
320+| cas4_portefeuille.csv | {len(c4['portefeuille'])} | 48 immeubles, 6 RMR, risques, dette |
321+| cas4_portefeuille_series.csv | {len(c4['series'])} | RNE trimestriel 2016T1 → 2026T2 |
322+
323+## Lois de génération (hypothèses pédagogiques)
324+- Cas 1 : ln P = ln(médiane) + 0,55 ln(S/140) + 0,10 ln(T/560) − 0,0055·âge + 0,00003·âge² + 0,06·(qualité−3) + 0,035·garage + 0,03·sous-sol + 0,02·piscine + prime de secteur (Hull 0, Gatineau −5 %, Aylmer +8 %, Buckingham −15 %, Masson-Angers −18 %) − 0,006·max(dist−3, 0) + 0,02·étages + indice temporel (croissance annuelle composée, référence 2024-07-01) + ε, σ = 0,085 ; prix arrondis à 500 $ ; valeur au rôle = valeur à la date de référence × N(0,93 ; 0,07).
325+- Cas 2 : loyer de marché par logement = loyer 2 ch. SCHL × N(0 ; 0,12) × (1 + 0,05(état−3)) × ½ prime de quartier ; loyer contractuel = marché × (1 − 0,02 × ancienneté moyenne) ; ratio de dépenses N(0,36 ; 0,05) ; ln P fonction de la superficie, du nombre de logements, de l'âge, de l'état, du quartier, du stationnement, du niveau de loyer et du temps, σ = 0,09.
326+- Cas 3 : 12 baux (4 × 3½, 6 × 4½, 2 × 5½), loyers contractuels = marché × 0,975^ancienneté ; dépenses par poste avec inflation 2024 +4,5 %, 2025 +3 % ; comparables : taux global = taux de référence × exp(N(0 ; 0,07)) × (1 − 0,03(état−3)) × (1 − 0,004(n−12)) × exp(−½ prime).
327+- Cas 4 : 48 immeubles ; taux global régional × état × (1 + 5 % si zone inondable) × (1 + 3 % si contamination) ; séries de RNE : croissance régionale + marche aléatoire (σ 1,5 %/trim.) + choc pandémique −3 % (2020T2-2021T2).
328+
329+## Paramètres et provenance
330+{jour.to_markdown(index=False)}
331+"""
332+ (OUT / "README.md").write_text(readme)
333+ return {"cas1": c1, "cas2": c2, "cas3": c3, "cas4": c4, "journal": jour}
added data/raw/schl_rml_2025/rmr-gatineau-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/schl_rml_2025/rmr-montreal-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/schl_rml_2025/rmr-quebec-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/schl_rml_2025/rmr-saguenay-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/schl_rml_2025/rmr-sherbrooke-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/schl_rml_2025/rmr-trois-rivieres-2025-fr.xlsx +0 −0

Binary file not shown.

added data/raw/statcan_17100148/17100148_rmr_quebec_total_latest6.json +1 −0
@@ -0,0 +1 @@
1+[{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"10.1.1.0.0.0.0.0.0.0","vectorId":1589873202,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":840396.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":844774.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":857697.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":875108.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":894691.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":903607.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"11.1.1.0.0.0.0.0.0.0","vectorId":1589874582,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":225902.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":229294.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":233354.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":237466.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":242136.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":243911.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"12.1.1.0.0.0.0.0.0.0","vectorId":1589875617,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":161361.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":162531.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":165780.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":168438.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":172585.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":174316.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"13.1.1.0.0.0.0.0.0.0","vectorId":1589876307,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":100909.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":102356.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":103827.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":105919.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":107895.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":109151.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"14.1.1.0.0.0.0.0.0.0","vectorId":1589878032,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":4356853.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":4330143.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":4372296.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":4465221.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":4572813.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":4597837.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"17.1.1.0.0.0.0.0.0.0","vectorId":1589880792,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":352896.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":355971.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":359085.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":363837.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":370694.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":374226.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"191.1.1.0.0.0.0.0.0.0","vectorId":1589881482,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":6200602.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":6187445.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":6256283.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":6382546.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":6530061.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":6573240.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}},{"status":"SUCCESS","object":{"responseStatusCode":0,"productId":17100148,"coordinate":"9.1.1.0.0.0.0.0.0.0","vectorId":1589871822,"vectorDataPoint":[{"refPer":"2020-01-01","refPer2":"","refPerRaw":"2020-07-01","refPerRaw2":"","value":162285.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2024-05-22T08:30","frequencyCode":12},{"refPer":"2021-01-01","refPer2":"","refPerRaw":"2021-07-01","refPerRaw2":"","value":162376.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2025-01-16T08:30","frequencyCode":12},{"refPer":"2022-01-01","refPer2":"","refPerRaw":"2022-07-01","refPerRaw2":"","value":164244.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2023-01-01","refPer2":"","refPerRaw":"2023-07-01","refPerRaw2":"","value":166557.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2024-01-01","refPer2":"","refPerRaw":"2024-07-01","refPerRaw2":"","value":169247.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12},{"refPer":"2025-01-01","refPer2":"","refPerRaw":"2025-07-01","refPerRaw2":"","value":170192.0,"decimals":0,"scalarFactorCode":0,"symbolCode":0,"statusCode":0,"securityLevelCode":0,"releaseTime":"2026-01-14T08:30","frequencyCode":12}]}}]
\ No newline at end of file
added data/synthetic/README.md +58 −0
@@ -0,0 +1,58 @@
1+# Données SYNTHÉTIQUES du traité — générées le 2026-10-31 (graine 20261031)
2+
3+**Aucun fichier de ce dossier ne décrit une propriété, une transaction, un locataire ou un immeuble réel.** Les jeux sont produits par
4+`analysis/python/traite/synth.py` (`python3 -m analysis.python.cases.generate_all`). Les ordres de grandeur (prix médians, loyers, taux
5+d'inoccupation, taux de capitalisation, taux de taxe, coûts unitaires) sont calibrés sur des publications publiques consignées dans
6+`calibration.json` et `calibration_journal.csv` (0 paramètres calibrés avec source, 25 paramètres PROVISOIRES marqués NON_VERIFIE).
7+Les relations entre variables (élasticités, primes de secteur, décote d'ancienneté des baux, lois de tirage) sont des hypothèses pédagogiques
8+énoncées ci-dessous ; elles sont vraisemblables mais ne résultent pas d'une estimation sur données réelles.
9+
10+## Dossiers
11+| Fichier | Lignes | Contenu |
12+|---|---|---|
13+| cas1_gatineau_ventes.csv | 600 | ventes unifamiliales 2023-01 → 2026-08, 5 secteurs, attributs, coordonnées synthétiques, valeur au rôle fictive |
14+| cas1_gatineau_sujet.json | 1 | sujet : cottage 1998, 165 m², Hull |
15+| cas1_gatineau_couts.csv | 38 | devis par composantes (quantités × prix unitaires), postes directs/indirects |
16+| cas2_quebec_ventes_plex.csv | 250 | ventes de 2-3 logements, 5 quartiers, loyers, RNE, MRB, taux |
17+| cas2_quebec_sujet.json / _loyers.csv / _depenses.csv | 1 / 3 / 8 | triplex 1948 Limoilou : 3 baux, dépenses |
18+| cas3_montreal_etat_locatif.csv | 12 | état locatif (contrat vs marché, ancienneté) |
19+| cas3_montreal_depenses.csv | 36 | historique 2023-2025 par poste |
20+| cas3_montreal_comparables.csv | 40 | ventes 6-30 logements 2024-09 → 2026-08, RNE, taux |
21+| cas3_montreal_hypotheses_dcf.json | 1 | hypothèses DCF, financement, CAPEX |
22+| cas4_portefeuille.csv | 48 | 48 immeubles, 6 RMR, risques, dette |
23+| cas4_portefeuille_series.csv | 2016 | RNE trimestriel 2016T1 → 2026T2 |
24+
25+## Lois de génération (hypothèses pédagogiques)
26+- Cas 1 : ln P = ln(médiane) + 0,55 ln(S/140) + 0,10 ln(T/560) − 0,0055·âge + 0,00003·âge² + 0,06·(qualité−3) + 0,035·garage + 0,03·sous-sol + 0,02·piscine + prime de secteur (Hull 0, Gatineau −5 %, Aylmer +8 %, Buckingham −15 %, Masson-Angers −18 %) − 0,006·max(dist−3, 0) + 0,02·étages + indice temporel (croissance annuelle composée, référence 2024-07-01) + ε, σ = 0,085 ; prix arrondis à 500 $ ; valeur au rôle = valeur à la date de référence × N(0,93 ; 0,07).
27+- Cas 2 : loyer de marché par logement = loyer 2 ch. SCHL × N(0 ; 0,12) × (1 + 0,05(état−3)) × ½ prime de quartier ; loyer contractuel = marché × (1 − 0,02 × ancienneté moyenne) ; ratio de dépenses N(0,36 ; 0,05) ; ln P fonction de la superficie, du nombre de logements, de l'âge, de l'état, du quartier, du stationnement, du niveau de loyer et du temps, σ = 0,09.
28+- Cas 3 : 12 baux (4 × 3½, 6 × 4½, 2 × 5½), loyers contractuels = marché × 0,975^ancienneté ; dépenses par poste avec inflation 2024 +4,5 %, 2025 +3 % ; comparables : taux global = taux de référence × exp(N(0 ; 0,07)) × (1 − 0,03(état−3)) × (1 − 0,004(n−12)) × exp(−½ prime).
29+- Cas 4 : 48 immeubles ; taux global régional × état × (1 + 5 % si zone inondable) × (1 + 3 % si contamination) ; séries de RNE : croissance régionale + marche aléatoire (σ 1,5 %/trim.) + choc pandémique −3 % (2020T2-2021T2).
30+
31+## Paramètres et provenance
32+| parametre | valeur | unite | source_id | periode | statut | note |
33+|:---------------------------------------------|---------------:|:-----------------|:------------|:----------|:-----------|:--------------------------------------------------------------------|
34+| prix_median_unifamiliale_rmr_gatineau | 520000 | $ | NON_VERIFIE | | provisoire | prix médian unifamiliale RMR Gatineau (APCIQ) |
35+| croissance_annuelle_prix_gatineau | 0.07 | proportion | NON_VERIFIE | | provisoire | variation annuelle du prix médian |
36+| cout_construction_unifamiliale_par_m2_quebec | 2900 | $/m² habitable | NON_VERIFIE | | provisoire | coût neuf typique unifamiliale (tout compris) |
37+| prix_median_plex_rmr_quebec | 560000 | $ | NON_VERIFIE | | provisoire | prix médian plex 2-5 log. RMR Québec (APCIQ) |
38+| loyer_moyen_2ch_rmr_quebec | 1200 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. RMR Québec (SCHL) |
39+| taux_inoccupation_rmr_quebec | 0.01 | proportion | NON_VERIFIE | | provisoire | taux d'inoccupation RMR Québec (SCHL) |
40+| croissance_annuelle_prix_quebec | 0.1 | proportion | NON_VERIFIE | | provisoire | variation annuelle du prix médian plex Québec |
41+| loyer_moyen_2ch_rmr_montreal | 1250 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. RMR Montréal (SCHL) |
42+| loyer_moyen_1ch_rmr_montreal | 1050 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 1 ch. RMR Montréal (SCHL) |
43+| loyer_moyen_3ch_rmr_montreal | 1550 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 3 ch.+ RMR Montréal (SCHL) |
44+| taux_inoccupation_rmr_montreal | 0.02 | proportion | NON_VERIFIE | | provisoire | taux d'inoccupation RMR Montréal (SCHL) |
45+| taux_capitalisation_multires_montreal | 0.0475 | proportion | NON_VERIFIE | | provisoire | taux de capitalisation multirésidentiel Montréal (enquête publique) |
46+| taux_hypothecaire_multires_assure | 0.042 | proportion | NON_VERIFIE | | provisoire | taux assuré SCHL 5 ans (indicatif) |
47+| taux_taxe_fonciere_montreal_residentiel_2026 | 0.0065 | $/$ d'évaluation | NON_VERIFIE | | provisoire | taux global résidentiel Montréal |
48+| taux_taxe_scolaire_2025_2026 | 0.0009152 | $/$ d'évaluation | NON_VERIFIE | | provisoire | taux unique de la taxe scolaire 2025-2026 |
49+| tal_pourcentage_base_2026 | 0.039 | proportion | NON_VERIFIE | | provisoire | pourcentage de base TAL 2026 (logements non chauffés) |
50+| taux_capitalisation_multires_quebec | 0.0525 | proportion | NON_VERIFIE | | provisoire | taux de cap. multirés. Québec |
51+| loyer_moyen_2ch_rmr_gatineau | 1450 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. RMR Gatineau (SCHL) |
52+| taux_inoccupation_rmr_gatineau | 0.015 | proportion | NON_VERIFIE | | provisoire | inocc. Gatineau |
53+| loyer_moyen_2ch_rmr_sherbrooke | 1100 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. Sherbrooke |
54+| taux_inoccupation_rmr_sherbrooke | 0.01 | proportion | NON_VERIFIE | | provisoire | inocc. Sherbrooke |
55+| loyer_moyen_2ch_rmr_trois_rivieres | 1000 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. Trois-Rivières |
56+| taux_inoccupation_rmr_trois_rivieres | 0.01 | proportion | NON_VERIFIE | | provisoire | inocc. Trois-Rivières |
57+| loyer_moyen_2ch_rmr_saguenay | 950 | $/mois | NON_VERIFIE | | provisoire | loyer moyen 2 ch. Saguenay |
58+| taux_inoccupation_rmr_saguenay | 0.01 | proportion | NON_VERIFIE | | provisoire | inocc. Saguenay |
added data/synthetic/calibration_journal.csv +26 −0
@@ -0,0 +1,26 @@
1+parametre,valeur,unite,source_id,periode,statut,note
2+prix_median_unifamiliale_rmr_gatineau,520000.0,$,NON_VERIFIE,,provisoire,prix médian unifamiliale RMR Gatineau (APCIQ)
3+croissance_annuelle_prix_gatineau,0.07,proportion,NON_VERIFIE,,provisoire,variation annuelle du prix médian
4+cout_construction_unifamiliale_par_m2_quebec,2900.0,$/m² habitable,NON_VERIFIE,,provisoire,coût neuf typique unifamiliale (tout compris)
5+prix_median_plex_rmr_quebec,560000.0,$,NON_VERIFIE,,provisoire,prix médian plex 2-5 log. RMR Québec (APCIQ)
6+loyer_moyen_2ch_rmr_quebec,1200.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. RMR Québec (SCHL)
7+taux_inoccupation_rmr_quebec,0.01,proportion,NON_VERIFIE,,provisoire,taux d'inoccupation RMR Québec (SCHL)
8+croissance_annuelle_prix_quebec,0.1,proportion,NON_VERIFIE,,provisoire,variation annuelle du prix médian plex Québec
9+loyer_moyen_2ch_rmr_montreal,1250.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. RMR Montréal (SCHL)
10+loyer_moyen_1ch_rmr_montreal,1050.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 1 ch. RMR Montréal (SCHL)
11+loyer_moyen_3ch_rmr_montreal,1550.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 3 ch.+ RMR Montréal (SCHL)
12+taux_inoccupation_rmr_montreal,0.02,proportion,NON_VERIFIE,,provisoire,taux d'inoccupation RMR Montréal (SCHL)
13+taux_capitalisation_multires_montreal,0.0475,proportion,NON_VERIFIE,,provisoire,taux de capitalisation multirésidentiel Montréal (enquête publique)
14+taux_hypothecaire_multires_assure,0.042,proportion,NON_VERIFIE,,provisoire,taux assuré SCHL 5 ans (indicatif)
15+taux_taxe_fonciere_montreal_residentiel_2026,0.0065,$/$ d'évaluation,NON_VERIFIE,,provisoire,taux global résidentiel Montréal
16+taux_taxe_scolaire_2025_2026,0.0009152,$/$ d'évaluation,NON_VERIFIE,,provisoire,taux unique de la taxe scolaire 2025-2026
17+tal_pourcentage_base_2026,0.039,proportion,NON_VERIFIE,,provisoire,pourcentage de base TAL 2026 (logements non chauffés)
18+taux_capitalisation_multires_quebec,0.0525,proportion,NON_VERIFIE,,provisoire,taux de cap. multirés. Québec
19+loyer_moyen_2ch_rmr_gatineau,1450.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. RMR Gatineau (SCHL)
20+taux_inoccupation_rmr_gatineau,0.015,proportion,NON_VERIFIE,,provisoire,inocc. Gatineau
21+loyer_moyen_2ch_rmr_sherbrooke,1100.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. Sherbrooke
22+taux_inoccupation_rmr_sherbrooke,0.01,proportion,NON_VERIFIE,,provisoire,inocc. Sherbrooke
23+loyer_moyen_2ch_rmr_trois_rivieres,1000.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. Trois-Rivières
24+taux_inoccupation_rmr_trois_rivieres,0.01,proportion,NON_VERIFIE,,provisoire,inocc. Trois-Rivières
25+loyer_moyen_2ch_rmr_saguenay,950.0,$/mois,NON_VERIFIE,,provisoire,loyer moyen 2 ch. Saguenay
26+taux_inoccupation_rmr_saguenay,0.01,proportion,NON_VERIFIE,,provisoire,inocc. Saguenay
added data/synthetic/cas1_gatineau_couts.csv +39 −0
@@ -0,0 +1,39 @@
1+poste,unite,quantite,prix_unitaire,indirect,montant
2+Excavation et remblai,m³,420,26.8,False,11256.0
3+"Fondations béton (semelles, murs)",m³,38,497.64,False,18910.32
4+Dalle de sous-sol,m²,95,90.92,False,8637.4
5+Drain français et imperméabilisation,m lin.,42,114.84,False,4823.28
6+Charpente murs et planchers,m²,330,157.9,False,52107.0
7+Fermes de toit,m²,110,90.92,False,10001.2
8+Couverture bardeaux d'asphalte,m²,125,81.34,False,10167.5
9+Revêtement extérieur (brique 40 % / fibrociment 60 %),m²,240,157.9,False,37896.0
10+Isolation et pare-vapeur,m²,420,30.62,False,12860.4
11+Fenêtres (PVC double vitrage),unité,16,1387.65,False,22202.4
12+Portes extérieures,unité,3,1818.3,False,5454.9
13+Porte de garage,unité,1,2488.2,False,2488.2
14+Gypse et tirage de joints,m²,620,36.37,False,22549.4
15+Peinture intérieure,m²,620,13.4,False,8308.0
16+Planchers bois franc,m²,95,114.84,False,10909.8
17+Planchers céramique,m²,35,129.2,False,4522.0
18+Planchers flottants (sous-sol),m²,70,52.64,False,3684.8
19+Escaliers,unité,2,4593.6,False,9187.2
20+Portes intérieures et moulures,unité,14,622.05,False,8708.7
21+Armoires de cuisine et comptoirs,forfait,1,22968.0,False,22968.0
22+Vanités et accessoires (2 sdb),forfait,1,7177.5,False,7177.5
23+Plomberie brute et finition,appareil,14,1579.05,False,22106.7
24+Chauffe-eau,unité,1,1531.2,False,1531.2
25+"Électricité (entrée 200 A, filage, appareils)",forfait,1,18661.5,False,18661.5
26+Ventilation (VRC) et conduits,forfait,1,7464.6,False,7464.6
27+Thermopompe centrale et plinthes,forfait,1,13876.5,False,13876.5
28+Éclairage et finition électrique,forfait,1,4019.4,False,4019.4
29+Gouttières et solins,m lin.,48,43.06,False,2066.88
30+Balcon et perron,m²,14,622.05,False,8708.7
31+Entrée asphaltée,m²,55,62.2,False,3421.0
32+Aménagement paysager de base,forfait,1,6220.5,False,6220.5
33+Raccordements aqueduc/égout,forfait,1,9091.5,False,9091.5
34+Nettoyage et conteneurs,forfait,1,3636.6,False,3636.6
35+"Permis et études (arpentage, sol)",forfait,1,5933.4,True,5933.4
36+Supervision de chantier (salaires),semaine,26,1818.3,True,47275.8
37+Assurances chantier et cautionnement,forfait,1,4976.4,True,4976.4
38+Plans et honoraires professionnels,forfait,1,13398.0,True,13398.0
39+Financement intérimaire,forfait,1,11292.6,True,11292.6
added data/synthetic/cas1_gatineau_sujet.json +21 −0
@@ -0,0 +1,21 @@
1+{
2+ "adresse_fictive": "123, rue des Érables (fictive), secteur Hull, Gatineau",
3+ "secteur": "Hull",
4+ "type": "à étages",
5+ "superficie_habitable_m2": 165,
6+ "superficie_terrain_m2": 620,
7+ "annee_construction": 1998,
8+ "age": 28,
9+ "qualite_1a5": 3,
10+ "garage_places": 1,
11+ "sous_sol_fini": 1,
12+ "piscine": 0,
13+ "chambres": 4,
14+ "salles_de_bain": 2,
15+ "lat": 45.4215,
16+ "lon": -75.7395,
17+ "dist_centre_km": 2.1,
18+ "valeur_role_2025": 468000,
19+ "date_evaluation": "2026-09-01",
20+ "note": "DONNÉES SYNTHÉTIQUES — propriété fictive construite pour le traité"
21+}
\ No newline at end of file
added data/synthetic/cas1_gatineau_ventes.csv +601 −0
@@ -0,0 +1,601 @@
1+id_vente,date_vente,secteur,type,superficie_habitable_m2,superficie_terrain_m2,annee_construction,age,qualite_1a5,garage_places,sous_sol_fini,piscine,chambres,salles_de_bain,lat,lon,dist_centre_km,valeur_role_2025,prix_vente
2+G0001,2023-01-01,Gatineau,à étages,99.0,682.0,1959,67,3,1,1,0,2,1,45.46197,-75.66115,5.59,426000.0,358500.0
3+G0002,2023-01-02,Gatineau,plain-pied,70.0,523.0,1981,45,3,0,0,0,1,1,45.47895,-75.63745,8.22,270800.0,275000.0
4+G0003,2023-01-02,Hull,plain-pied,241.0,298.0,1953,73,2,0,0,0,6,3,45.43965,-75.72321,1.48,468100.0,530000.0
5+G0004,2023-01-04,Aylmer,plain-pied,128.0,428.0,1972,54,2,1,0,0,3,2,45.40395,-75.87713,13.0,452300.0,451000.0
6+G0005,2023-01-07,Buckingham,à étages,170.0,1171.0,1981,45,4,1,0,0,3,3,45.6027,-75.40304,31.05,445200.0,451500.0
7+G0006,2023-01-08,Aylmer,à étages,160.0,487.0,1969,57,2,2,1,0,3,2,45.3798,-75.82833,10.4,541000.0,490000.0
8+G0007,2023-01-09,Gatineau,plain-pied,221.0,392.0,1993,33,3,1,1,0,4,3,45.48364,-75.63421,8.77,565600.0,571500.0
9+G0008,2023-01-10,Aylmer,à étages,156.0,681.0,2005,21,3,0,0,0,3,2,45.41102,-75.80229,7.14,649800.0,598000.0
10+G0009,2023-01-15,Aylmer,plain-pied,184.0,705.0,1990,36,3,0,1,0,4,2,45.36912,-75.82873,11.08,504100.0,532500.0
11+G0010,2023-01-16,Aylmer,plain-pied,165.0,656.0,1995,31,3,0,0,0,3,2,45.40422,-75.85063,10.98,561800.0,579500.0
12+G0011,2023-01-16,Buckingham,à étages,122.0,838.0,1978,48,3,0,1,0,3,2,45.60298,-75.46734,27.34,338500.0,359000.0
13+G0012,2023-01-20,Buckingham,plain-pied,118.0,581.0,1995,31,3,2,1,0,2,2,45.5872,-75.40089,30.15,349800.0,347000.0
14+G0013,2023-01-22,Hull,plain-pied,136.0,489.0,1974,52,3,1,1,1,3,1,45.42471,-75.7571,3.38,425300.0,465500.0
15+G0014,2023-01-22,Gatineau,à étages,112.0,566.0,1960,66,3,0,1,0,2,1,45.48402,-75.64032,8.47,411400.0,385000.0
16+G0015,2023-01-22,Hull,plain-pied,157.0,867.0,2008,18,1,2,0,0,3,1,45.4114,-75.71449,1.84,495200.0,509500.0
17+G0016,2023-01-26,Gatineau,à étages,81.0,647.0,1976,50,2,2,1,0,3,1,45.48465,-75.63044,9.06,388500.0,366000.0
18+G0017,2023-01-28,Masson-Angers,à étages,152.0,877.0,1980,46,3,1,0,0,3,3,45.54569,-75.37397,29.56,369400.0,368500.0
19+G0018,2023-01-30,Masson-Angers,plain-pied,136.0,847.0,1943,83,3,1,0,0,3,1,45.5406,-75.40561,27.11,375100.0,350500.0
20+G0019,2023-02-03,Hull,à étages,123.0,375.0,1998,28,2,1,0,0,2,1,45.45406,-75.72057,2.94,386400.0,444000.0
21+G0020,2023-02-08,Hull,plain-pied,234.0,489.0,1971,55,2,2,0,0,5,3,45.44824,-75.72607,2.44,646600.0,598500.0
22+G0021,2023-02-17,Aylmer,plain-pied,165.0,740.0,1998,28,4,1,1,0,3,2,45.39691,-75.89649,14.65,654800.0,607000.0
23+G0022,2023-02-19,Gatineau,à étages,165.0,694.0,1994,32,3,1,0,0,3,3,45.49498,-75.69043,7.66,522600.0,549500.0
24+G0023,2023-03-01,Aylmer,plain-pied,114.0,461.0,1964,62,4,0,0,0,2,2,45.38271,-75.84297,11.25,447000.0,482000.0
25+G0024,2023-03-06,Hull,plain-pied,111.0,643.0,1996,30,3,0,0,0,3,1,45.40437,-75.70369,2.74,446900.0,428500.0
26+G0025,2023-03-08,Gatineau,plain-pied,92.0,392.0,1974,52,3,0,0,1,3,1,45.48274,-75.62879,9.01,388700.0,344500.0
27+G0026,2023-03-09,Masson-Angers,plain-pied,151.0,1030.0,1978,48,4,0,1,1,3,1,45.55417,-75.41127,27.45,373600.0,387500.0
28+G0027,2023-03-14,Gatineau,plain-pied,101.0,414.0,2004,22,4,0,1,0,3,2,45.45318,-75.64667,5.95,381100.0,386500.0
29+G0028,2023-03-14,Gatineau,à étages,178.0,447.0,1971,55,3,0,1,0,4,3,45.47765,-75.65606,7.13,402700.0,463000.0
30+G0029,2023-03-15,Aylmer,plain-pied,116.0,599.0,1983,43,3,1,1,0,3,2,45.38837,-75.85409,11.78,387500.0,409500.0
31+G0030,2023-03-17,Gatineau,à étages,168.0,301.0,1979,47,3,1,0,0,3,2,45.48268,-75.64278,8.23,455200.0,427000.0
32+G0031,2023-03-17,Hull,à étages,105.0,943.0,1989,37,2,1,1,0,2,1,45.44571,-75.66175,4.52,417600.0,415000.0
33+G0032,2023-03-19,Gatineau,plain-pied,140.0,544.0,1956,70,2,0,1,0,4,1,45.47962,-75.61785,9.44,340900.0,355500.0
34+G0033,2023-03-20,Gatineau,plain-pied,132.0,360.0,1988,38,4,1,1,0,3,2,45.48165,-75.63709,8.45,462500.0,440500.0
35+G0034,2023-03-23,Aylmer,à étages,163.0,899.0,1968,58,1,0,0,0,3,2,45.38295,-75.86606,12.87,364800.0,407500.0
36+G0035,2023-03-25,Gatineau,à étages,253.0,541.0,1977,49,2,1,0,0,6,3,45.47584,-75.66252,6.66,537200.0,554500.0
37+G0036,2023-03-26,Aylmer,à étages,93.0,426.0,1975,51,2,0,0,0,3,2,45.40349,-75.88157,13.35,384900.0,344500.0
38+G0037,2023-03-27,Hull,plain-pied,122.0,1013.0,1952,74,4,1,0,0,3,1,45.41751,-75.68771,2.36,460100.0,438500.0
39+G0038,2023-03-27,Hull,plain-pied,122.0,551.0,1957,69,4,2,0,0,3,1,45.43466,-75.73177,1.57,502900.0,500000.0
40+G0039,2023-03-27,Gatineau,à étages,150.0,394.0,1978,48,4,1,0,1,4,2,45.49089,-75.61424,10.45,502100.0,503500.0
41+G0040,2023-04-01,Gatineau,à étages,148.0,903.0,2007,19,3,0,0,0,2,2,45.46501,-75.67177,5.27,565200.0,555500.0
42+G0041,2023-04-11,Gatineau,à étages,89.0,443.0,2008,18,4,1,0,0,2,1,45.45414,-75.64552,6.08,410900.0,440500.0
43+G0042,2023-04-12,Aylmer,plain-pied,161.0,526.0,1991,35,2,0,0,0,4,2,45.41027,-75.83661,9.76,474200.0,478000.0
44+G0043,2023-04-13,Gatineau,plain-pied,237.0,906.0,1971,55,3,0,1,0,5,3,45.47101,-75.68194,5.39,696900.0,668500.0
45+G0044,2023-04-13,Aylmer,à étages,148.0,473.0,1978,48,3,0,0,0,3,1,45.38728,-75.8471,11.32,563400.0,520500.0
46+G0045,2023-04-14,Gatineau,plain-pied,122.0,610.0,1992,34,3,0,0,0,2,2,45.48581,-75.63203,9.06,384700.0,416500.0
47+G0046,2023-04-14,Hull,plain-pied,139.0,571.0,2025,1,3,1,1,0,2,1,45.41563,-75.67674,3.21,607000.0,573000.0
48+G0047,2023-04-16,Masson-Angers,à étages,166.0,1794.0,1992,34,3,0,0,0,3,2,45.52522,-75.40067,26.72,562300.0,551000.0
49+G0048,2023-04-17,Gatineau,à étages,182.0,537.0,1995,31,2,0,0,0,5,2,45.48227,-75.66083,7.31,559700.0,557000.0
50+G0049,2023-04-18,Buckingham,plain-pied,131.0,1984.0,2020,6,2,0,0,0,4,1,45.57139,-75.41728,28.09,467000.0,476000.0
51+G0050,2023-04-19,Hull,à étages,159.0,471.0,1972,54,2,1,1,0,3,1,45.43154,-75.70201,1.01,524300.0,529500.0
52+G0051,2023-04-20,Hull,plain-pied,182.0,542.0,2010,16,2,0,0,0,5,2,45.44128,-75.7138,1.47,529900.0,545000.0
53+G0052,2023-04-24,Masson-Angers,plain-pied,171.0,1151.0,1991,35,4,0,1,0,3,2,45.52596,-75.44001,23.98,412800.0,508500.0
54+G0053,2023-04-28,Gatineau,à étages,92.0,767.0,1968,58,3,1,0,0,3,1,45.46657,-75.68592,4.81,365000.0,379000.0
55+G0054,2023-05-01,Hull,plain-pied,178.0,487.0,2005,21,4,2,1,0,4,1,45.43028,-75.70067,1.07,687900.0,633500.0
56+G0055,2023-05-05,Hull,plain-pied,196.0,362.0,1999,27,5,0,0,0,4,3,45.45639,-75.72398,3.25,660300.0,681000.0
57+G0056,2023-05-06,Hull,à étages,130.0,602.0,1994,32,3,2,1,0,2,2,45.43074,-75.71288,0.32,541300.0,497500.0
58+G0057,2023-05-13,Gatineau,plain-pied,102.0,703.0,2025,1,3,0,1,0,2,2,45.47034,-75.65128,6.78,412400.0,468000.0
59+G0058,2023-05-14,Hull,plain-pied,99.0,621.0,2022,4,3,1,1,0,1,2,45.43419,-75.70659,0.9,524200.0,553000.0
60+G0059,2023-05-16,Gatineau,à étages,153.0,963.0,1943,83,3,1,0,0,3,3,45.47999,-75.62603,8.97,550400.0,575000.0
61+G0060,2023-05-20,Aylmer,plain-pied,161.0,479.0,1964,62,4,1,0,0,3,2,45.39361,-75.86582,12.44,469600.0,477500.0
62+G0061,2023-05-25,Hull,à étages,96.0,571.0,2016,10,3,0,0,0,2,1,45.43785,-75.67444,3.27,378500.0,416500.0
63+G0062,2023-05-27,Hull,plain-pied,128.0,819.0,2009,17,2,0,0,0,3,2,45.44217,-75.70411,1.75,433700.0,451500.0
64+G0063,2023-05-28,Aylmer,plain-pied,109.0,521.0,1971,55,2,1,1,0,3,1,45.41591,-75.82831,9.02,446200.0,412000.0
65+G0064,2023-06-01,Hull,à étages,84.0,646.0,1987,39,3,0,1,0,3,1,45.43377,-75.70292,1.08,440800.0,452500.0
66+G0065,2023-06-02,Gatineau,à étages,177.0,840.0,1966,60,3,1,1,0,3,2,45.46887,-75.6311,7.9,581400.0,524000.0
67+G0066,2023-06-03,Masson-Angers,plain-pied,109.0,958.0,1983,43,3,2,1,0,2,1,45.55701,-75.43256,26.21,341800.0,356500.0
68+G0067,2023-06-07,Aylmer,à étages,98.0,840.0,1999,27,2,1,1,0,4,1,45.40368,-75.82935,9.39,457200.0,481500.0
69+G0068,2023-06-08,Masson-Angers,à étages,161.0,1159.0,1989,37,3,1,1,0,4,2,45.5524,-75.42815,26.23,438200.0,432500.0
70+G0069,2023-06-10,Gatineau,plain-pied,100.0,429.0,1989,37,2,0,0,1,3,1,45.48071,-75.65085,7.65,408700.0,370000.0
71+G0070,2023-06-12,Gatineau,à étages,134.0,1040.0,1990,36,4,2,1,0,2,2,45.50017,-75.64266,9.75,561900.0,547000.0
72+G0071,2023-06-12,Masson-Angers,à étages,124.0,1285.0,2004,22,4,0,1,0,2,2,45.54027,-75.42911,25.48,389300.0,403000.0
73+G0072,2023-06-15,Gatineau,à étages,134.0,409.0,1970,56,4,0,1,0,3,2,45.48244,-75.64214,8.24,511000.0,466500.0
74+G0073,2023-06-17,Gatineau,à étages,133.0,661.0,1980,46,2,0,0,1,3,3,45.47741,-75.62944,8.58,383600.0,437000.0
75+G0074,2023-06-18,Hull,plain-pied,82.0,667.0,1975,51,3,0,1,0,2,1,45.42452,-75.70693,0.67,386500.0,385000.0
76+G0075,2023-06-22,Gatineau,plain-pied,159.0,971.0,1953,73,2,1,1,1,4,2,45.47613,-75.66946,6.37,620400.0,518000.0
77+G0076,2023-06-25,Aylmer,à étages,146.0,441.0,1966,60,3,0,0,1,3,2,45.40115,-75.87545,12.94,528800.0,500500.0
78+G0077,2023-06-30,Masson-Angers,plain-pied,101.0,1137.0,1996,30,5,0,1,0,3,1,45.51254,-75.41078,25.44,342100.0,341000.0
79+G0078,2023-06-30,Gatineau,à étages,161.0,782.0,2025,1,3,1,1,0,4,2,45.49609,-75.64154,9.44,656900.0,666500.0
80+G0079,2023-07-02,Hull,plain-pied,206.0,558.0,1995,31,3,0,1,0,5,2,45.42663,-75.71966,0.47,490900.0,596500.0
81+G0080,2023-07-07,Hull,plain-pied,160.0,533.0,1998,28,3,0,1,1,4,2,45.42921,-75.72497,0.87,580200.0,602000.0
82+G0081,2023-07-10,Hull,à étages,105.0,392.0,2007,19,2,2,1,0,1,1,45.44152,-75.72237,1.64,473000.0,513500.0
83+G0082,2023-07-12,Aylmer,à étages,180.0,1254.0,1958,68,1,0,1,0,5,2,45.37206,-75.82234,10.49,536200.0,608500.0
84+G0083,2023-07-13,Buckingham,plain-pied,125.0,1119.0,1968,58,2,0,1,0,2,2,45.60248,-75.44577,28.51,321600.0,335000.0
85+G0084,2023-07-14,Gatineau,à étages,142.0,575.0,1982,44,4,1,1,0,3,2,45.476,-75.65411,7.09,638800.0,589000.0
86+G0085,2023-07-18,Gatineau,à étages,91.0,486.0,1961,65,4,2,0,0,2,1,45.45434,-75.69141,3.41,372500.0,364000.0
87+G0086,2023-07-19,Masson-Angers,plain-pied,182.0,1270.0,2003,23,2,1,1,0,4,3,45.53483,-75.40572,26.81,372300.0,422000.0
88+G0087,2023-07-20,Gatineau,plain-pied,160.0,460.0,1987,39,4,1,1,0,3,2,45.45893,-75.67071,4.82,584300.0,601500.0
89+G0088,2023-07-20,Gatineau,à étages,166.0,434.0,1962,64,3,1,1,0,3,2,45.48263,-75.61351,9.91,477800.0,506500.0
90+G0089,2023-07-23,Gatineau,à étages,156.0,573.0,1980,46,3,0,1,0,3,2,45.47767,-75.65173,7.35,602600.0,585000.0
91+G0090,2023-07-26,Masson-Angers,plain-pied,213.0,756.0,1978,48,3,0,0,0,5,3,45.55003,-75.39767,28.15,435400.0,442000.0
92+G0091,2023-07-27,Gatineau,plain-pied,120.0,709.0,1990,36,2,0,1,0,4,2,45.47395,-75.67741,5.84,411400.0,476500.0
93+G0092,2023-07-29,Aylmer,plain-pied,97.0,339.0,2001,25,4,0,1,0,2,1,45.40012,-75.84966,11.02,454600.0,429500.0
94+G0093,2023-07-31,Aylmer,à étages,135.0,1031.0,1983,43,5,1,0,0,3,1,45.40107,-75.84393,10.57,562700.0,640500.0
95+G0094,2023-08-04,Masson-Angers,à étages,146.0,1231.0,1959,67,3,0,1,0,3,1,45.54456,-75.40583,27.3,359300.0,350000.0
96+G0095,2023-08-07,Hull,plain-pied,114.0,501.0,1986,40,1,1,1,0,2,1,45.4411,-75.71661,1.47,369400.0,428000.0
97+G0096,2023-08-08,Hull,à étages,209.0,928.0,1984,42,3,1,1,0,5,3,45.43671,-75.68057,2.78,717100.0,675500.0
98+G0097,2023-08-08,Gatineau,à étages,141.0,447.0,1976,50,2,0,0,0,3,2,45.47816,-75.6667,6.68,442200.0,446000.0
99+G0098,2023-08-10,Masson-Angers,à étages,173.0,1027.0,1985,41,2,1,1,0,3,3,45.5513,-75.42481,26.38,374000.0,410000.0
100+G0099,2023-08-10,Aylmer,plain-pied,91.0,333.0,1971,55,2,1,0,0,1,1,45.39862,-75.84529,10.75,346100.0,344500.0
101+G0100,2023-08-14,Hull,à étages,78.0,379.0,1974,52,3,1,1,0,2,1,45.43332,-75.70067,1.2,322400.0,345500.0
102+G0101,2023-08-14,Gatineau,à étages,153.0,549.0,2009,17,4,2,1,0,3,2,45.47971,-75.67034,6.67,554300.0,580500.0
103+G0102,2023-08-15,Gatineau,à étages,112.0,528.0,1997,29,3,1,1,0,2,1,45.46725,-75.68217,5.01,458000.0,504000.0
104+G0103,2023-08-19,Gatineau,à étages,142.0,388.0,1998,28,2,1,0,0,3,2,45.4629,-75.63594,7.22,382200.0,387000.0
105+G0104,2023-08-21,Gatineau,à étages,99.0,445.0,1984,42,4,0,1,1,1,1,45.47074,-75.65732,6.48,400000.0,428500.0
106+G0105,2023-08-22,Hull,à étages,116.0,597.0,1969,57,3,1,0,0,2,1,45.40128,-75.70607,3.03,498300.0,422500.0
107+G0106,2023-08-23,Buckingham,plain-pied,124.0,1459.0,1992,34,4,0,1,0,3,3,45.59494,-75.38888,31.41,442700.0,452500.0
108+G0107,2023-08-23,Aylmer,à étages,173.0,474.0,2006,20,2,0,1,0,4,3,45.39885,-75.88522,13.74,609000.0,556000.0
109+G0108,2023-08-26,Aylmer,à étages,146.0,546.0,1960,66,2,1,1,0,3,2,45.39334,-75.84949,11.25,385600.0,427000.0
110+G0109,2023-08-28,Buckingham,à étages,153.0,948.0,1993,33,4,1,0,0,3,2,45.57618,-75.42094,28.16,394500.0,390500.0
111+G0110,2023-08-28,Gatineau,plain-pied,195.0,369.0,1972,54,4,0,0,0,3,3,45.47327,-75.66465,6.33,605000.0,574000.0
112+G0111,2023-09-04,Hull,à étages,205.0,582.0,1973,53,3,0,1,0,4,3,45.43723,-75.70511,1.24,724500.0,677500.0
113+G0112,2023-09-05,Aylmer,plain-pied,161.0,744.0,1972,54,2,2,1,0,5,2,45.39524,-75.84358,10.74,574100.0,585500.0
114+G0113,2023-09-05,Gatineau,plain-pied,169.0,754.0,1976,50,3,0,0,0,4,2,45.4736,-75.66679,6.26,417200.0,462500.0
115+G0114,2023-09-07,Gatineau,plain-pied,123.0,522.0,1959,67,3,0,0,0,2,2,45.49099,-75.65885,8.21,351900.0,384500.0
116+G0115,2023-09-11,Aylmer,à étages,118.0,436.0,1962,64,3,0,0,0,3,2,45.38745,-75.86279,12.45,364700.0,427500.0
117+G0116,2023-09-15,Gatineau,à étages,204.0,768.0,1984,42,4,0,1,0,4,3,45.46143,-75.67143,4.98,690600.0,668000.0
118+G0117,2023-09-17,Hull,plain-pied,169.0,700.0,1997,29,2,0,0,0,2,2,45.42659,-75.70958,0.38,608100.0,568000.0
119+G0118,2023-09-22,Aylmer,à étages,185.0,595.0,1989,37,2,0,0,0,5,2,45.37581,-75.83797,11.27,540600.0,599500.0
120+G0119,2023-09-23,Masson-Angers,à étages,110.0,985.0,1998,28,2,0,0,0,1,1,45.54547,-75.41807,26.51,313600.0,332000.0
121+G0120,2023-09-29,Aylmer,plain-pied,212.0,419.0,1989,37,3,1,1,0,4,2,45.3906,-75.84941,11.35,545600.0,627000.0
122+G0121,2023-10-11,Hull,plain-pied,111.0,629.0,2012,14,4,1,1,1,2,1,45.42007,-75.71411,0.88,489100.0,523500.0
123+G0122,2023-10-11,Masson-Angers,plain-pied,96.0,719.0,2010,16,2,0,0,0,3,2,45.54434,-75.39575,27.98,338300.0,317500.0
124+G0123,2023-10-14,Masson-Angers,plain-pied,166.0,878.0,1965,61,2,1,0,0,4,2,45.53829,-75.4414,24.53,409600.0,431500.0
125+G0124,2023-10-14,Gatineau,plain-pied,140.0,535.0,1980,46,4,0,1,0,3,3,45.46732,-75.60277,9.71,451800.0,491500.0
126+G0125,2023-10-22,Aylmer,plain-pied,169.0,434.0,1959,67,2,0,1,0,4,1,45.38202,-75.84162,11.19,611300.0,592500.0
127+G0126,2023-10-23,Gatineau,plain-pied,114.0,783.0,1975,51,2,1,0,0,3,2,45.46851,-75.6634,5.98,370700.0,395500.0
128+G0127,2023-10-27,Aylmer,plain-pied,87.0,469.0,1992,34,3,0,0,0,2,1,45.42331,-75.85261,10.82,342200.0,383000.0
129+G0128,2023-10-29,Masson-Angers,plain-pied,145.0,1358.0,1972,54,4,0,0,0,3,3,45.52693,-75.38045,28.24,396700.0,376000.0
130+G0129,2023-10-30,Aylmer,plain-pied,186.0,584.0,1952,74,3,0,0,0,4,3,45.39116,-75.89457,14.67,509100.0,515500.0
131+G0130,2023-11-01,Gatineau,plain-pied,127.0,821.0,2000,26,4,0,0,0,3,3,45.47578,-75.61623,9.29,416000.0,438000.0
132+G0131,2023-11-05,Masson-Angers,à étages,163.0,729.0,1971,55,2,0,1,0,4,3,45.51825,-75.4096,25.77,387500.0,397500.0
133+G0132,2023-11-08,Hull,à étages,141.0,356.0,1949,77,3,0,0,0,4,2,45.43694,-75.75534,3.37,351900.0,375500.0
134+G0133,2023-11-14,Hull,à étages,107.0,649.0,1980,46,2,2,0,0,3,1,45.43315,-75.70061,1.19,464000.0,448500.0
135+G0134,2023-11-15,Hull,à étages,138.0,447.0,1990,36,2,1,1,0,3,1,45.42744,-75.71396,0.06,477400.0,538500.0
136+G0135,2023-11-17,Aylmer,à étages,205.0,417.0,1982,44,2,1,0,0,4,3,45.39063,-75.78233,6.75,590600.0,557500.0
137+G0136,2023-11-19,Hull,à étages,203.0,1023.0,1960,66,3,2,0,0,4,4,45.42024,-75.74751,2.75,623300.0,672500.0
138+G0137,2023-11-20,Buckingham,plain-pied,162.0,2506.0,1998,28,3,1,0,0,3,1,45.58099,-75.41941,28.57,515800.0,515500.0
139+G0138,2023-11-20,Gatineau,plain-pied,180.0,513.0,1958,68,3,1,1,0,3,2,45.48449,-75.66618,7.3,534500.0,562000.0
140+G0139,2023-11-21,Hull,à étages,117.0,512.0,1998,28,4,1,0,0,3,1,45.43741,-75.72624,1.41,507500.0,531000.0
141+G0140,2023-11-22,Buckingham,à étages,161.0,1005.0,1938,88,3,0,1,0,4,2,45.59163,-75.40572,30.13,415000.0,407500.0
142+G0141,2023-11-23,Hull,à étages,180.0,486.0,1970,56,2,1,0,0,3,2,45.44144,-75.69007,2.39,540300.0,574500.0
143+G0142,2023-11-25,Hull,plain-pied,84.0,514.0,1987,39,4,1,1,0,2,2,45.41833,-75.69055,2.12,389100.0,497000.0
144+G0143,2023-11-25,Hull,plain-pied,161.0,646.0,1977,49,3,0,1,0,4,2,45.42966,-75.74666,2.55,504300.0,580000.0
145+G0144,2023-12-04,Hull,à étages,86.0,722.0,1985,41,3,0,0,0,1,1,45.42302,-75.70834,0.71,390100.0,416000.0
146+G0145,2023-12-05,Gatineau,plain-pied,168.0,562.0,1981,45,3,1,1,0,4,2,45.48224,-75.64517,8.07,533600.0,517000.0
147+G0146,2023-12-07,Hull,plain-pied,189.0,424.0,1953,73,2,1,1,0,4,3,45.44079,-75.73378,2.1,600900.0,586500.0
148+G0147,2023-12-08,Gatineau,à étages,112.0,689.0,1961,65,3,0,0,0,2,1,45.49206,-75.67454,7.75,342900.0,385500.0
149+G0148,2023-12-09,Gatineau,à étages,123.0,514.0,1969,57,3,2,0,0,4,1,45.47495,-75.65943,6.73,411900.0,421500.0
150+G0149,2023-12-17,Hull,à étages,89.0,570.0,2006,20,4,0,1,0,2,1,45.41754,-75.71649,1.18,386400.0,398000.0
151+G0150,2023-12-19,Aylmer,à étages,116.0,477.0,1977,49,3,0,0,1,4,2,45.41415,-75.83824,9.81,440700.0,488500.0
152+G0151,2023-12-19,Gatineau,à étages,144.0,896.0,2015,11,4,1,1,0,2,2,45.46542,-75.66332,5.73,571600.0,629000.0
153+G0152,2023-12-20,Gatineau,à étages,189.0,454.0,1971,55,3,0,1,0,5,2,45.46712,-75.65162,6.52,542700.0,554500.0
154+G0153,2023-12-23,Gatineau,à étages,163.0,489.0,1998,28,3,1,1,1,4,2,45.47694,-75.63411,8.27,571800.0,601500.0
155+G0154,2023-12-23,Gatineau,à étages,93.0,500.0,1939,87,3,0,1,0,2,1,45.48605,-75.64268,8.51,344500.0,359500.0
156+G0155,2023-12-23,Gatineau,à étages,133.0,741.0,1966,60,2,1,0,0,3,1,45.47439,-75.63965,7.76,471400.0,460000.0
157+G0156,2023-12-24,Hull,à étages,119.0,777.0,1973,53,2,1,1,0,2,2,45.41455,-75.7139,1.49,438200.0,485000.0
158+G0157,2023-12-25,Hull,à étages,101.0,493.0,2002,24,3,1,0,0,2,2,45.44018,-75.73775,2.29,375000.0,435500.0
159+G0158,2023-12-27,Hull,plain-pied,152.0,438.0,1974,52,3,2,1,0,2,3,45.42783,-75.68505,2.26,567900.0,543500.0
160+G0159,2023-12-30,Gatineau,plain-pied,81.0,357.0,1972,54,4,1,1,0,3,1,45.47192,-75.65704,6.6,363800.0,369000.0
161+G0160,2023-12-31,Gatineau,plain-pied,217.0,356.0,1963,63,3,1,1,0,5,3,45.4614,-75.64922,6.27,521300.0,567000.0
162+G0161,2024-01-02,Hull,à étages,105.0,387.0,2013,13,3,0,1,0,2,1,45.43869,-75.70809,1.27,487000.0,513500.0
163+G0162,2024-01-03,Aylmer,plain-pied,185.0,391.0,2011,15,3,0,1,1,4,3,45.40497,-75.84541,10.56,657400.0,667000.0
164+G0163,2024-01-04,Gatineau,à étages,186.0,746.0,1970,56,3,1,0,0,4,3,45.46437,-75.63525,7.35,554700.0,619500.0
165+G0164,2024-01-06,Hull,plain-pied,93.0,842.0,1988,38,2,2,0,0,2,1,45.42834,-75.69869,1.2,394500.0,450000.0
166+G0165,2024-01-07,Hull,plain-pied,179.0,613.0,1986,40,2,1,1,1,4,3,45.42527,-75.71099,0.38,457500.0,592500.0
167+G0166,2024-01-11,Aylmer,à étages,103.0,708.0,1972,54,3,1,1,0,1,2,45.39461,-75.83666,10.26,371200.0,434500.0
168+G0167,2024-01-12,Aylmer,à étages,102.0,558.0,1987,39,2,1,1,0,2,2,45.4082,-75.85623,11.31,409400.0,462500.0
169+G0168,2024-01-13,Masson-Angers,plain-pied,155.0,1049.0,1974,52,3,2,1,0,4,2,45.55175,-75.42744,26.24,380900.0,444500.0
170+G0169,2024-01-14,Gatineau,plain-pied,181.0,408.0,1964,62,3,0,1,0,4,3,45.50637,-75.65509,9.84,458300.0,483500.0
171+G0170,2024-01-16,Gatineau,plain-pied,137.0,941.0,1989,37,4,0,1,0,3,2,45.49907,-75.66775,8.67,513000.0,579000.0
172+G0171,2024-01-17,Hull,plain-pied,180.0,530.0,1986,40,3,1,1,0,3,3,45.43021,-75.71197,0.29,602600.0,635500.0
173+G0172,2024-01-20,Aylmer,à étages,135.0,583.0,1958,68,2,1,1,0,2,2,45.3825,-75.86988,13.17,493400.0,591500.0
174+G0173,2024-01-24,Hull,à étages,121.0,616.0,1988,38,4,0,1,0,2,2,45.42051,-75.71895,0.92,455000.0,416500.0
175+G0174,2024-01-27,Gatineau,plain-pied,146.0,776.0,1974,52,2,1,0,1,4,2,45.48708,-75.64624,8.42,419700.0,411000.0
176+G0175,2024-01-27,Hull,plain-pied,150.0,910.0,1984,42,3,1,1,0,3,2,45.41745,-75.70732,1.28,603300.0,615000.0
177+G0176,2024-01-28,Gatineau,à étages,175.0,572.0,1983,43,4,1,1,0,3,2,45.47563,-75.65413,7.05,725000.0,668000.0
178+G0177,2024-01-29,Hull,à étages,178.0,1229.0,1994,32,4,1,0,0,4,3,45.45123,-75.68457,3.45,681600.0,758000.0
179+G0178,2024-02-01,Gatineau,plain-pied,116.0,732.0,1989,37,3,0,1,0,2,1,45.475,-75.64342,7.58,416200.0,430500.0
180+G0179,2024-02-02,Gatineau,plain-pied,146.0,586.0,1990,36,2,1,0,0,3,3,45.49773,-75.68096,8.16,497700.0,502500.0
181+G0180,2024-02-07,Masson-Angers,à étages,220.0,447.0,1971,55,3,1,1,0,6,3,45.55195,-75.45048,24.73,433200.0,392500.0
182+G0181,2024-02-12,Aylmer,plain-pied,157.0,624.0,1959,67,4,1,1,0,3,2,45.39945,-75.88116,13.42,455400.0,543000.0
183+G0182,2024-02-12,Masson-Angers,plain-pied,93.0,395.0,1965,61,2,1,0,0,1,1,45.56287,-75.45032,25.44,215700.0,223500.0
184+G0183,2024-02-13,Gatineau,plain-pied,156.0,1125.0,1934,92,4,0,0,0,3,2,45.47451,-75.65691,6.82,561200.0,539500.0
185+G0184,2024-02-14,Aylmer,à étages,121.0,734.0,1982,44,2,1,1,0,2,2,45.37451,-75.82263,10.35,387400.0,420000.0
186+G0185,2024-02-19,Buckingham,à étages,163.0,1851.0,1979,47,3,1,1,1,5,1,45.58551,-75.41911,28.89,449200.0,501000.0
187+G0186,2024-02-22,Aylmer,plain-pied,167.0,566.0,1961,65,4,1,0,0,3,2,45.38766,-75.84451,11.12,569100.0,595500.0
188+G0187,2024-02-23,Buckingham,à étages,100.0,882.0,2007,19,4,1,0,0,2,1,45.59699,-75.43673,28.63,360300.0,388500.0
189+G0188,2024-02-25,Hull,à étages,127.0,480.0,1987,39,3,0,1,0,1,1,45.43047,-75.74463,2.4,395900.0,461500.0
190+G0189,2024-02-26,Hull,plain-pied,119.0,408.0,1963,63,3,0,0,0,3,2,45.40342,-75.72194,2.8,427900.0,437000.0
191+G0190,2024-02-28,Aylmer,à étages,237.0,359.0,1966,60,2,0,1,0,5,3,45.3733,-75.82633,10.66,654800.0,674000.0
192+G0191,2024-02-28,Gatineau,à étages,170.0,565.0,2006,20,3,1,1,0,4,3,45.45656,-75.67116,4.61,554200.0,551500.0
193+G0192,2024-03-01,Buckingham,à étages,139.0,605.0,1990,36,4,0,1,0,3,2,45.60121,-75.41689,30.11,415200.0,437500.0
194+G0193,2024-03-01,Gatineau,plain-pied,154.0,682.0,1993,33,3,2,1,0,3,2,45.46425,-75.65141,6.33,478000.0,462000.0
195+G0194,2024-03-01,Hull,à étages,145.0,539.0,1971,55,3,1,0,0,3,1,45.42324,-75.70276,1.02,581200.0,619000.0
196+G0195,2024-03-02,Hull,plain-pied,115.0,457.0,1974,52,3,1,1,1,2,2,45.42204,-75.74423,2.45,412700.0,447500.0
197+G0196,2024-03-03,Hull,à étages,115.0,318.0,1987,39,4,1,0,1,2,1,45.44072,-75.70338,1.64,486800.0,499000.0
198+G0197,2024-03-03,Gatineau,à étages,186.0,359.0,1973,53,3,0,1,0,5,2,45.48926,-75.66261,7.89,494900.0,519500.0
199+G0198,2024-03-06,Buckingham,à étages,115.0,847.0,2025,1,3,0,1,0,1,2,45.5928,-75.4002,30.56,380800.0,398500.0
200+G0199,2024-03-13,Hull,à étages,118.0,528.0,2003,23,3,1,1,0,2,2,45.43489,-75.72345,1.06,552600.0,544500.0
201+G0200,2024-03-14,Hull,à étages,133.0,344.0,1988,38,3,1,0,0,2,2,45.43402,-75.7162,0.69,553800.0,531000.0
202+G0201,2024-03-15,Aylmer,plain-pied,169.0,585.0,2005,21,4,1,1,0,3,2,45.38393,-75.84666,11.45,694100.0,663500.0
203+G0202,2024-03-17,Gatineau,à étages,116.0,838.0,1968,58,4,1,0,0,2,1,45.46577,-75.62898,7.85,455700.0,479500.0
204+G0203,2024-03-19,Hull,à étages,216.0,558.0,1971,55,4,1,1,0,5,2,45.42837,-75.67834,2.78,750800.0,789500.0
205+G0204,2024-03-20,Gatineau,plain-pied,150.0,477.0,1979,47,3,2,1,0,5,3,45.4747,-75.66974,6.23,509500.0,568000.0
206+G0205,2024-03-24,Hull,plain-pied,117.0,1084.0,1988,38,3,0,1,0,2,2,45.44659,-75.66966,4.03,459200.0,490500.0
207+G0206,2024-03-28,Gatineau,à étages,105.0,442.0,1991,35,2,2,0,1,2,1,45.46708,-75.67416,5.34,441000.0,480000.0
208+G0207,2024-03-28,Hull,plain-pied,121.0,440.0,2025,1,3,1,1,0,2,1,45.4431,-75.72606,1.92,578800.0,561000.0
209+G0208,2024-03-29,Gatineau,à étages,103.0,675.0,1993,33,5,0,1,0,3,2,45.46918,-75.60712,9.51,461500.0,476500.0
210+G0209,2024-03-29,Gatineau,à étages,124.0,458.0,1993,33,3,0,1,0,3,2,45.46542,-75.66116,5.85,475100.0,488000.0
211+G0210,2024-03-30,Gatineau,plain-pied,118.0,367.0,1984,42,4,1,1,0,3,2,45.48144,-75.63787,8.39,409500.0,439000.0
212+G0211,2024-04-04,Hull,plain-pied,106.0,437.0,1974,52,2,1,1,0,2,1,45.44988,-75.71745,2.44,456700.0,446500.0
213+G0212,2024-04-06,Buckingham,à étages,192.0,1849.0,2009,17,2,0,1,1,4,1,45.59745,-75.40324,30.68,558700.0,577000.0
214+G0213,2024-04-08,Hull,plain-pied,159.0,390.0,1960,66,3,0,0,0,3,2,45.43735,-75.70901,1.11,511100.0,535000.0
215+G0214,2024-04-10,Gatineau,plain-pied,169.0,310.0,1993,33,3,0,1,0,4,2,45.46418,-75.64098,6.97,432500.0,516500.0
216+G0215,2024-04-11,Aylmer,plain-pied,113.0,655.0,1995,31,3,0,0,0,4,2,45.401,-75.85596,11.47,460200.0,489000.0
217+G0216,2024-04-11,Aylmer,à étages,126.0,347.0,2004,22,3,1,1,0,2,2,45.37897,-75.8086,9.17,554500.0,574000.0
218+G0217,2024-04-12,Hull,à étages,125.0,938.0,1992,34,3,0,0,0,2,2,45.41014,-75.73821,2.74,411400.0,458500.0
219+G0218,2024-04-14,Masson-Angers,plain-pied,142.0,1527.0,1965,61,3,0,0,1,3,1,45.54362,-75.37384,29.47,359900.0,377000.0
220+G0219,2024-04-14,Hull,plain-pied,109.0,666.0,1964,62,4,0,1,0,2,1,45.41753,-75.69435,1.92,483700.0,501500.0
221+G0220,2024-04-16,Buckingham,à étages,152.0,1255.0,1954,72,3,0,0,1,3,2,45.5894,-75.40573,29.99,399100.0,405000.0
222+G0221,2024-04-17,Aylmer,plain-pied,116.0,435.0,1987,39,2,1,1,0,3,1,45.38629,-75.8276,10.0,415800.0,535000.0
223+G0222,2024-04-18,Aylmer,à étages,128.0,397.0,1960,66,3,1,0,0,2,1,45.38413,-75.86453,12.71,453800.0,447500.0
224+G0223,2024-04-18,Gatineau,à étages,125.0,366.0,1965,61,4,0,1,0,2,2,45.46943,-75.66266,6.1,377100.0,416000.0
225+G0224,2024-04-20,Hull,plain-pied,83.0,396.0,1993,33,3,2,1,0,2,2,45.42831,-75.71569,0.14,481200.0,464500.0
226+G0225,2024-04-20,Aylmer,plain-pied,179.0,536.0,1968,58,3,1,1,0,3,2,45.41284,-75.86151,11.63,457800.0,519500.0
227+G0226,2024-04-24,Hull,plain-pied,142.0,387.0,2017,9,3,2,1,0,2,2,45.42525,-75.72913,1.22,525600.0,629000.0
228+G0227,2024-04-28,Hull,plain-pied,167.0,710.0,1972,54,4,0,1,0,4,3,45.42232,-75.6887,2.07,565900.0,523000.0
229+G0228,2024-04-29,Hull,plain-pied,115.0,653.0,1941,85,5,0,1,0,3,2,45.43073,-75.72465,0.88,549000.0,555000.0
230+G0229,2024-05-03,Aylmer,plain-pied,232.0,710.0,1985,41,3,0,1,0,4,3,45.37765,-75.83732,11.12,622400.0,699500.0
231+G0230,2024-05-07,Gatineau,à étages,160.0,690.0,1985,41,2,0,1,0,4,2,45.48615,-75.66316,7.58,478000.0,514000.0
232+G0231,2024-05-07,Gatineau,plain-pied,136.0,674.0,1933,93,3,1,1,0,3,1,45.48634,-75.65465,7.96,449600.0,447000.0
233+G0232,2024-05-09,Buckingham,plain-pied,99.0,2079.0,1963,63,2,0,1,1,2,1,45.57702,-75.42852,27.74,266800.0,296500.0
234+G0233,2024-05-09,Masson-Angers,plain-pied,228.0,1030.0,1999,27,3,0,0,0,5,2,45.56007,-75.42239,27.06,451900.0,484500.0
235+G0234,2024-05-10,Aylmer,à étages,122.0,722.0,1952,74,2,0,1,0,3,2,45.39059,-75.87231,13.03,405100.0,443000.0
236+G0235,2024-05-17,Aylmer,à étages,118.0,556.0,1974,52,3,0,1,0,2,1,45.40385,-75.81126,8.05,518300.0,506000.0
237+G0236,2024-05-17,Aylmer,à étages,120.0,390.0,1966,60,2,0,0,0,2,1,45.38239,-75.84049,11.09,513400.0,505000.0
238+G0237,2024-05-19,Hull,à étages,141.0,1022.0,2016,10,2,2,1,0,3,1,45.45975,-75.71203,3.53,530500.0,619500.0
239+G0238,2024-05-25,Buckingham,à étages,134.0,1263.0,1989,37,4,0,0,0,3,2,45.58968,-75.42631,28.73,416900.0,409500.0
240+G0239,2024-05-26,Gatineau,à étages,108.0,765.0,2025,1,3,1,1,0,3,1,45.49157,-75.63866,9.18,530900.0,594500.0
241+G0240,2024-05-26,Hull,plain-pied,159.0,437.0,1962,64,4,1,0,0,3,2,45.44575,-75.69093,2.67,612500.0,624000.0
242+G0241,2024-05-28,Masson-Angers,à étages,166.0,1916.0,2025,1,3,2,1,0,3,2,45.55141,-75.4307,26.0,656600.0,677500.0
243+G0242,2024-06-08,Gatineau,plain-pied,131.0,694.0,2025,1,3,0,1,0,4,2,45.48081,-75.65274,7.56,507300.0,571000.0
244+G0243,2024-06-11,Aylmer,à étages,129.0,520.0,1969,57,3,0,1,0,4,2,45.40475,-75.83403,9.71,420200.0,514000.0
245+G0244,2024-06-12,Gatineau,à étages,184.0,343.0,1989,37,2,0,0,0,4,2,45.47142,-75.6738,5.75,526600.0,512500.0
246+G0245,2024-06-12,Hull,plain-pied,278.0,337.0,1979,47,3,1,0,0,6,4,45.44528,-75.71615,1.93,638500.0,679500.0
247+G0246,2024-06-13,Masson-Angers,plain-pied,167.0,515.0,1965,61,2,1,0,0,3,2,45.55336,-75.43453,25.86,280400.0,358000.0
248+G0247,2024-06-15,Hull,à étages,122.0,663.0,1953,73,3,1,0,0,3,2,45.4166,-75.72242,1.43,413600.0,450000.0
249+G0248,2024-06-17,Hull,à étages,183.0,398.0,1988,38,3,0,1,0,4,3,45.42325,-75.6752,3.07,581500.0,658500.0
250+G0249,2024-06-19,Gatineau,à étages,140.0,639.0,2006,20,2,0,1,0,3,2,45.46946,-75.61245,9.16,364300.0,415500.0
251+G0250,2024-06-19,Aylmer,plain-pied,106.0,549.0,1985,41,4,1,0,0,3,1,45.39157,-75.85553,11.76,389100.0,431000.0
252+G0251,2024-06-21,Gatineau,plain-pied,177.0,470.0,1996,30,3,0,1,0,4,2,45.47637,-75.64731,7.48,519600.0,529000.0
253+G0252,2024-06-21,Gatineau,à étages,216.0,805.0,1985,41,2,1,1,1,5,4,45.47756,-75.65957,6.95,674700.0,739500.0
254+G0253,2024-06-26,Gatineau,plain-pied,153.0,624.0,2004,22,3,2,0,1,3,2,45.48386,-75.64347,8.29,580600.0,602000.0
255+G0254,2024-06-26,Hull,à étages,166.0,966.0,1962,64,2,1,0,0,4,2,45.43283,-75.69589,1.51,561900.0,503500.0
256+G0255,2024-07-01,Hull,à étages,133.0,530.0,1990,36,3,2,1,0,3,2,45.4412,-75.72156,1.58,517000.0,507500.0
257+G0256,2024-07-02,Aylmer,à étages,198.0,446.0,2012,14,2,0,0,0,4,3,45.38416,-75.86096,12.45,662500.0,640500.0
258+G0257,2024-07-03,Gatineau,plain-pied,82.0,490.0,2005,21,4,0,0,0,2,1,45.48749,-75.63041,9.28,456200.0,466500.0
259+G0258,2024-07-04,Hull,à étages,156.0,407.0,1971,55,4,1,1,0,4,2,45.4477,-75.72043,2.24,661400.0,569000.0
260+G0259,2024-07-05,Hull,à étages,120.0,539.0,1929,97,4,1,0,1,3,1,45.42966,-75.6976,1.29,527600.0,521500.0
261+G0260,2024-07-05,Gatineau,plain-pied,104.0,417.0,1962,64,3,2,1,1,2,2,45.49338,-75.63619,9.46,377700.0,407500.0
262+G0261,2024-07-09,Hull,à étages,134.0,521.0,1988,38,3,0,0,1,3,1,45.42818,-75.70699,0.55,670900.0,594500.0
263+G0262,2024-07-09,Aylmer,à étages,179.0,408.0,1975,51,2,1,1,0,5,3,45.39445,-75.84405,10.81,628000.0,609000.0
264+G0263,2024-07-09,Hull,à étages,138.0,605.0,2024,2,3,1,1,0,3,2,45.43033,-75.69411,1.57,562900.0,593000.0
265+G0264,2024-07-10,Hull,à étages,146.0,552.0,1999,27,2,1,1,0,4,2,45.42483,-75.72035,0.61,561200.0,589000.0
266+G0265,2024-07-13,Gatineau,à étages,135.0,838.0,2010,16,3,0,0,0,3,1,45.47092,-75.67162,5.8,508400.0,519500.0
267+G0266,2024-07-16,Aylmer,à étages,200.0,525.0,1980,46,3,1,1,0,4,2,45.37908,-75.85505,12.27,705900.0,768000.0
268+G0267,2024-07-17,Buckingham,à étages,204.0,1870.0,1976,50,4,1,1,0,4,2,45.57613,-75.41687,28.42,466900.0,616500.0
269+G0268,2024-07-18,Buckingham,plain-pied,124.0,1656.0,1980,46,2,2,1,0,3,1,45.5663,-75.41138,28.16,346400.0,388000.0
270+G0269,2024-07-19,Masson-Angers,à étages,100.0,1098.0,1992,34,2,2,1,0,3,1,45.54706,-75.40973,27.16,334000.0,334500.0
271+G0270,2024-07-20,Masson-Angers,à étages,184.0,735.0,1974,52,2,0,1,0,3,2,45.55739,-75.41573,27.34,349500.0,426000.0
272+G0271,2024-07-21,Aylmer,à étages,110.0,339.0,1981,45,2,1,1,0,2,1,45.3849,-75.81903,9.49,438400.0,472000.0
273+G0272,2024-07-23,Gatineau,à étages,147.0,342.0,1991,35,4,0,1,0,3,2,45.46736,-75.64163,7.14,527700.0,532500.0
274+G0273,2024-07-27,Hull,plain-pied,126.0,383.0,1986,40,3,0,0,0,3,1,45.43081,-75.69703,1.36,480900.0,529500.0
275+G0274,2024-07-28,Masson-Angers,plain-pied,107.0,842.0,1980,46,4,0,0,1,3,1,45.54401,-75.42229,26.14,354600.0,355500.0
276+G0275,2024-07-29,Aylmer,à étages,157.0,495.0,1994,32,4,0,1,0,3,2,45.38428,-75.86095,12.45,660800.0,680500.0
277+G0276,2024-07-31,Gatineau,plain-pied,91.0,633.0,1985,41,3,0,1,0,2,1,45.4992,-75.67388,8.5,354900.0,420000.0
278+G0277,2024-08-03,Gatineau,à étages,146.0,558.0,1969,57,2,0,1,0,4,2,45.47978,-75.62036,9.29,504800.0,539500.0
279+G0278,2024-08-04,Hull,à étages,162.0,851.0,1976,50,4,1,1,0,4,2,45.42603,-75.70327,0.87,572300.0,599000.0
280+G0279,2024-08-05,Aylmer,plain-pied,149.0,483.0,1992,34,2,1,1,0,2,1,45.3781,-75.82067,9.99,441100.0,488500.0
281+G0280,2024-08-08,Hull,à étages,148.0,966.0,1999,27,2,1,1,0,3,2,45.44726,-75.721,2.21,602300.0,586500.0
282+G0281,2024-08-13,Gatineau,plain-pied,189.0,569.0,1974,52,4,1,1,0,5,3,45.48475,-75.65,8.04,534000.0,583500.0
283+G0282,2024-08-13,Hull,plain-pied,162.0,358.0,2009,17,3,1,1,1,4,1,45.42226,-75.71509,0.64,625300.0,625000.0
284+G0283,2024-08-14,Hull,à étages,135.0,566.0,1960,66,3,0,1,0,4,2,45.43364,-75.70423,0.99,474400.0,536500.0
285+G0284,2024-08-14,Masson-Angers,plain-pied,157.0,603.0,1984,42,5,0,0,0,4,2,45.55961,-75.41316,27.64,462200.0,542000.0
286+G0285,2024-08-15,Buckingham,plain-pied,127.0,1714.0,1979,47,3,1,0,0,3,2,45.6029,-75.4138,30.42,344500.0,376000.0
287+G0286,2024-08-15,Aylmer,plain-pied,188.0,741.0,1992,34,5,0,1,0,5,3,45.39873,-75.86171,11.97,683700.0,707000.0
288+G0287,2024-08-18,Hull,à étages,130.0,587.0,1970,56,2,0,0,0,3,1,45.40776,-75.70644,2.32,426500.0,488500.0
289+G0288,2024-08-20,Gatineau,plain-pied,123.0,388.0,1976,50,3,1,1,0,3,2,45.4789,-75.66625,6.77,363800.0,427000.0
290+G0289,2024-08-21,Masson-Angers,plain-pied,152.0,3807.0,1983,43,3,0,1,1,3,2,45.5567,-75.44322,25.5,403500.0,483000.0
291+G0290,2024-08-24,Aylmer,plain-pied,145.0,997.0,1984,42,4,0,0,0,4,2,45.39339,-75.84832,11.16,505000.0,531500.0
292+G0291,2024-08-27,Gatineau,plain-pied,142.0,485.0,1976,50,3,1,1,0,4,2,45.46725,-75.64118,7.16,461100.0,500500.0
293+G0292,2024-08-29,Hull,plain-pied,99.0,705.0,1990,36,2,1,1,0,3,1,45.42256,-75.73436,1.7,419700.0,468500.0
294+G0293,2024-08-31,Hull,plain-pied,184.0,727.0,1962,64,3,2,0,0,4,2,45.43804,-75.69391,1.92,735700.0,764500.0
295+G0294,2024-09-02,Gatineau,plain-pied,177.0,1040.0,2003,23,3,1,0,0,3,2,45.47335,-75.65336,6.91,609100.0,617000.0
296+G0295,2024-09-03,Hull,à étages,147.0,664.0,1978,48,2,1,0,0,3,2,45.437,-75.69907,1.53,439500.0,506000.0
297+G0296,2024-09-05,Buckingham,plain-pied,132.0,995.0,1961,65,4,1,0,0,2,2,45.5925,-75.4199,29.32,350000.0,379500.0
298+G0297,2024-09-08,Hull,à étages,122.0,752.0,1939,87,4,1,0,0,3,2,45.40361,-75.70093,2.89,487400.0,581000.0
299+G0298,2024-09-09,Hull,plain-pied,166.0,902.0,2009,17,3,1,0,0,3,2,45.40606,-75.7333,2.86,743700.0,791500.0
300+G0299,2024-09-11,Masson-Angers,à étages,114.0,1777.0,1970,56,4,1,0,0,2,1,45.54459,-75.42543,25.96,392100.0,427000.0
301+G0300,2024-09-13,Hull,plain-pied,89.0,424.0,1981,45,4,0,1,1,2,1,45.41837,-75.70289,1.38,394200.0,457000.0
302+G0301,2024-09-14,Gatineau,à étages,116.0,534.0,1993,33,3,2,1,0,3,1,45.47141,-75.66332,6.23,528600.0,496000.0
303+G0302,2024-09-14,Gatineau,à étages,191.0,658.0,1959,67,3,1,1,0,5,2,45.48603,-75.64641,8.32,684700.0,686000.0
304+G0303,2024-09-22,Hull,plain-pied,159.0,586.0,1985,41,3,0,1,0,4,3,45.42842,-75.69416,1.55,584000.0,597500.0
305+G0304,2024-09-24,Gatineau,plain-pied,159.0,770.0,1974,52,3,0,1,0,4,2,45.47277,-75.63197,8.1,508500.0,534500.0
306+G0305,2024-09-26,Hull,plain-pied,154.0,687.0,1965,61,3,0,0,0,2,3,45.43715,-75.74068,2.32,521500.0,551000.0
307+G0306,2024-10-03,Gatineau,à étages,182.0,371.0,1962,64,3,1,1,0,4,1,45.48571,-75.6325,9.03,485000.0,569500.0
308+G0307,2024-10-07,Gatineau,à étages,67.0,624.0,2025,1,4,1,1,0,1,1,45.49496,-75.61573,10.68,410500.0,455000.0
309+G0308,2024-10-07,Aylmer,à étages,167.0,562.0,1978,48,2,0,1,0,4,2,45.39705,-75.83717,10.2,591200.0,637000.0
310+G0309,2024-10-12,Masson-Angers,plain-pied,91.0,898.0,1997,29,3,1,1,0,2,1,45.56812,-75.40156,28.91,226500.0,329500.0
311+G0310,2024-10-17,Hull,à étages,118.0,603.0,1984,42,2,1,1,1,3,2,45.42762,-75.7044,0.75,510500.0,516500.0
312+G0311,2024-10-22,Gatineau,à étages,132.0,1104.0,1989,37,4,1,1,0,3,2,45.47263,-75.63518,7.9,543400.0,586000.0
313+G0312,2024-10-22,Hull,à étages,173.0,569.0,1987,39,4,2,1,0,4,2,45.44104,-75.70517,1.6,558300.0,635000.0
314+G0313,2024-10-27,Hull,plain-pied,140.0,637.0,1985,41,2,0,1,0,3,3,45.42314,-75.71566,0.55,452000.0,495500.0
315+G0314,2024-10-28,Gatineau,plain-pied,110.0,448.0,1938,88,2,0,1,0,2,2,45.48328,-75.6608,7.41,399600.0,393500.0
316+G0315,2024-10-30,Aylmer,à étages,128.0,343.0,1963,63,4,0,1,0,2,1,45.4076,-75.83871,9.99,558300.0,621000.0
317+G0316,2024-11-05,Aylmer,plain-pied,132.0,538.0,2004,22,3,1,1,1,4,2,45.37371,-75.80164,9.11,607200.0,636500.0
318+G0317,2024-11-07,Hull,plain-pied,145.0,706.0,1963,63,3,0,1,0,3,3,45.41471,-75.73707,2.33,419600.0,484000.0
319+G0318,2024-11-08,Aylmer,à étages,164.0,845.0,2021,5,3,0,1,1,3,2,45.38047,-75.82108,9.88,611600.0,681000.0
320+G0319,2024-11-08,Gatineau,à étages,118.0,644.0,1967,59,2,2,1,0,2,2,45.48285,-75.65264,7.74,455200.0,536000.0
321+G0320,2024-11-12,Aylmer,plain-pied,202.0,472.0,2016,10,1,1,1,0,4,3,45.38425,-75.82669,10.04,631000.0,697500.0
322+G0321,2024-11-12,Hull,à étages,133.0,405.0,1990,36,2,1,0,0,2,1,45.43294,-75.70201,1.08,426000.0,533500.0
323+G0322,2024-11-13,Aylmer,à étages,126.0,436.0,1980,46,3,2,1,0,3,2,45.39476,-75.83008,9.78,524200.0,593500.0
324+G0323,2024-11-17,Buckingham,à étages,189.0,1331.0,1982,44,4,0,0,0,5,2,45.58582,-75.42302,28.67,442900.0,542500.0
325+G0324,2024-11-17,Gatineau,plain-pied,197.0,474.0,2022,4,4,0,0,1,5,3,45.49925,-75.62485,10.53,566600.0,709000.0
326+G0325,2024-11-19,Hull,à étages,102.0,330.0,1965,61,4,0,0,0,3,1,45.41399,-75.70698,1.65,402800.0,469500.0
327+G0326,2024-11-19,Gatineau,à étages,140.0,862.0,1975,51,3,1,0,0,3,1,45.45362,-75.64478,6.1,543500.0,573000.0
328+G0327,2024-11-19,Hull,à étages,161.0,771.0,1997,29,2,1,1,1,4,1,45.41899,-75.68354,2.58,615000.0,651000.0
329+G0328,2024-11-22,Aylmer,à étages,130.0,380.0,1979,47,4,0,1,1,4,2,45.38128,-75.86596,12.94,508100.0,573000.0
330+G0329,2024-11-25,Aylmer,plain-pied,136.0,577.0,1979,47,3,0,1,0,3,2,45.39012,-75.83706,10.48,548300.0,576500.0
331+G0330,2024-11-26,Hull,plain-pied,98.0,792.0,1962,64,4,2,0,0,3,1,45.43849,-75.68546,2.51,436400.0,550000.0
332+G0331,2024-12-03,Gatineau,à étages,195.0,589.0,1971,55,4,1,0,1,5,2,45.49315,-75.65115,8.74,621700.0,684000.0
333+G0332,2024-12-08,Aylmer,plain-pied,114.0,355.0,1968,58,3,0,0,0,2,2,45.41796,-75.8627,11.65,421000.0,467000.0
334+G0333,2024-12-13,Gatineau,plain-pied,159.0,801.0,1962,64,3,2,1,1,4,2,45.478,-75.65052,7.44,579800.0,610000.0
335+G0334,2024-12-14,Hull,à étages,152.0,494.0,1994,32,4,1,0,1,4,1,45.41428,-75.72936,1.94,586200.0,705500.0
336+G0335,2024-12-14,Aylmer,à étages,129.0,426.0,1951,75,2,1,0,0,3,1,45.40343,-75.8365,9.94,338300.0,393500.0
337+G0336,2024-12-16,Hull,à étages,159.0,416.0,1975,51,4,0,1,0,3,1,45.43013,-75.70657,0.63,530300.0,607000.0
338+G0337,2024-12-18,Buckingham,plain-pied,187.0,780.0,1983,43,3,0,1,0,4,3,45.58331,-75.42158,28.59,480700.0,500500.0
339+G0338,2024-12-19,Hull,à étages,139.0,366.0,2014,12,3,1,1,0,3,2,45.43001,-75.74618,2.52,634500.0,649500.0
340+G0339,2024-12-19,Hull,plain-pied,120.0,475.0,2000,26,4,0,0,0,4,1,45.43889,-75.71226,1.22,499600.0,555000.0
341+G0340,2024-12-20,Gatineau,plain-pied,155.0,611.0,2021,5,5,1,0,0,4,1,45.45178,-75.65278,5.46,728800.0,739000.0
342+G0341,2024-12-22,Gatineau,plain-pied,143.0,574.0,2022,4,3,0,1,0,3,2,45.4853,-75.70052,6.45,447900.0,548000.0
343+G0342,2024-12-22,Hull,à étages,154.0,579.0,1967,59,2,1,0,0,3,3,45.43631,-75.69451,1.78,465300.0,531500.0
344+G0343,2024-12-23,Hull,plain-pied,122.0,592.0,1991,35,2,0,1,1,1,1,45.41869,-75.72209,1.21,448700.0,486500.0
345+G0344,2024-12-30,Masson-Angers,plain-pied,167.0,1304.0,2011,15,3,1,0,0,4,2,45.56298,-75.44702,25.65,399500.0,503500.0
346+G0345,2025-01-04,Buckingham,plain-pied,150.0,1196.0,1956,70,2,1,0,0,3,2,45.58595,-75.43288,28.07,318200.0,353000.0
347+G0346,2025-01-12,Gatineau,plain-pied,229.0,517.0,1996,30,1,1,0,1,5,2,45.47499,-75.63124,8.3,548400.0,687500.0
348+G0347,2025-01-13,Hull,plain-pied,138.0,451.0,2003,23,3,0,1,1,4,2,45.42224,-75.71274,0.65,458700.0,520000.0
349+G0348,2025-01-15,Masson-Angers,plain-pied,104.0,2010.0,2015,11,4,1,1,0,3,1,45.55168,-75.41055,27.36,436300.0,515000.0
350+G0349,2025-01-20,Hull,à étages,109.0,644.0,1996,30,3,0,0,0,3,1,45.3976,-75.74443,4.13,356200.0,442000.0
351+G0350,2025-01-26,Hull,plain-pied,169.0,579.0,1976,50,2,1,0,1,3,2,45.41815,-75.67537,3.21,443600.0,532000.0
352+G0351,2025-01-26,Hull,à étages,151.0,297.0,1967,59,2,0,1,0,5,1,45.43081,-75.72684,1.05,412900.0,427000.0
353+G0352,2025-01-28,Gatineau,plain-pied,106.0,489.0,1973,53,2,0,1,0,3,1,45.4721,-75.67612,5.72,323400.0,373500.0
354+G0353,2025-01-29,Gatineau,plain-pied,170.0,647.0,2024,2,4,0,0,0,3,3,45.48452,-75.6152,9.94,694300.0,715500.0
355+G0354,2025-01-30,Aylmer,à étages,130.0,300.0,1977,49,3,1,1,0,3,2,45.41103,-75.81895,8.4,491900.0,553000.0
356+G0355,2025-02-02,Gatineau,à étages,132.0,690.0,1972,54,3,0,0,0,4,1,45.48221,-75.64518,8.06,442700.0,513500.0
357+G0356,2025-02-02,Aylmer,plain-pied,230.0,300.0,1975,51,3,2,1,0,6,3,45.38905,-75.84707,11.24,665000.0,696500.0
358+G0357,2025-02-03,Gatineau,à étages,145.0,659.0,2007,19,2,1,0,0,4,2,45.48489,-75.65072,8.01,583700.0,584500.0
359+G0358,2025-02-07,Gatineau,plain-pied,93.0,620.0,2004,22,3,1,1,1,1,1,45.46107,-75.71875,3.69,415200.0,461000.0
360+G0359,2025-02-15,Masson-Angers,plain-pied,123.0,2746.0,1980,46,3,0,1,0,3,1,45.55256,-75.37602,29.77,386300.0,425000.0
361+G0360,2025-02-22,Masson-Angers,plain-pied,114.0,620.0,1999,27,5,2,1,0,3,2,45.53917,-75.40274,27.23,456700.0,461500.0
362+G0361,2025-02-22,Gatineau,plain-pied,142.0,678.0,1987,39,1,0,1,0,4,2,45.49482,-75.66087,8.5,404300.0,521500.0
363+G0362,2025-02-25,Masson-Angers,à étages,168.0,1496.0,1994,32,3,0,0,0,3,2,45.56385,-75.3963,29.01,503100.0,534500.0
364+G0363,2025-02-28,Aylmer,plain-pied,138.0,836.0,1991,35,3,1,0,0,2,2,45.39713,-75.83389,9.96,482000.0,597500.0
365+G0364,2025-03-02,Gatineau,plain-pied,143.0,567.0,1994,32,3,1,1,0,3,3,45.48857,-75.64233,8.74,537400.0,599500.0
366+G0365,2025-03-05,Hull,plain-pied,105.0,614.0,1980,46,4,1,0,0,3,2,45.41385,-75.73116,2.06,491100.0,526000.0
367+G0366,2025-03-05,Aylmer,plain-pied,120.0,818.0,1955,71,2,0,1,0,3,1,45.39636,-75.81071,8.32,436500.0,455500.0
368+G0367,2025-03-12,Gatineau,à étages,120.0,309.0,1970,56,3,0,1,0,2,1,45.49003,-75.64794,8.6,311600.0,388000.0
369+G0368,2025-03-12,Gatineau,à étages,122.0,803.0,1986,40,3,1,1,0,3,1,45.49382,-75.61453,10.66,405900.0,540500.0
370+G0369,2025-03-12,Hull,à étages,110.0,465.0,1980,46,4,0,1,0,2,2,45.43585,-75.71313,0.87,480600.0,535500.0
371+G0370,2025-03-12,Hull,à étages,184.0,670.0,1984,42,2,0,1,1,5,1,45.43361,-75.72996,1.39,546600.0,648000.0
372+G0371,2025-03-20,Gatineau,à étages,126.0,484.0,1956,70,2,1,0,1,4,2,45.48197,-75.64902,7.85,354500.0,401000.0
373+G0372,2025-03-21,Gatineau,à étages,167.0,726.0,2003,23,3,0,1,0,4,2,45.47397,-75.6519,7.04,602600.0,618500.0
374+G0373,2025-03-23,Hull,à étages,169.0,442.0,2018,8,3,1,0,0,3,2,45.44898,-75.70469,2.44,612000.0,728500.0
375+G0374,2025-03-26,Buckingham,plain-pied,123.0,1427.0,2019,7,4,0,1,0,3,2,45.5998,-75.43961,28.67,391500.0,515000.0
376+G0375,2025-03-26,Gatineau,plain-pied,232.0,416.0,1983,43,3,2,0,0,5,3,45.4718,-75.65555,6.66,711100.0,732000.0
377+G0376,2025-03-28,Aylmer,plain-pied,120.0,369.0,2009,17,3,0,1,0,3,1,45.38835,-75.86543,12.6,445700.0,523500.0
378+G0377,2025-04-01,Gatineau,plain-pied,127.0,530.0,1974,52,3,0,1,0,3,1,45.48426,-75.66369,7.38,392300.0,472500.0
379+G0378,2025-04-05,Gatineau,plain-pied,145.0,526.0,1983,43,3,1,1,0,4,1,45.45142,-75.64598,5.91,442700.0,465500.0
380+G0379,2025-04-06,Masson-Angers,plain-pied,118.0,1888.0,1997,29,4,0,0,0,2,1,45.53978,-75.42409,25.79,393900.0,454000.0
381+G0380,2025-04-09,Aylmer,plain-pied,125.0,404.0,1946,80,3,0,1,0,2,1,45.38626,-75.8175,9.31,313900.0,428500.0
382+G0381,2025-04-12,Hull,plain-pied,173.0,657.0,1997,29,3,1,0,0,4,3,45.43288,-75.69594,1.51,656700.0,746000.0
383+G0382,2025-04-15,Hull,plain-pied,136.0,288.0,1935,91,3,1,0,0,3,1,45.42058,-75.7208,0.98,355900.0,426000.0
384+G0383,2025-04-16,Hull,à étages,190.0,316.0,1991,35,2,0,0,1,5,1,45.42009,-75.73712,2.01,478100.0,608000.0
385+G0384,2025-04-18,Aylmer,plain-pied,195.0,287.0,1983,43,3,0,1,0,3,3,45.40827,-75.8267,9.06,666900.0,682500.0
386+G0385,2025-04-18,Gatineau,plain-pied,125.0,246.0,1998,28,3,0,0,0,3,1,45.47711,-75.6433,7.75,399900.0,470000.0
387+G0386,2025-04-19,Gatineau,plain-pied,175.0,478.0,1968,58,3,1,1,0,4,1,45.45358,-75.6527,5.56,436900.0,530000.0
388+G0387,2025-04-19,Hull,à étages,112.0,682.0,1985,41,3,1,1,0,2,1,45.434,-75.68108,2.65,370300.0,457500.0
389+G0388,2025-04-22,Hull,à étages,142.0,444.0,2003,23,4,0,0,0,3,2,45.4316,-75.74145,2.18,538900.0,612000.0
390+G0389,2025-04-24,Aylmer,plain-pied,133.0,312.0,2008,18,4,0,0,0,3,2,45.38519,-75.87777,13.63,483600.0,587500.0
391+G0390,2025-04-24,Gatineau,à étages,239.0,886.0,1987,39,3,0,0,0,6,3,45.49132,-75.65087,8.58,777600.0,780000.0
392+G0391,2025-04-24,Aylmer,à étages,154.0,429.0,2004,22,3,1,1,0,4,2,45.40144,-75.84933,10.96,703200.0,763000.0
393+G0392,2025-04-25,Buckingham,plain-pied,99.0,810.0,1985,41,1,2,1,0,3,2,45.58965,-75.41327,29.53,277900.0,317500.0
394+G0393,2025-04-25,Aylmer,plain-pied,122.0,613.0,1987,39,3,1,0,1,3,1,45.41856,-75.85523,11.07,416000.0,511500.0
395+G0394,2025-04-27,Gatineau,à étages,163.0,464.0,1981,45,3,0,0,0,4,2,45.49899,-75.63371,10.07,491300.0,516000.0
396+G0395,2025-04-27,Hull,plain-pied,176.0,463.0,1985,41,3,1,1,0,4,2,45.42382,-75.70046,1.15,501300.0,563000.0
397+G0396,2025-05-03,Gatineau,à étages,132.0,786.0,1940,86,5,0,0,0,3,1,45.48239,-75.65508,7.59,522600.0,605000.0
398+G0397,2025-05-03,Gatineau,plain-pied,132.0,508.0,2002,24,3,0,0,1,4,1,45.47667,-75.64033,7.89,383900.0,468500.0
399+G0398,2025-05-04,Gatineau,à étages,89.0,372.0,1993,33,4,0,1,0,2,2,45.48126,-75.64842,7.82,341400.0,411500.0
400+G0399,2025-05-05,Buckingham,plain-pied,162.0,1345.0,1990,36,3,1,1,0,3,1,45.57376,-75.3915,29.91,378800.0,447500.0
401+G0400,2025-05-09,Aylmer,à étages,138.0,1049.0,1981,45,3,2,0,0,4,2,45.39867,-75.86945,12.55,585400.0,643000.0
402+G0401,2025-05-13,Hull,à étages,224.0,761.0,2012,14,4,0,0,0,5,3,45.42331,-75.68776,2.11,808300.0,831000.0
403+G0402,2025-05-14,Gatineau,à étages,148.0,529.0,1981,45,4,1,1,0,3,2,45.4786,-75.63862,8.13,484700.0,589000.0
404+G0403,2025-05-16,Gatineau,plain-pied,103.0,727.0,1994,32,2,0,1,0,2,1,45.47408,-75.65613,6.82,371500.0,502500.0
405+G0404,2025-05-27,Hull,à étages,160.0,538.0,2003,23,3,1,1,0,4,2,45.4261,-75.73226,1.44,520100.0,578500.0
406+G0405,2025-05-27,Hull,plain-pied,170.0,681.0,2006,20,2,1,1,0,4,2,45.44051,-75.69932,1.8,606700.0,713500.0
407+G0406,2025-05-28,Hull,à étages,122.0,631.0,1999,27,5,1,1,0,3,2,45.43115,-75.73496,1.67,526800.0,656000.0
408+G0407,2025-05-28,Masson-Angers,plain-pied,131.0,1080.0,1997,29,3,0,0,0,3,2,45.54392,-75.42505,25.95,463200.0,457000.0
409+G0408,2025-06-01,Gatineau,à étages,152.0,849.0,1978,48,3,1,0,0,4,3,45.4596,-75.66163,5.38,454900.0,604500.0
410+G0409,2025-06-03,Gatineau,à étages,128.0,320.0,1981,45,2,1,0,1,3,1,45.46567,-75.64626,6.74,457100.0,506000.0
411+G0410,2025-06-04,Hull,à étages,99.0,405.0,1984,42,4,1,1,0,2,2,45.43269,-75.73029,1.37,462900.0,549000.0
412+G0411,2025-06-07,Buckingham,à étages,114.0,1034.0,1983,43,3,2,0,0,2,1,45.59182,-75.42213,29.14,363100.0,405000.0
413+G0412,2025-06-08,Gatineau,à étages,113.0,466.0,1988,38,3,1,1,1,2,2,45.45257,-75.66199,4.89,469600.0,548500.0
414+G0413,2025-06-08,Gatineau,à étages,164.0,561.0,1977,49,3,0,1,0,3,3,45.48052,-75.64467,7.95,562400.0,587500.0
415+G0414,2025-06-12,Buckingham,plain-pied,171.0,857.0,1965,61,3,1,1,0,4,2,45.61318,-75.39893,32.04,425300.0,479500.0
416+G0415,2025-06-14,Gatineau,à étages,132.0,567.0,1998,28,3,1,0,0,3,2,45.46792,-75.66442,5.88,575600.0,643000.0
417+G0416,2025-06-22,Gatineau,à étages,198.0,480.0,1974,52,3,2,0,1,5,2,45.48276,-75.62052,9.49,550300.0,667500.0
418+G0417,2025-06-24,Hull,à étages,110.0,594.0,1968,58,3,2,0,0,3,1,45.43186,-75.69792,1.33,475200.0,528000.0
419+G0418,2025-06-30,Buckingham,à étages,86.0,1352.0,1985,41,3,1,1,0,2,1,45.59151,-75.4075,30.02,340800.0,372000.0
420+G0419,2025-06-30,Hull,plain-pied,207.0,451.0,1987,39,2,0,0,1,5,3,45.43038,-75.7011,1.04,611800.0,694000.0
421+G0420,2025-07-02,Aylmer,à étages,153.0,542.0,1988,38,4,1,1,0,4,2,45.40671,-75.85032,10.89,502000.0,605000.0
422+G0421,2025-07-05,Buckingham,plain-pied,113.0,1790.0,2025,1,4,1,0,0,3,1,45.58618,-75.45012,27.05,422200.0,536500.0
423+G0422,2025-07-06,Gatineau,à étages,103.0,466.0,1994,32,2,2,0,0,1,3,45.46404,-75.65154,6.3,425300.0,480000.0
424+G0423,2025-07-06,Aylmer,à étages,198.0,704.0,2010,16,2,1,1,0,5,2,45.41601,-75.83363,9.43,697600.0,783500.0
425+G0424,2025-07-07,Hull,à étages,103.0,481.0,2022,4,4,1,0,0,2,1,45.43274,-75.71051,0.59,473000.0,567500.0
426+G0425,2025-07-08,Gatineau,plain-pied,112.0,675.0,1967,59,3,0,1,0,3,1,45.4942,-75.63869,9.41,446600.0,492000.0
427+G0426,2025-07-08,Aylmer,à étages,152.0,924.0,1958,68,1,1,1,0,4,2,45.38898,-75.82966,10.01,590300.0,654500.0
428+G0427,2025-07-08,Aylmer,à étages,161.0,539.0,2006,20,3,1,0,0,4,3,45.39957,-75.82201,9.0,588300.0,726500.0
429+G0428,2025-07-09,Hull,plain-pied,126.0,386.0,2017,9,3,0,1,0,2,1,45.42517,-75.70078,1.08,556200.0,583000.0
430+G0429,2025-07-11,Gatineau,à étages,127.0,497.0,1959,67,1,0,0,0,2,2,45.4719,-75.65408,6.75,303200.0,384500.0
431+G0430,2025-07-15,Hull,plain-pied,153.0,449.0,1982,44,2,1,0,1,4,3,45.42527,-75.71792,0.43,447200.0,573000.0
432+G0431,2025-07-17,Hull,plain-pied,141.0,478.0,1983,43,2,1,0,0,3,2,45.41404,-75.70052,1.87,426200.0,480500.0
433+G0432,2025-07-17,Buckingham,plain-pied,156.0,2254.0,1957,69,3,0,0,0,3,1,45.60773,-75.40181,31.48,371000.0,461500.0
434+G0433,2025-07-18,Gatineau,plain-pied,111.0,623.0,1972,54,3,0,0,1,2,1,45.47494,-75.61197,9.51,390900.0,457500.0
435+G0434,2025-07-19,Aylmer,à étages,147.0,866.0,1994,32,3,1,0,0,3,2,45.37053,-75.86872,13.65,504600.0,631500.0
436+G0435,2025-07-25,Hull,plain-pied,130.0,610.0,2000,26,3,0,1,0,3,1,45.40279,-75.69474,3.18,463700.0,529000.0
437+G0436,2025-07-26,Hull,à étages,201.0,481.0,1972,54,3,0,0,0,4,3,45.42259,-75.72493,1.04,633700.0,683000.0
438+G0437,2025-07-30,Hull,plain-pied,125.0,574.0,1992,34,5,0,1,0,2,2,45.41868,-75.72107,1.17,545900.0,654500.0
439+G0438,2025-08-03,Hull,à étages,244.0,361.0,2022,4,3,1,1,0,5,3,45.41768,-75.71807,1.19,809500.0,979500.0
440+G0439,2025-08-03,Hull,à étages,93.0,872.0,2015,11,3,0,0,0,3,1,45.44214,-75.74644,2.98,465400.0,532000.0
441+G0440,2025-08-03,Hull,à étages,219.0,351.0,1978,48,2,1,1,1,5,2,45.44105,-75.70758,1.53,481900.0,618500.0
442+G0441,2025-08-04,Gatineau,à étages,142.0,560.0,1972,54,2,1,1,0,3,1,45.46224,-75.67115,5.06,432100.0,478500.0
443+G0442,2025-08-08,Aylmer,plain-pied,130.0,862.0,1992,34,2,0,0,0,3,2,45.38279,-75.82885,10.27,442800.0,495500.0
444+G0443,2025-08-14,Hull,plain-pied,95.0,401.0,1979,47,5,0,0,1,2,1,45.42209,-75.70066,1.23,440500.0,478500.0
445+G0444,2025-08-18,Hull,à étages,164.0,691.0,2019,7,2,1,0,0,5,1,45.42144,-75.72789,1.31,530600.0,604000.0
446+G0445,2025-08-19,Masson-Angers,à étages,145.0,659.0,1968,58,3,1,0,0,2,2,45.56223,-75.41992,27.35,289500.0,387500.0
447+G0446,2025-08-20,Hull,plain-pied,169.0,392.0,1936,90,3,1,0,0,4,2,45.46413,-75.74243,4.58,444200.0,633500.0
448+G0447,2025-08-21,Aylmer,à étages,112.0,435.0,1993,33,3,0,0,1,3,1,45.4197,-75.84757,10.46,432700.0,503500.0
449+G0448,2025-08-25,Gatineau,à étages,175.0,429.0,1974,52,2,1,1,1,3,2,45.48408,-75.6685,7.17,592700.0,648500.0
450+G0449,2025-08-27,Hull,plain-pied,136.0,369.0,1963,63,3,0,1,0,3,2,45.44024,-75.73243,1.98,358100.0,453000.0
451+G0450,2025-08-30,Gatineau,à étages,133.0,1139.0,2010,16,3,0,1,0,2,2,45.47217,-75.61248,9.31,500500.0,593500.0
452+G0451,2025-08-31,Aylmer,plain-pied,112.0,440.0,1985,41,4,1,0,1,3,2,45.39939,-75.87068,12.63,459600.0,556000.0
453+G0452,2025-09-01,Aylmer,plain-pied,185.0,581.0,1995,31,3,0,1,0,5,3,45.39413,-75.83253,9.98,547100.0,635000.0
454+G0453,2025-09-01,Masson-Angers,à étages,131.0,901.0,1947,79,1,1,0,0,3,2,45.54294,-75.39697,27.83,337800.0,361500.0
455+G0454,2025-09-04,Hull,plain-pied,168.0,445.0,1979,47,5,1,0,1,3,2,45.44133,-75.70506,1.64,578400.0,630000.0
456+G0455,2025-09-04,Gatineau,à étages,139.0,478.0,1964,62,4,1,0,1,3,1,45.44703,-75.65811,4.84,461500.0,567500.0
457+G0456,2025-09-07,Hull,plain-pied,84.0,443.0,1996,30,5,0,1,0,2,1,45.40834,-75.677,3.62,481100.0,524000.0
458+G0457,2025-09-07,Masson-Angers,à étages,180.0,1428.0,1969,57,2,0,0,0,4,2,45.53937,-75.39979,27.45,410800.0,519000.0
459+G0458,2025-09-12,Hull,plain-pied,112.0,692.0,1971,55,3,2,0,1,3,2,45.4297,-75.74786,2.65,394300.0,475000.0
460+G0459,2025-09-13,Gatineau,à étages,113.0,638.0,1990,36,1,1,0,1,1,2,45.49736,-75.64407,9.44,335000.0,435000.0
461+G0460,2025-09-14,Hull,plain-pied,163.0,442.0,1945,81,3,2,1,0,3,2,45.42809,-75.70423,0.76,459100.0,633000.0
462+G0461,2025-09-15,Gatineau,à étages,93.0,807.0,1979,47,3,1,1,0,2,1,45.47138,-75.66537,6.13,308800.0,413500.0
463+G0462,2025-09-20,Hull,à étages,166.0,528.0,1994,32,2,0,1,0,4,2,45.41823,-75.69198,2.03,555400.0,672500.0
464+G0463,2025-09-20,Gatineau,à étages,132.0,448.0,1996,30,4,0,1,0,3,1,45.47278,-75.62477,8.55,626900.0,602500.0
465+G0464,2025-09-22,Aylmer,à étages,74.0,845.0,1975,51,2,0,0,1,1,2,45.41015,-75.80574,7.42,330300.0,472500.0
466+G0465,2025-09-22,Buckingham,à étages,163.0,1660.0,1984,42,3,1,0,0,3,2,45.58121,-75.3973,29.99,556700.0,625500.0
467+G0466,2025-09-22,Gatineau,à étages,148.0,648.0,1964,62,4,2,1,0,3,2,45.47228,-75.65184,6.9,575500.0,639000.0
468+G0467,2025-09-24,Hull,à étages,129.0,754.0,1986,40,1,2,0,0,2,1,45.45948,-75.73687,3.92,475100.0,570500.0
469+G0468,2025-09-27,Hull,à étages,187.0,586.0,1999,27,4,1,1,0,3,1,45.43724,-75.73501,1.93,601200.0,719000.0
470+G0469,2025-09-30,Gatineau,à étages,136.0,504.0,1993,33,3,1,0,0,2,1,45.477,-75.63933,7.97,429800.0,527500.0
471+G0470,2025-10-08,Gatineau,plain-pied,169.0,515.0,1975,51,3,0,1,0,5,1,45.47413,-75.65069,7.11,501100.0,647500.0
472+G0471,2025-10-14,Aylmer,à étages,102.0,693.0,2008,18,3,2,1,0,2,2,45.39338,-75.81072,8.47,701000.0,711000.0
473+G0472,2025-10-16,Aylmer,plain-pied,178.0,640.0,1985,41,3,1,1,0,4,2,45.39924,-75.81047,8.17,574700.0,701000.0
474+G0473,2025-10-17,Gatineau,à étages,186.0,503.0,1979,47,3,1,1,0,4,1,45.47527,-75.66592,6.45,528700.0,613500.0
475+G0474,2025-10-17,Hull,à étages,119.0,510.0,1928,98,3,0,1,0,3,2,45.43066,-75.71817,0.44,391900.0,454000.0
476+G0475,2025-10-22,Gatineau,à étages,105.0,664.0,1998,28,2,1,1,0,2,1,45.48652,-75.64003,8.69,343000.0,416000.0
477+G0476,2025-11-01,Masson-Angers,à étages,107.0,800.0,1983,43,4,0,0,0,3,1,45.54112,-75.409,26.9,340800.0,414500.0
478+G0477,2025-11-02,Hull,à étages,146.0,452.0,2002,24,4,1,1,0,3,2,45.42505,-75.70935,0.49,573300.0,621000.0
479+G0478,2025-11-05,Gatineau,à étages,232.0,542.0,2007,19,4,0,0,0,4,3,45.48932,-75.64833,8.52,625800.0,776000.0
480+G0479,2025-11-08,Hull,à étages,151.0,548.0,2018,8,2,0,1,0,3,2,45.44154,-75.71209,1.51,655900.0,740000.0
481+G0480,2025-11-11,Gatineau,à étages,133.0,847.0,1996,30,3,0,0,0,3,3,45.47892,-75.66793,6.7,509900.0,666000.0
482+G0481,2025-11-18,Gatineau,plain-pied,146.0,485.0,2011,15,3,1,1,0,3,2,45.478,-75.64947,7.49,495500.0,577000.0
483+G0482,2025-11-25,Aylmer,à étages,199.0,452.0,2000,26,4,1,1,0,5,3,45.38739,-75.83183,10.24,668400.0,833000.0
484+G0483,2025-11-28,Gatineau,plain-pied,164.0,537.0,1990,36,4,1,1,1,4,2,45.47627,-75.61936,9.12,671600.0,757000.0
485+G0484,2025-11-29,Gatineau,plain-pied,124.0,512.0,1968,58,3,1,1,0,4,1,45.47403,-75.67141,6.09,456400.0,515000.0
486+G0485,2025-11-30,Buckingham,plain-pied,150.0,1315.0,2008,18,4,1,1,1,4,2,45.60869,-75.41814,30.57,462600.0,570500.0
487+G0486,2025-12-04,Aylmer,plain-pied,184.0,560.0,1984,42,3,1,0,0,4,2,45.39598,-75.82794,9.57,575700.0,672000.0
488+G0487,2025-12-08,Aylmer,à étages,117.0,346.0,1983,43,2,1,1,0,2,1,45.39396,-75.88252,13.68,433400.0,571500.0
489+G0488,2025-12-10,Hull,à étages,201.0,441.0,1997,29,3,2,0,0,5,2,45.42657,-75.71117,0.27,608600.0,762500.0
490+G0489,2025-12-17,Gatineau,à étages,131.0,419.0,1976,50,3,0,1,0,3,2,45.49207,-75.68821,7.39,449200.0,548500.0
491+G0490,2025-12-18,Hull,plain-pied,152.0,496.0,1979,47,4,2,1,0,4,2,45.4387,-75.70158,1.53,522900.0,638000.0
492+G0491,2025-12-19,Hull,plain-pied,146.0,680.0,1961,65,3,1,1,1,3,1,45.42951,-75.68761,2.06,425300.0,562000.0
493+G0492,2025-12-21,Gatineau,plain-pied,226.0,648.0,1978,48,3,1,0,0,5,3,45.4767,-75.6718,6.33,562600.0,694500.0
494+G0493,2025-12-22,Buckingham,plain-pied,147.0,1184.0,1966,60,4,0,1,0,4,2,45.5911,-75.40428,30.19,347500.0,447500.0
495+G0494,2025-12-22,Aylmer,plain-pied,179.0,506.0,1983,43,3,2,0,0,4,3,45.39156,-75.80493,8.16,593800.0,762000.0
496+G0495,2025-12-22,Hull,à étages,182.0,764.0,1988,38,3,0,1,0,4,2,45.42345,-75.69749,1.38,705500.0,766500.0
497+G0496,2025-12-25,Aylmer,à étages,149.0,917.0,1966,60,2,0,1,0,4,2,45.39215,-75.82895,9.81,488800.0,602500.0
498+G0497,2025-12-26,Gatineau,à étages,123.0,513.0,1990,36,1,1,0,0,3,1,45.46982,-75.67453,5.57,382600.0,453000.0
499+G0498,2025-12-26,Hull,à étages,166.0,599.0,1964,62,1,0,1,0,4,2,45.44407,-75.73551,2.45,402700.0,454000.0
500+G0499,2025-12-29,Buckingham,à étages,84.0,1525.0,1961,65,2,0,0,0,3,1,45.58112,-75.41179,29.06,287800.0,330500.0
501+G0500,2026-01-04,Hull,plain-pied,248.0,702.0,1992,34,4,1,0,0,5,2,45.45976,-75.72969,3.73,679000.0,932500.0
502+G0501,2026-01-05,Hull,plain-pied,158.0,761.0,1954,72,2,0,0,0,3,2,45.41548,-75.74244,2.62,436800.0,511000.0
503+G0502,2026-01-07,Gatineau,à étages,190.0,364.0,1977,49,3,0,1,0,4,2,45.48817,-75.66891,7.55,502400.0,669000.0
504+G0503,2026-01-09,Gatineau,à étages,111.0,499.0,2013,13,3,1,1,0,4,1,45.47142,-75.63931,7.56,534600.0,599000.0
505+G0504,2026-01-13,Hull,plain-pied,213.0,525.0,1984,42,3,2,1,0,5,2,45.43341,-75.74092,2.18,669900.0,768500.0
506+G0505,2026-01-14,Aylmer,plain-pied,157.0,557.0,1964,62,5,0,1,0,3,2,45.4013,-75.89027,14.07,528900.0,729000.0
507+G0506,2026-01-15,Gatineau,à étages,157.0,597.0,2001,25,1,1,1,0,3,2,45.48877,-75.63846,8.96,449300.0,682000.0
508+G0507,2026-01-20,Gatineau,plain-pied,104.0,720.0,1990,36,2,0,1,0,3,2,45.49321,-75.64706,8.93,414000.0,496500.0
509+G0508,2026-01-22,Gatineau,à étages,123.0,443.0,2009,17,3,0,0,0,4,3,45.46733,-75.65597,6.29,438700.0,558000.0
510+G0509,2026-01-27,Gatineau,à étages,120.0,564.0,1990,36,3,2,1,0,4,2,45.47654,-75.64906,7.39,458200.0,539000.0
511+G0510,2026-01-29,Hull,à étages,194.0,1241.0,1971,55,2,1,1,0,4,2,45.43573,-75.72288,1.1,657500.0,779000.0
512+G0511,2026-01-30,Aylmer,à étages,188.0,602.0,1998,28,3,1,1,0,4,3,45.40028,-75.90921,15.53,640700.0,679500.0
513+G0512,2026-02-03,Aylmer,à étages,156.0,663.0,2009,17,2,0,0,1,4,2,45.4072,-75.84625,10.57,539500.0,689500.0
514+G0513,2026-02-04,Masson-Angers,à étages,174.0,1799.0,2007,19,3,0,0,0,4,2,45.55555,-75.42707,26.48,487300.0,624000.0
515+G0514,2026-02-08,Aylmer,à étages,115.0,512.0,1947,79,2,1,1,0,2,1,45.39342,-75.79755,7.56,454500.0,578000.0
516+G0515,2026-02-10,Gatineau,à étages,160.0,696.0,1985,41,3,0,1,0,4,2,45.47589,-75.6552,7.02,555200.0,584000.0
517+G0516,2026-02-11,Gatineau,à étages,262.0,373.0,1937,89,2,1,1,0,5,4,45.48533,-75.64453,8.36,509100.0,608000.0
518+G0517,2026-02-12,Gatineau,à étages,186.0,641.0,1984,42,3,1,0,0,4,1,45.48045,-75.63923,8.24,599100.0,648500.0
519+G0518,2026-02-21,Aylmer,plain-pied,134.0,658.0,1991,35,1,0,1,0,3,1,45.38409,-75.80806,8.81,452700.0,509500.0
520+G0519,2026-02-21,Aylmer,à étages,102.0,426.0,1991,35,3,0,1,0,2,1,45.38522,-75.78679,7.4,435800.0,533000.0
521+G0520,2026-02-23,Hull,à étages,110.0,347.0,1965,61,3,1,0,0,2,1,45.43538,-75.72696,1.3,391400.0,451500.0
522+G0521,2026-03-01,Hull,à étages,164.0,570.0,1986,40,3,2,0,0,4,2,45.40594,-75.70108,2.65,609000.0,744500.0
523+G0522,2026-03-05,Aylmer,à étages,121.0,840.0,2015,11,3,0,1,0,4,2,45.3837,-75.86018,12.42,549100.0,669000.0
524+G0523,2026-03-05,Aylmer,à étages,133.0,455.0,2025,1,3,0,1,0,3,1,45.41883,-75.85262,10.86,551100.0,729500.0
525+G0524,2026-03-12,Gatineau,plain-pied,115.0,535.0,1966,60,3,0,1,0,2,1,45.46967,-75.67958,5.35,375100.0,434000.0
526+G0525,2026-03-14,Gatineau,à étages,167.0,436.0,1981,45,3,0,1,0,4,2,45.47269,-75.6319,8.1,457100.0,564000.0
527+G0526,2026-03-16,Gatineau,à étages,115.0,460.0,1969,57,3,1,1,0,3,1,45.45963,-75.63086,7.37,319400.0,427000.0
528+G0527,2026-03-17,Gatineau,plain-pied,88.0,632.0,1993,33,4,2,1,0,1,2,45.47932,-75.65303,7.42,469800.0,547000.0
529+G0528,2026-03-19,Aylmer,plain-pied,146.0,484.0,1989,37,4,1,0,0,4,1,45.38072,-75.84077,11.19,541800.0,737000.0
530+G0529,2026-03-22,Gatineau,plain-pied,144.0,703.0,1998,28,4,1,1,0,4,2,45.4963,-75.65607,8.83,574500.0,615500.0
531+G0530,2026-03-23,Gatineau,à étages,228.0,462.0,1983,43,2,1,1,0,5,3,45.48302,-75.66452,7.22,721200.0,720000.0
532+G0531,2026-03-25,Hull,plain-pied,144.0,1019.0,1953,73,3,1,0,0,2,1,45.43433,-75.70417,1.04,504800.0,580500.0
533+G0532,2026-03-25,Buckingham,à étages,119.0,1404.0,1971,55,4,1,1,0,3,2,45.58488,-75.40616,29.66,388300.0,474000.0
534+G0533,2026-04-02,Masson-Angers,plain-pied,154.0,2281.0,2025,1,2,0,1,0,3,2,45.53936,-75.40624,27.0,428000.0,514000.0
535+G0534,2026-04-04,Masson-Angers,à étages,188.0,1347.0,1967,59,4,1,0,1,5,2,45.55449,-75.39215,28.76,513800.0,610000.0
536+G0535,2026-04-10,Aylmer,à étages,153.0,328.0,1978,48,5,0,1,1,3,2,45.38595,-75.8459,11.3,612100.0,763000.0
537+G0536,2026-04-10,Hull,plain-pied,152.0,659.0,1978,48,1,1,1,0,3,2,45.45233,-75.67348,4.16,469300.0,555000.0
538+G0537,2026-04-12,Gatineau,à étages,88.0,631.0,1992,34,4,0,0,0,1,1,45.48372,-75.66251,7.37,344100.0,458500.0
539+G0538,2026-04-12,Gatineau,plain-pied,118.0,720.0,1997,29,4,2,1,1,2,2,45.45292,-75.64562,6.01,526500.0,622500.0
540+G0539,2026-04-18,Gatineau,plain-pied,123.0,436.0,1991,35,3,0,0,0,3,2,45.46239,-75.64359,6.69,417200.0,545500.0
541+G0540,2026-04-21,Hull,à étages,121.0,408.0,1989,37,3,0,0,0,3,1,45.41951,-75.68843,2.21,399200.0,484500.0
542+G0541,2026-04-21,Buckingham,à étages,119.0,561.0,2015,11,4,1,0,0,3,1,45.59929,-75.42582,29.44,520600.0,607500.0
543+G0542,2026-04-22,Aylmer,à étages,172.0,656.0,1984,42,3,1,1,0,3,3,45.37003,-75.87852,14.36,505300.0,682000.0
544+G0543,2026-04-24,Gatineau,plain-pied,140.0,627.0,1965,61,3,1,0,0,3,2,45.48656,-75.64764,8.31,408600.0,483500.0
545+G0544,2026-04-25,Aylmer,à étages,189.0,629.0,1985,41,4,0,1,0,4,1,45.3874,-75.82747,9.93,682600.0,776500.0
546+G0545,2026-04-26,Buckingham,plain-pied,128.0,1270.0,1971,55,2,1,0,0,2,2,45.58752,-75.44356,27.54,311100.0,372000.0
547+G0546,2026-04-26,Aylmer,à étages,115.0,1063.0,1977,49,3,1,0,0,2,2,45.38699,-75.86688,12.76,446200.0,543500.0
548+G0547,2026-04-27,Hull,à étages,132.0,527.0,1972,54,3,1,1,0,3,2,45.40434,-75.72928,2.88,463900.0,638000.0
549+G0548,2026-04-28,Gatineau,plain-pied,164.0,499.0,1982,44,3,0,1,0,4,3,45.47482,-75.66689,6.36,465900.0,583000.0
550+G0549,2026-04-29,Gatineau,à étages,161.0,459.0,2000,26,3,1,1,0,3,1,45.48081,-75.64179,8.13,490100.0,634000.0
551+G0550,2026-05-06,Gatineau,plain-pied,123.0,506.0,1997,29,3,0,1,1,2,1,45.47107,-75.6491,6.96,471100.0,542000.0
552+G0551,2026-05-14,Gatineau,à étages,204.0,750.0,1995,31,2,0,1,0,4,3,45.4628,-75.63912,7.0,604400.0,683500.0
553+G0552,2026-05-16,Hull,à étages,252.0,625.0,1971,55,4,1,1,1,5,4,45.40768,-75.6986,2.56,726900.0,903000.0
554+G0553,2026-05-17,Gatineau,à étages,91.0,556.0,1973,53,1,1,1,0,3,1,45.46243,-75.66563,5.37,311700.0,369500.0
555+G0554,2026-05-18,Aylmer,à étages,151.0,437.0,1968,58,3,2,1,0,3,2,45.40253,-75.84097,10.3,452300.0,617500.0
556+G0555,2026-05-22,Aylmer,plain-pied,131.0,506.0,1977,49,3,0,0,0,3,2,45.39664,-75.85298,11.39,500900.0,627000.0
557+G0556,2026-05-24,Gatineau,plain-pied,104.0,901.0,2003,23,2,1,0,0,3,1,45.45657,-75.66379,5.04,390300.0,437000.0
558+G0557,2026-05-28,Hull,à étages,118.0,950.0,2005,21,4,1,1,0,3,1,45.4386,-75.72786,1.6,602000.0,765000.0
559+G0558,2026-05-31,Gatineau,à étages,174.0,176.0,1995,31,3,0,1,1,4,2,45.47013,-75.66456,6.06,601300.0,707500.0
560+G0559,2026-06-02,Hull,à étages,166.0,400.0,1931,95,3,0,1,0,3,2,45.43374,-75.72572,1.11,445600.0,618000.0
561+G0560,2026-06-03,Gatineau,à étages,125.0,471.0,1990,36,4,1,0,0,3,1,45.47036,-75.67075,5.79,421100.0,501500.0
562+G0561,2026-06-03,Hull,à étages,91.0,540.0,1985,41,4,1,1,0,1,1,45.42945,-75.71056,0.31,429200.0,492500.0
563+G0562,2026-06-03,Aylmer,à étages,144.0,653.0,2005,21,3,0,1,0,3,1,45.41161,-75.83248,9.42,650800.0,745000.0
564+G0563,2026-06-04,Aylmer,à étages,174.0,551.0,1985,41,4,1,1,0,3,3,45.3931,-75.84216,10.72,724100.0,791000.0
565+G0564,2026-06-04,Hull,plain-pied,79.0,527.0,1999,27,3,1,0,0,2,2,45.42548,-75.69315,1.65,418300.0,477000.0
566+G0565,2026-06-06,Gatineau,à étages,97.0,571.0,1990,36,2,0,0,0,1,1,45.48894,-75.66084,7.93,352600.0,466000.0
567+G0566,2026-06-09,Gatineau,plain-pied,166.0,594.0,1958,68,3,1,0,0,4,3,45.46528,-75.68086,4.88,657600.0,706500.0
568+G0567,2026-06-10,Hull,plain-pied,199.0,420.0,1988,38,3,0,1,0,5,3,45.43103,-75.75632,3.32,794000.0,822500.0
569+G0568,2026-06-11,Masson-Angers,à étages,118.0,1780.0,1961,65,4,0,1,0,3,2,45.55212,-75.3674,30.34,333800.0,436000.0
570+G0569,2026-06-13,Hull,plain-pied,175.0,514.0,1985,41,3,1,0,0,4,2,45.43832,-75.66849,3.73,612200.0,698500.0
571+G0570,2026-06-16,Gatineau,plain-pied,134.0,314.0,2011,15,2,1,0,0,3,1,45.46418,-75.63558,7.32,569300.0,606000.0
572+G0571,2026-06-17,Hull,à étages,207.0,656.0,1959,67,3,0,1,0,4,3,45.43242,-75.712,0.51,605600.0,792000.0
573+G0572,2026-06-18,Gatineau,à étages,134.0,1187.0,1979,47,4,0,0,0,3,1,45.47183,-75.67035,5.94,473800.0,554000.0
574+G0573,2026-06-19,Aylmer,à étages,121.0,687.0,1991,35,3,0,1,0,3,1,45.37067,-75.84246,11.87,561400.0,620000.0
575+G0574,2026-06-22,Hull,à étages,149.0,592.0,1996,30,4,0,0,0,3,2,45.41878,-75.73019,1.63,595600.0,700500.0
576+G0575,2026-06-23,Hull,à étages,156.0,333.0,2013,13,2,0,1,0,4,3,45.41164,-75.71306,1.82,502300.0,602000.0
577+G0576,2026-06-24,Hull,à étages,153.0,616.0,1999,27,3,1,1,0,3,2,45.4357,-75.69636,1.62,574200.0,645500.0
578+G0577,2026-06-27,Aylmer,à étages,121.0,466.0,1979,47,3,1,1,1,2,1,45.39436,-75.85535,11.64,555600.0,703500.0
579+G0578,2026-06-29,Aylmer,à étages,214.0,517.0,1983,43,4,0,0,0,5,2,45.3839,-75.89067,14.62,757200.0,892000.0
580+G0579,2026-07-01,Hull,plain-pied,131.0,347.0,1975,51,3,1,1,0,4,2,45.42807,-75.69034,1.85,462400.0,589500.0
581+G0580,2026-07-04,Hull,plain-pied,143.0,591.0,1954,72,2,0,0,0,3,2,45.44841,-75.73366,2.74,376000.0,485500.0
582+G0581,2026-07-05,Hull,plain-pied,130.0,475.0,1986,40,3,0,1,0,2,1,45.43456,-75.71018,0.79,615900.0,717500.0
583+G0582,2026-07-07,Aylmer,à étages,110.0,454.0,1971,55,4,0,0,1,2,1,45.37237,-75.81743,10.16,474200.0,595500.0
584+G0583,2026-07-10,Buckingham,à étages,103.0,896.0,1972,54,3,1,1,1,2,1,45.59032,-75.4071,29.96,365400.0,445500.0
585+G0584,2026-07-26,Hull,plain-pied,111.0,594.0,1997,29,1,1,1,1,3,2,45.4263,-75.70601,0.65,419600.0,508000.0
586+G0585,2026-07-29,Hull,à étages,159.0,959.0,1955,71,3,0,1,0,4,1,45.44136,-75.73755,2.36,491600.0,655500.0
587+G0586,2026-07-30,Aylmer,à étages,153.0,484.0,1953,73,4,1,1,0,2,2,45.40063,-75.8331,9.77,507900.0,597500.0
588+G0587,2026-08-03,Aylmer,à étages,162.0,627.0,2025,1,3,0,0,0,2,3,45.40077,-75.85072,11.08,560300.0,771500.0
589+G0588,2026-08-04,Gatineau,à étages,141.0,764.0,1976,50,2,2,1,0,4,2,45.48132,-75.60932,10.08,507500.0,595500.0
590+G0589,2026-08-09,Buckingham,à étages,229.0,2418.0,2025,1,4,0,1,0,5,3,45.58675,-75.43495,28.0,632100.0,823000.0
591+G0590,2026-08-11,Aylmer,plain-pied,113.0,661.0,1974,52,3,1,1,0,3,1,45.40365,-75.84585,10.63,470500.0,585500.0
592+G0591,2026-08-12,Aylmer,à étages,270.0,849.0,1962,64,3,1,1,0,6,3,45.40138,-75.88037,13.31,852200.0,954000.0
593+G0592,2026-08-15,Aylmer,à étages,130.0,644.0,1987,39,3,0,1,0,2,2,45.3878,-75.85663,11.99,522500.0,645000.0
594+G0593,2026-08-16,Aylmer,à étages,164.0,545.0,1943,83,4,0,0,0,4,2,45.38896,-75.83874,10.65,576500.0,698000.0
595+G0594,2026-08-18,Gatineau,à étages,132.0,360.0,1950,76,2,2,1,0,2,1,45.49832,-75.65019,9.26,398500.0,538000.0
596+G0595,2026-08-20,Gatineau,à étages,110.0,724.0,1975,51,3,0,1,0,4,1,45.49146,-75.66255,8.11,432800.0,570500.0
597+G0596,2026-08-24,Hull,plain-pied,113.0,255.0,2011,15,2,1,0,0,2,1,45.41086,-75.71518,1.9,365600.0,546000.0
598+G0597,2026-08-25,Gatineau,plain-pied,125.0,555.0,2001,25,2,1,1,0,2,2,45.48089,-75.65783,7.33,528800.0,570500.0
599+G0598,2026-08-29,Gatineau,plain-pied,192.0,341.0,1940,86,3,1,1,0,5,2,45.47869,-75.62944,8.67,534100.0,631000.0
600+G0599,2026-08-30,Aylmer,plain-pied,122.0,462.0,1997,29,4,1,1,0,4,2,45.38825,-75.84585,11.19,582300.0,697000.0
601+G0600,2026-08-30,Buckingham,à étages,141.0,1510.0,1981,45,2,0,0,0,3,1,45.57744,-75.46693,25.43,344200.0,476500.0
added data/synthetic/cas2_quebec_depenses.csv +9 −0
@@ -0,0 +1,9 @@
1+poste,montant_annuel,type
2+Taxes municipales,5900,fixe
3+Taxe scolaire,470,fixe
4+Assurances,3400,fixe
5+Électricité (aires communes),650,variable
6+Déneigement et entretien extérieur,1500,variable
7+Entretien et réparations,3200,variable
8+Gestion (propriétaire-occupant : imputée 4 %),0,imputée
9+Réserve de remplacement,1800,réserve
added data/synthetic/cas2_quebec_loyers.csv +4 −0
@@ -0,0 +1,4 @@
1+logement,pieces,chambres,superficie_m2,loyer_mensuel,debut_bail,chauffage_inclus,locataire_depuis,loyer_marche_estime
2+RC,5½,2,92,984,2019-07-01,0,2019,1344
3+2e,5½,2,92,1116,2022-07-01,0,2022,1344
4+3e,4½,1,78,1176,2025-07-01,0,2025,1176
added data/synthetic/cas2_quebec_sujet.json +14 −0
@@ -0,0 +1,14 @@
1+{
2+ "adresse_fictive": "456, 3e Avenue (fictive), Limoilou, Québec",
3+ "quartier": "Limoilou",
4+ "nb_logements": 3,
5+ "annee_construction": 1948,
6+ "age": 78,
7+ "etat_1a5": 3,
8+ "superficie_habitable_m2": 262,
9+ "superficie_terrain_m2": 310,
10+ "stationnement": 1,
11+ "valeur_role_2025": 495000,
12+ "date_evaluation": "2026-09-01",
13+ "note": "DONNÉES SYNTHÉTIQUES — immeuble fictif"
14+}
\ No newline at end of file
added data/synthetic/cas2_quebec_ventes_plex.csv +251 −0
@@ -0,0 +1,251 @@
1+id_vente,date_vente,quartier,nb_logements,superficie_habitable_m2,annee_construction,age,etat_1a5,stationnement,loyer_mensuel_moyen_contrat,loyer_mensuel_moyen_marche,revenu_brut_potentiel,ratio_depenses,rne,prix_vente,mrb,taux_global,prix_par_logement
2+Q0001,2023-01-06,Limoilou,2,166.0,1928,98,3,1,1097.0,1274.0,26328.0,0.444,14483.0,431000.0,16.37,0.0336,215500.0
3+Q0002,2023-01-07,Maizerets,2,177.0,1912,114,2,0,920.0,954.0,22083.0,0.364,13909.0,324000.0,14.67,0.0429,162000.0
4+Q0003,2023-01-07,Maizerets,3,242.0,1944,82,1,0,1036.0,1253.0,37302.0,0.405,21971.0,456000.0,12.22,0.0482,152000.0
5+Q0004,2023-01-08,Limoilou,3,292.0,1927,99,3,0,1129.0,1223.0,40630.0,0.324,27201.0,581000.0,14.3,0.0468,193667.0
6+Q0005,2023-01-20,Limoilou,2,172.0,1955,71,4,1,862.0,919.0,20693.0,0.31,14142.0,379000.0,18.32,0.0373,189500.0
7+Q0006,2023-02-12,Maizerets,2,142.0,1975,51,3,0,767.0,996.0,18401.0,0.426,10461.0,313000.0,17.01,0.0334,156500.0
8+Q0007,2023-02-12,Montcalm,3,283.0,1946,80,2,0,1699.0,1708.0,61173.0,0.342,39822.0,778000.0,12.72,0.0512,259333.0
9+Q0008,2023-02-17,Saint-Sauveur,2,198.0,1957,69,3,1,1031.0,1078.0,24746.0,0.362,15634.0,434000.0,17.54,0.036,217000.0
10+Q0009,2023-02-19,Saint-Sauveur,3,291.0,1948,78,3,1,1010.0,1089.0,36361.0,0.394,21803.0,557000.0,15.32,0.0391,185667.0
11+Q0010,2023-02-21,Montcalm,2,137.0,1933,93,2,1,1396.0,1431.0,33504.0,0.434,18766.0,390000.0,11.64,0.0481,195000.0
12+Q0011,2023-02-23,Limoilou,2,135.0,1948,78,3,0,1375.0,1623.0,33001.0,0.306,22678.0,363000.0,11.0,0.0625,181500.0
13+Q0012,2023-03-18,Saint-Sauveur,3,248.0,1938,88,4,1,922.0,1192.0,33198.0,0.297,23114.0,552000.0,16.63,0.0419,184000.0
14+Q0013,2023-03-23,Limoilou,3,190.0,1914,112,1,1,1106.0,1152.0,39819.0,0.279,28426.0,363000.0,9.12,0.0783,121000.0
15+Q0014,2023-03-26,Limoilou,3,301.0,1927,99,2,1,1163.0,1179.0,41872.0,0.33,27759.0,545000.0,13.02,0.0509,181667.0
16+Q0015,2023-04-15,Montcalm,2,141.0,1951,75,2,0,970.0,974.0,23275.0,0.39,14056.0,364000.0,15.64,0.0386,182000.0
17+Q0016,2023-04-16,Saint-Sauveur,2,163.0,1952,74,2,0,829.0,1022.0,19904.0,0.35,12799.0,347000.0,17.43,0.0369,173500.0
18+Q0017,2023-04-18,Montcalm,2,121.0,1948,78,2,1,1117.0,1200.0,26808.0,0.38,16444.0,458000.0,17.08,0.0359,229000.0
19+Q0018,2023-04-27,Limoilou,3,249.0,1939,87,2,1,1166.0,1170.0,41960.0,0.291,29467.0,544000.0,12.96,0.0542,181333.0
20+Q0019,2023-05-09,Saint-Sauveur,3,347.0,1929,97,3,0,1039.0,1145.0,37419.0,0.361,23661.0,650000.0,17.37,0.0364,216667.0
21+Q0020,2023-05-16,Saint-Sauveur,3,233.0,1962,64,2,1,796.0,939.0,28659.0,0.278,20489.0,441000.0,15.39,0.0465,147000.0
22+Q0021,2023-05-17,Maizerets,3,288.0,1949,77,3,1,1021.0,1175.0,36754.0,0.373,22815.0,606000.0,16.49,0.0376,202000.0
23+Q0022,2023-05-20,Maizerets,2,253.0,1911,115,4,1,912.0,1130.0,21889.0,0.428,12404.0,516000.0,23.57,0.024,258000.0
24+Q0023,2023-05-21,Saint-Sauveur,3,224.0,1919,107,4,1,1135.0,1209.0,40877.0,0.313,27796.0,549000.0,13.43,0.0506,183000.0
25+Q0024,2023-06-13,Maizerets,3,237.0,1932,94,3,1,910.0,1232.0,32768.0,0.334,21593.0,585000.0,17.85,0.0369,195000.0
26+Q0025,2023-06-20,Maizerets,3,259.0,1957,69,4,0,1079.0,1082.0,38854.0,0.285,27499.0,617000.0,15.88,0.0446,205667.0
27+Q0026,2023-06-22,Saint-Sauveur,3,272.0,1947,79,4,0,967.0,1082.0,34807.0,0.364,21923.0,568000.0,16.32,0.0386,189333.0
28+Q0027,2023-07-08,Montcalm,3,327.0,1921,105,2,0,937.0,1208.0,33736.0,0.367,21133.0,722000.0,21.4,0.0293,240667.0
29+Q0028,2023-07-15,Maizerets,3,284.0,1961,65,4,1,1087.0,1205.0,39125.0,0.282,27811.0,708000.0,18.1,0.0393,236000.0
30+Q0029,2023-07-16,Saint-Roch,3,249.0,1923,103,4,1,1230.0,1376.0,44284.0,0.34,28944.0,642000.0,14.5,0.0451,214000.0
31+Q0030,2023-07-17,Limoilou,3,198.0,1927,99,4,1,1150.0,1170.0,41390.0,0.37,25802.0,539000.0,13.02,0.0479,179667.0
32+Q0031,2023-07-20,Limoilou,2,216.0,1974,52,3,1,803.0,1067.0,19268.0,0.25,14306.0,616000.0,31.97,0.0232,308000.0
33+Q0032,2023-07-28,Limoilou,2,195.0,1948,78,5,1,1075.0,1151.0,25790.0,0.391,15552.0,550000.0,21.33,0.0283,275000.0
34+Q0033,2023-07-30,Limoilou,2,180.0,1924,102,3,0,1033.0,1036.0,24790.0,0.299,17213.0,410000.0,16.54,0.042,205000.0
35+Q0034,2023-07-31,Maizerets,3,257.0,1948,78,2,1,898.0,975.0,32346.0,0.293,22646.0,424000.0,13.11,0.0534,141333.0
36+Q0035,2023-08-16,Saint-Roch,2,128.0,1927,99,2,0,594.0,1188.0,14261.0,0.41,8334.0,296000.0,20.76,0.0282,148000.0
37+Q0036,2023-08-18,Montcalm,2,134.0,1952,74,3,1,950.0,1092.0,22809.0,0.4,13554.0,507000.0,22.23,0.0267,253500.0
38+Q0037,2023-08-28,Saint-Roch,3,275.0,1956,70,2,0,978.0,1104.0,35196.0,0.393,21133.0,552000.0,15.68,0.0383,184000.0
39+Q0038,2023-08-28,Saint-Sauveur,3,226.0,1935,91,3,0,1443.0,1455.0,51944.0,0.265,37818.0,512000.0,9.86,0.0739,170667.0
40+Q0039,2023-09-01,Saint-Sauveur,3,238.0,1980,46,4,1,1084.0,1098.0,39037.0,0.385,23760.0,680000.0,17.42,0.0349,226667.0
41+Q0040,2023-09-02,Saint-Sauveur,3,268.0,1961,65,3,1,1072.0,1100.0,38596.0,0.303,26641.0,601000.0,15.57,0.0443,200333.0
42+Q0041,2023-09-04,Maizerets,2,207.0,1976,50,4,1,999.0,1219.0,23984.0,0.406,14107.0,460000.0,19.18,0.0307,230000.0
43+Q0042,2023-09-12,Saint-Roch,3,193.0,1962,64,4,0,1078.0,1198.0,38802.0,0.479,20002.0,557000.0,14.35,0.0359,185667.0
44+Q0043,2023-09-22,Limoilou,3,221.0,1928,98,3,0,1143.0,1163.0,41131.0,0.443,22666.0,634000.0,15.41,0.0358,211333.0
45+Q0044,2023-09-27,Maizerets,3,307.0,1932,94,4,0,1280.0,1415.0,46085.0,0.472,24086.0,626000.0,13.58,0.0385,208667.0
46+Q0045,2023-10-06,Limoilou,2,160.0,1953,73,3,1,1162.0,1188.0,27894.0,0.377,17212.0,453000.0,16.24,0.038,226500.0
47+Q0046,2023-10-11,Limoilou,2,154.0,1936,90,4,0,1064.0,1148.0,25534.0,0.258,18761.0,499000.0,19.54,0.0376,249500.0
48+Q0047,2023-10-13,Limoilou,2,158.0,1951,75,3,1,1170.0,1180.0,28086.0,0.267,20386.0,496000.0,17.66,0.0411,248000.0
49+Q0048,2023-11-07,Limoilou,2,156.0,1941,85,3,0,1106.0,1259.0,26553.0,0.412,15459.0,424000.0,15.97,0.0365,212000.0
50+Q0049,2023-11-09,Saint-Sauveur,3,212.0,1924,102,3,1,1122.0,1440.0,40390.0,0.364,25415.0,484000.0,11.98,0.0525,161333.0
51+Q0050,2023-11-16,Limoilou,2,175.0,1947,79,3,1,1310.0,1372.0,31450.0,0.338,20602.0,486000.0,15.45,0.0424,243000.0
52+Q0051,2023-11-19,Saint-Sauveur,3,210.0,1957,69,3,0,827.0,1020.0,29778.0,0.37,18564.0,506000.0,16.99,0.0367,168667.0
53+Q0052,2023-11-20,Saint-Roch,2,171.0,1948,78,4,0,1023.0,1292.0,24554.0,0.34,16043.0,434000.0,17.68,0.037,217000.0
54+Q0053,2023-11-23,Maizerets,3,296.0,1945,81,3,1,1190.0,1256.0,42843.0,0.431,24123.0,675000.0,15.76,0.0357,225000.0
55+Q0054,2023-11-30,Saint-Sauveur,2,175.0,1963,63,1,0,964.0,1302.0,23140.0,0.387,14032.0,486000.0,21.0,0.0289,243000.0
56+Q0055,2023-12-06,Limoilou,3,259.0,1908,118,2,0,887.0,1068.0,31938.0,0.348,20604.0,411000.0,12.87,0.0501,137000.0
57+Q0056,2023-12-12,Maizerets,3,217.0,1950,76,4,1,1098.0,1157.0,39536.0,0.417,22806.0,580000.0,14.67,0.0393,193333.0
58+Q0057,2023-12-30,Limoilou,2,141.0,1933,93,3,1,1129.0,1302.0,27085.0,0.341,17677.0,384000.0,14.18,0.046,192000.0
59+Q0058,2023-12-31,Montcalm,2,154.0,1962,64,4,0,1304.0,1309.0,31289.0,0.296,21814.0,543000.0,17.35,0.0402,271500.0
60+Q0059,2024-01-02,Saint-Sauveur,2,174.0,1929,97,3,0,1238.0,1285.0,29707.0,0.32,20008.0,401000.0,13.5,0.0499,200500.0
61+Q0060,2024-01-03,Maizerets,3,319.0,1971,55,4,1,885.0,1010.0,31869.0,0.39,19247.0,737000.0,23.13,0.0261,245667.0
62+Q0061,2024-01-05,Saint-Sauveur,2,156.0,1957,69,3,1,949.0,1091.0,22778.0,0.319,15348.0,509000.0,22.35,0.0302,254500.0
63+Q0062,2024-01-05,Maizerets,3,300.0,1938,88,3,0,783.0,930.0,28200.0,0.388,17097.0,617000.0,21.88,0.0277,205667.0
64+Q0063,2024-01-07,Saint-Roch,2,177.0,1951,75,2,0,1255.0,1313.0,30118.0,0.335,19840.0,483000.0,16.04,0.0411,241500.0
65+Q0064,2024-01-12,Limoilou,3,187.0,1946,80,3,1,840.0,1039.0,30228.0,0.411,17613.0,561000.0,18.56,0.0314,187000.0
66+Q0065,2024-01-13,Limoilou,3,227.0,1934,92,4,0,1168.0,1281.0,42066.0,0.368,26310.0,655000.0,15.57,0.0402,218333.0
67+Q0066,2024-01-15,Saint-Roch,3,263.0,1908,118,2,0,1103.0,1245.0,39707.0,0.412,23125.0,738000.0,18.59,0.0313,246000.0
68+Q0067,2024-01-26,Maizerets,3,280.0,1982,44,4,0,1004.0,1336.0,36148.0,0.409,21143.0,806000.0,22.3,0.0262,268667.0
69+Q0068,2024-02-11,Limoilou,3,235.0,1949,77,3,0,862.0,1214.0,31031.0,0.349,20007.0,636000.0,20.5,0.0315,212000.0
70+Q0069,2024-02-13,Limoilou,3,209.0,1972,54,2,0,901.0,964.0,32422.0,0.452,17592.0,643000.0,19.83,0.0274,214333.0
71+Q0070,2024-02-16,Limoilou,3,230.0,1947,79,3,1,1243.0,1256.0,44750.0,0.425,25472.0,628000.0,14.03,0.0406,209333.0
72+Q0071,2024-02-24,Limoilou,2,175.0,1927,99,3,1,1083.0,1199.0,25991.0,0.263,18973.0,474000.0,18.24,0.04,237000.0
73+Q0072,2024-02-26,Saint-Roch,2,150.0,1923,103,3,0,952.0,1071.0,22838.0,0.332,15111.0,378000.0,16.55,0.04,189000.0
74+Q0073,2024-03-08,Limoilou,2,121.0,1969,57,4,0,1454.0,1529.0,34905.0,0.338,22860.0,435000.0,12.46,0.0526,217500.0
75+Q0074,2024-03-09,Limoilou,3,299.0,1922,104,3,1,968.0,1075.0,34831.0,0.309,23821.0,604000.0,17.34,0.0394,201333.0
76+Q0075,2024-03-20,Limoilou,3,210.0,1965,61,3,1,1143.0,1244.0,41143.0,0.265,29954.0,577000.0,14.02,0.0519,192333.0
77+Q0076,2024-03-21,Limoilou,3,281.0,1952,74,5,0,1107.0,1312.0,39844.0,0.288,28084.0,868000.0,21.78,0.0324,289333.0
78+Q0077,2024-04-18,Limoilou,2,178.0,1904,122,3,0,1053.0,1207.0,25269.0,0.326,16871.0,390000.0,15.43,0.0433,195000.0
79+Q0078,2024-04-19,Limoilou,3,237.0,1940,86,3,0,1487.0,1604.0,53544.0,0.389,32387.0,648000.0,12.1,0.05,216000.0
80+Q0079,2024-05-03,Saint-Sauveur,2,220.0,1939,87,4,0,975.0,1130.0,23410.0,0.347,15128.0,489000.0,20.89,0.0309,244500.0
81+Q0080,2024-05-07,Saint-Sauveur,2,177.0,1958,68,3,0,1075.0,1135.0,25802.0,0.302,17834.0,494000.0,19.15,0.0361,247000.0
82+Q0081,2024-05-11,Saint-Roch,2,195.0,1957,69,2,1,866.0,898.0,20788.0,0.299,14436.0,441000.0,21.21,0.0327,220500.0
83+Q0082,2024-05-21,Limoilou,3,227.0,1945,81,3,1,705.0,1119.0,25379.0,0.25,18844.0,572000.0,22.54,0.0329,190667.0
84+Q0083,2024-05-22,Limoilou,2,194.0,1948,78,3,0,973.0,1100.0,23359.0,0.38,14342.0,441000.0,18.88,0.0325,220500.0
85+Q0084,2024-05-29,Maizerets,3,248.0,1929,97,3,0,574.0,905.0,20679.0,0.357,13160.0,459000.0,22.2,0.0287,153000.0
86+Q0085,2024-06-12,Saint-Sauveur,3,229.0,1935,91,2,0,1083.0,1100.0,38983.0,0.39,23538.0,445000.0,11.42,0.0529,148333.0
87+Q0086,2024-06-13,Limoilou,2,166.0,1945,81,2,0,1075.0,1077.0,25798.0,0.302,17832.0,341000.0,13.22,0.0523,170500.0
88+Q0087,2024-06-13,Saint-Roch,3,291.0,1951,75,2,1,983.0,1097.0,35391.0,0.421,20294.0,691000.0,19.52,0.0294,230333.0
89+Q0088,2024-06-15,Maizerets,3,207.0,1949,77,2,1,963.0,1101.0,34682.0,0.393,20833.0,470000.0,13.55,0.0443,156667.0
90+Q0089,2024-06-17,Limoilou,2,160.0,1976,50,2,1,894.0,929.0,21455.0,0.26,15721.0,533000.0,24.84,0.0295,266500.0
91+Q0090,2024-07-02,Limoilou,2,169.0,1985,41,5,1,1090.0,1241.0,26158.0,0.437,14570.0,646000.0,24.7,0.0226,323000.0
92+Q0091,2024-07-03,Maizerets,3,359.0,1971,55,3,1,978.0,997.0,35199.0,0.321,23648.0,862000.0,24.49,0.0274,287333.0
93+Q0092,2024-07-06,Saint-Sauveur,3,255.0,1953,73,4,0,1001.0,1044.0,36021.0,0.374,22327.0,668000.0,18.54,0.0334,222667.0
94+Q0093,2024-07-06,Saint-Sauveur,2,176.0,1951,75,2,0,1146.0,1192.0,27502.0,0.25,20421.0,462000.0,16.8,0.0442,231000.0
95+Q0094,2024-07-12,Saint-Roch,3,218.0,1966,60,2,1,1137.0,1140.0,40930.0,0.373,25387.0,627000.0,15.32,0.0405,209000.0
96+Q0095,2024-07-18,Saint-Roch,3,233.0,1948,78,5,1,1112.0,1187.0,40029.0,0.343,26022.0,743000.0,18.56,0.035,247667.0
97+Q0096,2024-07-21,Limoilou,3,263.0,1969,57,3,0,1312.0,1378.0,47226.0,0.439,26249.0,817000.0,17.3,0.0321,272333.0
98+Q0097,2024-07-26,Maizerets,2,141.0,1947,79,3,1,1130.0,1234.0,27122.0,0.356,17281.0,411000.0,15.15,0.042,205500.0
99+Q0098,2024-07-28,Saint-Sauveur,3,270.0,1912,114,2,1,727.0,854.0,26160.0,0.365,16435.0,575000.0,21.98,0.0286,191667.0
100+Q0099,2024-08-01,Limoilou,2,189.0,1937,89,3,1,1056.0,1056.0,25334.0,0.37,15807.0,452000.0,17.84,0.035,226000.0
101+Q0100,2024-08-02,Maizerets,3,336.0,1959,67,3,1,1220.0,1276.0,43926.0,0.319,29624.0,905000.0,20.6,0.0327,301667.0
102+Q0101,2024-08-19,Saint-Roch,2,156.0,1926,100,2,0,999.0,1099.0,23978.0,0.456,12911.0,426000.0,17.77,0.0303,213000.0
103+Q0102,2024-08-20,Montcalm,2,156.0,1949,77,1,1,1098.0,1132.0,26363.0,0.292,18482.0,430000.0,16.31,0.043,215000.0
104+Q0103,2024-08-21,Limoilou,3,233.0,1952,74,4,1,1218.0,1288.0,43846.0,0.332,28978.0,702000.0,16.01,0.0413,234000.0
105+Q0104,2024-08-23,Montcalm,3,257.0,1923,103,3,1,1176.0,1410.0,42332.0,0.416,24475.0,861000.0,20.34,0.0284,287000.0
106+Q0105,2024-08-26,Limoilou,3,258.0,1948,78,3,0,1240.0,1266.0,44654.0,0.379,27437.0,723000.0,16.19,0.0379,241000.0
107+Q0106,2024-08-26,Saint-Roch,3,256.0,1936,90,2,1,1222.0,1223.0,44010.0,0.396,26304.0,658000.0,14.95,0.04,219333.0
108+Q0107,2024-09-02,Montcalm,3,273.0,1937,89,3,1,1231.0,1301.0,44301.0,0.307,30402.0,877000.0,19.8,0.0347,292333.0
109+Q0108,2024-09-05,Limoilou,3,299.0,1949,77,3,1,994.0,1330.0,35791.0,0.334,23614.0,865000.0,24.17,0.0273,288333.0
110+Q0109,2024-09-06,Maizerets,3,228.0,1961,65,4,0,1172.0,1260.0,42206.0,0.376,26091.0,577000.0,13.67,0.0452,192333.0
111+Q0110,2024-09-07,Limoilou,2,150.0,1924,102,3,0,1341.0,1382.0,32191.0,0.305,22160.0,396000.0,12.3,0.056,198000.0
112+Q0111,2024-09-28,Saint-Sauveur,3,297.0,1958,68,3,1,802.0,960.0,28860.0,0.373,17905.0,772000.0,26.75,0.0232,257333.0
113+Q0112,2024-10-03,Maizerets,2,196.0,1942,84,3,0,944.0,1139.0,22666.0,0.266,16475.0,509000.0,22.46,0.0324,254500.0
114+Q0113,2024-10-17,Maizerets,3,271.0,1933,93,4,1,994.0,1136.0,35798.0,0.437,19951.0,580000.0,16.2,0.0344,193333.0
115+Q0114,2024-10-30,Limoilou,2,159.0,1973,53,2,0,969.0,1028.0,23254.0,0.397,13880.0,408000.0,17.55,0.034,204000.0
116+Q0115,2024-11-01,Limoilou,3,239.0,1926,100,3,0,783.0,878.0,28194.0,0.38,17292.0,524000.0,18.59,0.033,174667.0
117+Q0116,2024-11-05,Saint-Roch,3,369.0,1936,90,4,0,974.0,1004.0,35068.0,0.338,22971.0,825000.0,23.53,0.0278,275000.0
118+Q0117,2024-11-06,Limoilou,3,240.0,1950,76,3,0,1119.0,1242.0,40295.0,0.284,28563.0,677000.0,16.8,0.0422,225667.0
119+Q0118,2024-11-06,Maizerets,2,175.0,1943,83,2,1,1212.0,1251.0,29087.0,0.294,20320.0,406000.0,13.96,0.05,203000.0
120+Q0119,2024-11-19,Limoilou,3,278.0,1946,80,2,0,1481.0,1513.0,53334.0,0.358,33909.0,863000.0,16.18,0.0393,287667.0
121+Q0120,2024-11-20,Maizerets,2,165.0,1960,66,3,1,683.0,1022.0,16387.0,0.329,10892.0,398000.0,24.29,0.0274,199000.0
122+Q0121,2024-11-20,Limoilou,2,185.0,1960,66,4,0,1054.0,1088.0,25301.0,0.325,16898.0,509000.0,20.12,0.0332,254500.0
123+Q0122,2024-11-22,Montcalm,3,249.0,1937,89,2,0,1265.0,1349.0,45531.0,0.396,27212.0,681000.0,14.96,0.04,227000.0
124+Q0123,2024-11-24,Maizerets,3,230.0,1940,86,4,1,1423.0,1430.0,51216.0,0.409,29973.0,667000.0,13.02,0.0449,222333.0
125+Q0124,2024-11-25,Limoilou,3,272.0,1934,92,2,1,1107.0,1117.0,39868.0,0.318,26901.0,660000.0,16.55,0.0408,220000.0
126+Q0125,2024-11-26,Limoilou,2,203.0,1952,74,3,1,1166.0,1210.0,27975.0,0.389,16929.0,594000.0,21.23,0.0285,297000.0
127+Q0126,2024-11-26,Limoilou,2,136.0,1938,88,3,0,1027.0,1045.0,24646.0,0.465,13060.0,392000.0,15.91,0.0333,196000.0
128+Q0127,2024-11-28,Montcalm,2,175.0,1922,104,3,1,913.0,1045.0,21909.0,0.384,13370.0,514000.0,23.46,0.026,257000.0
129+Q0128,2024-11-29,Maizerets,2,203.0,1953,73,3,1,1127.0,1156.0,27045.0,0.447,14817.0,495000.0,18.3,0.0299,247500.0
130+Q0129,2024-11-30,Saint-Sauveur,2,152.0,1917,109,2,0,1138.0,1144.0,27304.0,0.357,17389.0,345000.0,12.64,0.0504,172500.0
131+Q0130,2024-12-08,Montcalm,3,264.0,1942,84,3,1,856.0,1034.0,30817.0,0.373,19121.0,945000.0,30.66,0.0202,315000.0
132+Q0131,2024-12-08,Limoilou,3,291.0,1933,93,3,0,1253.0,1277.0,45113.0,0.387,27368.0,758000.0,16.8,0.0361,252667.0
133+Q0132,2024-12-10,Maizerets,3,301.0,1952,74,3,0,1001.0,1065.0,36050.0,0.355,23014.0,691000.0,19.17,0.0333,230333.0
134+Q0133,2024-12-18,Montcalm,3,270.0,1942,84,4,0,1285.0,1356.0,46262.0,0.255,34102.0,845000.0,18.27,0.0404,281667.0
135+Q0134,2024-12-19,Saint-Sauveur,2,158.0,1928,98,3,1,966.0,1100.0,23191.0,0.319,15640.0,447000.0,19.27,0.035,223500.0
136+Q0135,2024-12-21,Saint-Roch,2,237.0,1930,96,2,1,1021.0,1117.0,24503.0,0.432,13774.0,557000.0,22.73,0.0247,278500.0
137+Q0136,2024-12-22,Saint-Roch,2,199.0,1955,71,4,0,694.0,1382.0,16650.0,0.362,10509.0,518000.0,31.11,0.0203,259000.0
138+Q0137,2024-12-27,Limoilou,3,256.0,1921,105,4,0,888.0,1045.0,31967.0,0.323,21423.0,616000.0,19.27,0.0348,205333.0
139+Q0138,2024-12-31,Saint-Sauveur,2,150.0,1936,90,2,1,1219.0,1289.0,29251.0,0.394,17551.0,377000.0,12.89,0.0466,188500.0
140+Q0139,2025-01-01,Maizerets,3,216.0,1959,67,3,0,1311.0,1327.0,47208.0,0.354,30195.0,564000.0,11.95,0.0535,188000.0
141+Q0140,2025-01-06,Maizerets,3,272.0,1924,102,3,0,1178.0,1276.0,42410.0,0.35,27278.0,793000.0,18.7,0.0344,264333.0
142+Q0141,2025-01-17,Saint-Roch,2,200.0,1908,118,2,1,1033.0,1220.0,24788.0,0.295,17312.0,448000.0,18.07,0.0386,224000.0
143+Q0142,2025-01-20,Maizerets,3,302.0,1945,81,3,1,1179.0,1396.0,42459.0,0.364,26725.0,791000.0,18.63,0.0338,263667.0
144+Q0143,2025-01-25,Saint-Roch,2,220.0,1944,82,4,1,1056.0,1156.0,25346.0,0.317,17143.0,590000.0,23.28,0.0291,295000.0
145+Q0144,2025-01-26,Limoilou,2,194.0,1902,124,3,0,1272.0,1318.0,30536.0,0.283,21682.0,522000.0,17.09,0.0415,261000.0
146+Q0145,2025-01-31,Limoilou,3,293.0,1932,94,3,1,819.0,906.0,29490.0,0.32,19857.0,642000.0,21.77,0.0309,214000.0
147+Q0146,2025-02-05,Montcalm,3,235.0,1949,77,4,0,1303.0,1411.0,46897.0,0.381,28754.0,850000.0,18.12,0.0338,283333.0
148+Q0147,2025-02-19,Limoilou,3,341.0,1963,63,2,1,1057.0,1077.0,38037.0,0.411,22190.0,779000.0,20.48,0.0285,259667.0
149+Q0148,2025-02-21,Saint-Roch,3,246.0,1952,74,3,0,1020.0,1313.0,36713.0,0.43,20715.0,646000.0,17.6,0.0321,215333.0
150+Q0149,2025-02-27,Limoilou,3,333.0,1950,76,2,0,1375.0,1392.0,49492.0,0.28,35296.0,717000.0,14.49,0.0492,239000.0
151+Q0150,2025-02-28,Limoilou,3,342.0,1953,73,3,0,1184.0,1228.0,42636.0,0.422,24417.0,1047000.0,24.56,0.0233,349000.0
152+Q0151,2025-02-28,Saint-Roch,2,202.0,1960,66,2,1,1113.0,1320.0,26703.0,0.262,19505.0,555000.0,20.78,0.0351,277500.0
153+Q0152,2025-03-03,Limoilou,2,165.0,1926,100,3,1,1292.0,1393.0,31000.0,0.31,21167.0,464000.0,14.97,0.0456,232000.0
154+Q0153,2025-03-04,Limoilou,2,142.0,1939,87,1,0,485.0,971.0,11650.0,0.327,7757.0,306000.0,26.27,0.0253,153000.0
155+Q0154,2025-03-22,Limoilou,2,188.0,1943,83,4,0,1178.0,1329.0,28269.0,0.351,18155.0,555000.0,19.63,0.0327,277500.0
156+Q0155,2025-03-31,Maizerets,2,125.0,1979,47,3,0,791.0,1125.0,18989.0,0.311,12948.0,389000.0,20.49,0.0333,194500.0
157+Q0156,2025-04-02,Limoilou,3,279.0,1931,95,4,1,1144.0,1198.0,41171.0,0.452,22349.0,797000.0,19.36,0.028,265667.0
158+Q0157,2025-04-23,Montcalm,2,168.0,1926,100,2,1,1045.0,1180.0,25091.0,0.35,16136.0,581000.0,23.16,0.0278,290500.0
159+Q0158,2025-05-14,Saint-Sauveur,3,313.0,1974,52,3,1,1077.0,1231.0,38788.0,0.277,27774.0,870000.0,22.43,0.0319,290000.0
160+Q0159,2025-05-20,Maizerets,2,188.0,1954,72,4,1,1218.0,1221.0,29222.0,0.335,19224.0,526000.0,18.0,0.0365,263000.0
161+Q0160,2025-06-11,Maizerets,2,169.0,1938,88,3,1,1407.0,1543.0,33767.0,0.376,20865.0,485000.0,14.36,0.043,242500.0
162+Q0161,2025-06-17,Maizerets,2,217.0,1946,80,2,1,1191.0,1259.0,28594.0,0.342,18624.0,484000.0,16.93,0.0385,242000.0
163+Q0162,2025-06-24,Limoilou,3,220.0,1913,113,2,1,965.0,1122.0,34750.0,0.294,24272.0,477000.0,13.73,0.0509,159000.0
164+Q0163,2025-06-27,Limoilou,2,161.0,1962,64,2,1,1230.0,1275.0,29529.0,0.405,17390.0,536000.0,18.15,0.0324,268000.0
165+Q0164,2025-07-06,Saint-Sauveur,2,188.0,1949,77,4,0,1057.0,1266.0,25367.0,0.337,16657.0,583000.0,22.98,0.0286,291500.0
166+Q0165,2025-07-08,Montcalm,2,178.0,1982,44,2,1,1190.0,1296.0,28568.0,0.391,17236.0,629000.0,22.02,0.0274,314500.0
167+Q0166,2025-07-10,Saint-Sauveur,2,179.0,1971,55,3,1,992.0,1038.0,23819.0,0.394,14299.0,540000.0,22.67,0.0265,270000.0
168+Q0167,2025-07-13,Saint-Roch,2,178.0,1929,97,5,1,1314.0,1360.0,31538.0,0.333,20821.0,679000.0,21.53,0.0307,339500.0
169+Q0168,2025-07-15,Saint-Roch,2,168.0,1943,83,2,0,917.0,1077.0,21997.0,0.389,13297.0,523000.0,23.78,0.0254,261500.0
170+Q0169,2025-07-19,Maizerets,3,300.0,1928,98,2,0,1031.0,1098.0,37132.0,0.375,22978.0,615000.0,16.56,0.0374,205000.0
171+Q0170,2025-07-20,Maizerets,3,173.0,1907,119,2,0,753.0,806.0,27104.0,0.375,16760.0,376000.0,13.87,0.0446,125333.0
172+Q0171,2025-07-24,Saint-Sauveur,2,172.0,1948,78,2,1,1008.0,1009.0,24180.0,0.312,16461.0,477000.0,19.73,0.0345,238500.0
173+Q0172,2025-07-26,Saint-Roch,2,144.0,1939,87,2,0,1024.0,1024.0,24579.0,0.386,14951.0,428000.0,17.41,0.0349,214000.0
174+Q0173,2025-08-14,Limoilou,2,170.0,1970,56,3,0,1332.0,1348.0,31962.0,0.27,23089.0,592000.0,18.52,0.039,296000.0
175+Q0174,2025-08-19,Limoilou,3,240.0,1961,65,3,1,1077.0,1132.0,38789.0,0.369,24236.0,790000.0,20.37,0.0307,263333.0
176+Q0175,2025-08-25,Saint-Roch,2,137.0,1924,102,3,1,1293.0,1410.0,31025.0,0.359,19674.0,400000.0,12.89,0.0492,200000.0
177+Q0176,2025-09-06,Saint-Sauveur,2,228.0,1946,80,3,0,920.0,989.0,22073.0,0.456,11887.0,514000.0,23.29,0.0231,257000.0
178+Q0177,2025-09-13,Saint-Roch,3,226.0,1935,91,3,1,865.0,966.0,31139.0,0.308,21336.0,701000.0,22.51,0.0304,233667.0
179+Q0178,2025-09-21,Limoilou,3,217.0,1954,72,3,1,1258.0,1258.0,45287.0,0.354,28949.0,771000.0,17.02,0.0375,257000.0
180+Q0179,2025-09-29,Saint-Sauveur,3,254.0,1941,85,3,0,855.0,972.0,30765.0,0.397,18377.0,707000.0,22.98,0.026,235667.0
181+Q0180,2025-10-05,Maizerets,2,167.0,1938,88,3,0,1071.0,1214.0,25698.0,0.38,15779.0,443000.0,17.24,0.0356,221500.0
182+Q0181,2025-10-14,Saint-Roch,3,301.0,1954,72,2,1,1191.0,1215.0,42892.0,0.367,26888.0,849000.0,19.79,0.0317,283000.0
183+Q0182,2025-10-15,Limoilou,3,192.0,1965,61,3,1,968.0,1024.0,34831.0,0.335,22922.0,788000.0,22.62,0.0291,262667.0
184+Q0183,2025-10-24,Maizerets,2,190.0,1944,82,1,1,1019.0,1108.0,24461.0,0.404,14435.0,393000.0,16.07,0.0367,196500.0
185+Q0184,2025-11-03,Limoilou,3,287.0,1942,84,3,0,1482.0,1490.0,53367.0,0.25,39625.0,878000.0,16.45,0.0451,292667.0
186+Q0185,2025-11-11,Limoilou,3,323.0,1926,100,4,1,1131.0,1134.0,40728.0,0.403,24081.0,767000.0,18.83,0.0314,255667.0
187+Q0186,2025-11-12,Limoilou,2,171.0,1960,66,3,0,1003.0,1030.0,24070.0,0.362,15206.0,547000.0,22.73,0.0278,273500.0
188+Q0187,2025-11-20,Limoilou,3,243.0,1950,76,3,1,953.0,1102.0,34292.0,0.368,21468.0,705000.0,20.56,0.0305,235000.0
189+Q0188,2025-11-25,Limoilou,2,199.0,1950,76,3,0,1187.0,1267.0,28488.0,0.302,19687.0,608000.0,21.34,0.0324,304000.0
190+Q0189,2025-12-01,Maizerets,3,295.0,1950,76,2,0,1000.0,1081.0,35985.0,0.405,21188.0,726000.0,20.18,0.0292,242000.0
191+Q0190,2025-12-04,Maizerets,3,301.0,1939,87,3,0,1298.0,1303.0,46727.0,0.439,25938.0,773000.0,16.54,0.0336,257667.0
192+Q0191,2025-12-05,Maizerets,2,177.0,1969,57,3,1,1105.0,1178.0,26516.0,0.355,16934.0,582000.0,21.95,0.0291,291000.0
193+Q0192,2025-12-10,Maizerets,2,166.0,1963,63,3,0,1129.0,1167.0,27088.0,0.342,17651.0,466000.0,17.2,0.0379,233000.0
194+Q0193,2026-01-01,Maizerets,3,235.0,1965,61,4,1,1071.0,1170.0,38557.0,0.365,24258.0,927000.0,24.04,0.0262,309000.0
195+Q0194,2026-01-08,Saint-Sauveur,2,192.0,1933,93,2,1,1005.0,1051.0,24115.0,0.426,13708.0,577000.0,23.93,0.0238,288500.0
196+Q0195,2026-01-13,Montcalm,2,131.0,1927,99,3,0,1076.0,1183.0,25814.0,0.312,17590.0,414000.0,16.04,0.0425,207000.0
197+Q0196,2026-01-20,Limoilou,2,205.0,1957,69,3,1,1419.0,1423.0,34062.0,0.435,19050.0,592000.0,17.38,0.0322,296000.0
198+Q0197,2026-01-25,Limoilou,2,143.0,1956,70,3,1,1149.0,1341.0,27572.0,0.46,14747.0,530000.0,19.22,0.0278,265000.0
199+Q0198,2026-01-31,Maizerets,3,245.0,1940,86,4,1,1098.0,1247.0,39538.0,0.306,27149.0,838000.0,21.19,0.0324,279333.0
200+Q0199,2026-02-06,Saint-Sauveur,3,214.0,1932,94,4,1,1151.0,1154.0,41446.0,0.328,27591.0,625000.0,15.08,0.0441,208333.0
201+Q0200,2026-02-08,Maizerets,3,357.0,1966,60,2,0,891.0,1106.0,32077.0,0.372,19936.0,892000.0,27.81,0.0223,297333.0
202+Q0201,2026-02-13,Limoilou,2,139.0,1918,108,1,1,745.0,1330.0,17869.0,0.34,11672.0,385000.0,21.55,0.0303,192500.0
203+Q0202,2026-02-13,Saint-Sauveur,3,273.0,1977,49,4,1,1232.0,1277.0,44361.0,0.437,24709.0,1089000.0,24.55,0.0227,363000.0
204+Q0203,2026-02-14,Maizerets,2,146.0,1936,90,3,1,1278.0,1283.0,30673.0,0.371,19090.0,532000.0,17.34,0.0359,266000.0
205+Q0204,2026-02-26,Limoilou,2,151.0,1928,98,2,1,917.0,1043.0,22014.0,0.346,14263.0,440000.0,19.99,0.0324,220000.0
206+Q0205,2026-03-06,Montcalm,2,157.0,1935,91,3,0,1078.0,1125.0,25868.0,0.283,18353.0,520000.0,20.1,0.0353,260000.0
207+Q0206,2026-03-07,Montcalm,2,189.0,1961,65,3,0,1302.0,1348.0,31238.0,0.36,19800.0,789000.0,25.26,0.0251,394500.0
208+Q0207,2026-03-08,Limoilou,3,269.0,1957,69,2,1,1061.0,1125.0,38204.0,0.302,26405.0,821000.0,21.49,0.0322,273667.0
209+Q0208,2026-03-08,Maizerets,3,285.0,1960,66,3,1,786.0,867.0,28296.0,0.437,15776.0,746000.0,26.36,0.0211,248667.0
210+Q0209,2026-03-18,Saint-Sauveur,2,194.0,1941,85,2,0,692.0,1155.0,16614.0,0.391,10025.0,579000.0,34.85,0.0173,289500.0
211+Q0210,2026-03-28,Saint-Roch,2,180.0,1952,74,4,0,1098.0,1233.0,26348.0,0.382,16113.0,615000.0,23.34,0.0262,307500.0
212+Q0211,2026-03-31,Montcalm,2,146.0,1926,100,3,0,1134.0,1375.0,27211.0,0.352,17467.0,513000.0,18.85,0.034,256500.0
213+Q0212,2026-04-03,Saint-Roch,2,176.0,1946,80,3,0,1372.0,1467.0,32938.0,0.373,20454.0,590000.0,17.91,0.0347,295000.0
214+Q0213,2026-04-06,Limoilou,3,323.0,1956,70,3,0,1173.0,1224.0,42232.0,0.318,28505.0,849000.0,20.1,0.0336,283000.0
215+Q0214,2026-04-15,Saint-Sauveur,3,270.0,1948,78,5,1,1226.0,1393.0,44151.0,0.321,29658.0,885000.0,20.04,0.0335,295000.0
216+Q0215,2026-04-19,Limoilou,2,151.0,1936,90,3,0,1171.0,1174.0,28098.0,0.324,18798.0,367000.0,13.06,0.0512,183500.0
217+Q0216,2026-04-21,Montcalm,3,220.0,1957,69,3,0,1236.0,1326.0,44500.0,0.366,27934.0,855000.0,19.21,0.0327,285000.0
218+Q0217,2026-04-22,Maizerets,3,252.0,1961,65,3,0,961.0,1022.0,34605.0,0.353,22153.0,630000.0,18.21,0.0352,210000.0
219+Q0218,2026-04-23,Montcalm,2,226.0,1957,69,4,1,1655.0,1659.0,39729.0,0.321,26713.0,1048000.0,26.38,0.0255,524000.0
220+Q0219,2026-04-23,Saint-Sauveur,2,126.0,1951,75,3,0,925.0,1168.0,22208.0,0.333,14658.0,443000.0,19.95,0.0331,221500.0
221+Q0220,2026-05-03,Saint-Sauveur,2,180.0,1965,61,2,1,789.0,926.0,18940.0,0.405,11150.0,633000.0,33.42,0.0176,316500.0
222+Q0221,2026-05-07,Limoilou,3,292.0,1907,119,2,0,1222.0,1224.0,43998.0,0.352,28236.0,638000.0,14.5,0.0443,212667.0
223+Q0222,2026-05-13,Limoilou,3,286.0,1934,92,4,1,997.0,1115.0,35884.0,0.373,22279.0,832000.0,23.19,0.0268,277333.0
224+Q0223,2026-05-15,Limoilou,3,267.0,1958,68,2,1,1433.0,1469.0,51591.0,0.324,34547.0,890000.0,17.25,0.0388,296667.0
225+Q0224,2026-05-16,Saint-Sauveur,2,115.0,1923,103,3,1,1105.0,1179.0,26519.0,0.395,15871.0,442000.0,16.67,0.0359,221000.0
226+Q0225,2026-05-23,Saint-Roch,3,243.0,1946,80,4,0,1378.0,1517.0,49613.0,0.384,30261.0,763000.0,15.38,0.0397,254333.0
227+Q0226,2026-05-26,Saint-Roch,2,178.0,1946,80,2,1,1163.0,1286.0,27908.0,0.281,19867.0,537000.0,19.24,0.037,268500.0
228+Q0227,2026-05-28,Saint-Sauveur,3,252.0,1941,85,2,1,1092.0,1197.0,39303.0,0.308,26910.0,765000.0,19.46,0.0352,255000.0
229+Q0228,2026-05-29,Saint-Roch,3,282.0,1917,109,2,0,954.0,1122.0,34329.0,0.276,24599.0,734000.0,21.38,0.0335,244667.0
230+Q0229,2026-05-29,Saint-Roch,3,266.0,1946,80,2,0,1083.0,1151.0,38971.0,0.378,23982.0,749000.0,19.22,0.032,249667.0
231+Q0230,2026-06-01,Maizerets,3,272.0,1929,97,2,0,984.0,999.0,35408.0,0.408,20760.0,685000.0,19.35,0.0303,228333.0
232+Q0231,2026-06-03,Saint-Sauveur,3,313.0,1938,88,3,0,1102.0,1196.0,39664.0,0.344,25768.0,738000.0,18.61,0.0349,246000.0
233+Q0232,2026-06-03,Saint-Sauveur,3,290.0,1971,55,2,0,1009.0,1043.0,36308.0,0.379,22311.0,903000.0,24.87,0.0247,301000.0
234+Q0233,2026-06-09,Limoilou,3,287.0,1989,37,2,0,949.0,1145.0,34182.0,0.411,19939.0,1018000.0,29.78,0.0196,339333.0
235+Q0234,2026-06-21,Limoilou,3,241.0,1925,101,4,1,1255.0,1262.0,45198.0,0.384,27547.0,716000.0,15.84,0.0385,238667.0
236+Q0235,2026-06-22,Limoilou,3,275.0,1923,103,1,1,1105.0,1247.0,39791.0,0.421,22819.0,837000.0,21.03,0.0273,279000.0
237+Q0236,2026-06-22,Saint-Roch,2,138.0,1920,106,2,1,1115.0,1207.0,26767.0,0.409,15671.0,408000.0,15.24,0.0384,204000.0
238+Q0237,2026-07-02,Maizerets,2,162.0,1910,116,2,0,1005.0,1136.0,24112.0,0.37,15032.0,387000.0,16.05,0.0388,193500.0
239+Q0238,2026-07-11,Maizerets,3,196.0,1945,81,3,0,960.0,1210.0,34573.0,0.344,22469.0,564000.0,16.31,0.0398,188000.0
240+Q0239,2026-07-12,Saint-Sauveur,3,239.0,1948,78,3,1,892.0,1240.0,32105.0,0.467,16952.0,681000.0,21.21,0.0249,227000.0
241+Q0240,2026-07-14,Saint-Roch,3,245.0,1930,96,5,0,1318.0,1340.0,47445.0,0.339,31025.0,899000.0,18.95,0.0345,299667.0
242+Q0241,2026-07-17,Limoilou,2,182.0,1940,86,2,0,939.0,1206.0,22531.0,0.323,15100.0,544000.0,24.14,0.0278,272000.0
243+Q0242,2026-07-21,Montcalm,2,265.0,1920,106,2,1,1176.0,1347.0,28220.0,0.376,17439.0,745000.0,26.4,0.0234,372500.0
244+Q0243,2026-07-24,Limoilou,3,247.0,1930,96,3,1,1188.0,1271.0,42770.0,0.323,28682.0,931000.0,21.77,0.0308,310333.0
245+Q0244,2026-07-29,Saint-Roch,2,169.0,1963,63,3,1,834.0,1096.0,20028.0,0.343,13033.0,573000.0,28.61,0.0227,286500.0
246+Q0245,2026-08-01,Saint-Roch,3,231.0,1960,66,1,1,932.0,1101.0,33557.0,0.362,21192.0,770000.0,22.95,0.0275,256667.0
247+Q0246,2026-08-04,Montcalm,2,220.0,1951,75,2,0,814.0,1259.0,19534.0,0.362,12343.0,643000.0,32.92,0.0192,321500.0
248+Q0247,2026-08-10,Limoilou,2,166.0,1935,91,4,0,1208.0,1506.0,28983.0,0.352,18604.0,565000.0,19.49,0.0329,282500.0
249+Q0248,2026-08-12,Saint-Sauveur,3,218.0,1924,102,3,0,1128.0,1255.0,40608.0,0.313,27604.0,523000.0,12.88,0.0528,174333.0
250+Q0249,2026-08-18,Montcalm,2,225.0,1968,58,3,1,1356.0,1420.0,32541.0,0.414,18863.0,880000.0,27.04,0.0214,440000.0
251+Q0250,2026-08-26,Saint-Sauveur,3,262.0,1940,86,3,0,1277.0,1290.0,45986.0,0.288,32434.0,753000.0,16.37,0.0431,251000.0
added data/synthetic/cas3_montreal_comparables.csv +41 −0
Large diff (41 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas3_montreal_depenses.csv +37 −0
Large diff (37 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas3_montreal_etat_locatif.csv +13 −0
Large diff (13 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas3_montreal_hypotheses_dcf.json +29 −0
Large diff (30 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas3_montreal_sujet.json +13 −0
Large diff (14 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas4_portefeuille.csv +49 −0
Large diff (49 lines) is not loaded by default to keep the page fast.Load diff
added data/synthetic/cas4_portefeuille_series.csv +2017 −0
Large diff (2,017 lines) is not loaded by default to keep the page fast.Load diff
modified manuscript/appendices/conventions-calcul.tex +29 −1
Large diff (31 lines) is not loaded by default to keep the page fast.Load diff
added sources/registry-A.csv +43 −0
Large diff (44 lines) is not loaded by default to keep the page fast.Load diff
Menu

Theme