SPB Git

spb/valoplex Public

ValoPlex — moteur d'évaluation spécialisé pour les plex au Québec, petit frère de Vrai-Prix.

TypeScript 90.3% Python 7.1% CSS 2.5%
6.7 KB · 109 lines markdown
Rendered Raw Blame History
1# ValoPlex23> **La vraie valeur de votre plex, porte par porte.**4> Le moteur d'évaluation spécialisé plex du Québec — 393 867 immeubles de 2 logements et plus, 1 733 744 portes, un modèle hédonique en ratio à l'épreuve des échelles.56![Plex](https://img.shields.io/badge/plex-393%C2%A0867-ff9f45?style=flat-square)7![Portes](https://img.shields.io/badge/portes-1%C2%A0733%C2%A0744-ff9f45?style=flat-square)8![Ventes](https://img.shields.io/badge/ventes_de_plex-91%C2%A0060-ff9f45?style=flat-square)9![MdAPE](https://img.shields.io/badge/MdAPE-13,8%25-b25f16?style=flat-square)10![Couverture](https://img.shields.io/badge/fourchette_calibr%C3%A9e-80,0%25-b25f16?style=flat-square)11![Valeur totale](https://img.shields.io/badge/valeur_totale_plex_QC-400,6%C2%A0G%24-b25f16?style=flat-square)12![Tests](https://img.shields.io/badge/tests-33%2F33-141814?style=flat-square)13![Next.js](https://img.shields.io/badge/Next.js-16-141814?style=flat-square&logo=nextdotjs)14![TypeScript](https://img.shields.io/badge/TypeScript-strict-141814?style=flat-square&logo=typescript)1516**En production : [www.valoplex.com](https://www.valoplex.com)** · petit frère spécialisé de [Vrai-Prix](https://www.vrai-prix.com)1718---1920## Pourquoi un moteur spécialisé plex ?2122Un plex est un **immeuble à revenus** : sa valeur se pense par porte, par revenu, par TGA — pas comme une unifamiliale. ValoPlex couvre **tous** les immeubles résidentiels multi-logements du Québec (CUBF 1000, 2 logements et plus — du duplex à la tour) avec un modèle et une interface dédiés à cette logique.2324| Fonctionnalité | Description |25|---|---|26| 🚪 Économie par porte | Valeur/porte, rôle/porte, aire/porte, terrain/porte + benchmark vs marché local |27| 🧮 Pro forma investisseur | Loyer implicite, état des résultats complet, hypothèque canadienne, DSCR, cashflow/porte, projection 5 ans, point mort, sensibilité aux taux — interactif |28| 💸 Frais « tout le kit » | Droits de mutation (barème QC + barème bonifié de Montréal), notaire, inspection, liquidités totales |29| 🏢 Frise des portes | Une porte SVG dessinée par logement (signature) + badge DUPLEX/TRIPLEX/…/MULTI N PORTES |30| 📍 Adresses officielles | Toutes les inscriptions d'adresses de l'unité (table des adresses du rôle) |31| ⚖️ Ajustement portes | 4ᵉ ajustement des comparables : 50 % du prix/porte, plafonné ±30 % |32| 🗺️ Plan des comparables | Carte plan d'arpenteur SVG (azimut + distance réels), état vide honnête si aucun plex comparable |33| 📄 Rapports PDF | Standard 3 p. (avec pro forma), professionnel bancaire 6 p., parc, statistique provincial |34| 📉 Statistiques | Les plex du Québec valent **400,6 G$** — répartition par gabarit et par municipalité |3536## Le modèle : hédonique en ratio, calibré par gabarit3738Trois idées font la différence :39401. **Cible en ratio `log(prix / valeur au rôle)`** — pas le prix. Un modèle en prix brut, dominé par la masse des duplex, écrase les grands immeubles (nous avons mesuré une tour au rôle de 705 M$ prédite… 5,6 M$). En ratio, le duplex de 400 k$ et la tour de 700 M$ sont évalués avec la même justesse relative. Le modèle connaît en plus **l'ancienneté du rôle** (mois depuis la date des conditions du marché du dénominateur).412. **Rétrécissement hors domaine** : au-delà de 12 portes (données de ventes rares), l'estimation glisse vers l'ancre empirique de sa bande de gabarit (poids du modèle : 55 % → 20 %).423. **Calibration conforme Mondrian** : les fourchettes P10–P90 sont calibrées **par bande de portes** sur un ensemble de calibration dédié — couverture vérifiée de **80,0 %** (pas promise : mesurée).4344### Validation (norme IAAO, 13 617 ventes de test jamais vues)4546| Segment | MdAPE | Ratio médian |47|---|---|---|48| Tous les plex | **13,8 %** | 0,976 |49| Duplex (2 portes) | 13,9 % | 0,970 |50| Triplex (3 portes) | **12,6 %** | 0,983 |51| 4–5 portes | 14,1 % | 0,971 |52| 6–12 portes | 17,9 % | 0,955 |53| Test temporel 2026 (9 172 ventes) | 13,8 % | 0,972 |54| Couverture de la fourchette (calibrée) | **79,9 ≈ 80 %** | — |5556## Le pro forma (`app/src/lib/proforma.ts` — 20 tests)5758Approche revenu **inversée** : quelle structure de revenus la valeur estimée suppose-t-elle ?5960- Loyer implicite en forme fermée : `RB = (V·TGA + F) / (1 − vacance − %variables)`61- Dépenses détaillées : taxes municipales et scolaire (dérivées du rôle), assurances, entretien, gestion, déneigement, énergie des communs, réserve62- Hypothèque **canadienne** (composition semestrielle), cashflow/porte/mois, DSCR, cash-on-cash63- Capital remboursé an 1, **projection 5 ans** (équité, gain total, multiple sur liquidités)64- **Loyer de point mort** et **taux de point mort** (bissection), sensibilité taux ±1 %65- Droits de mutation : barème provincial + barème bonifié de Montréal (jusqu'à 4 %)6667Cinq curseurs (taux, mise de fonds, amortissement, TGA, appréciation) — tout recalcule en direct.6869## Structure du dépôt7071```72valoplex/73├── app/                  # application Next.js 16 (TypeScript strict, Tailwind 4)74│   ├── src/lib/          # engine.ts (comparables), proforma.ts, report*.ts (pdfkit)75│   ├── src/components/   # RadarMap, MetricViz, Proforma, DoorsRow…76│   └── src/app/          # pages + API routes77└── scripts/              # pipeline données/modèle (Python)78    ├── hedonic_plex.py   # entraînement (ratio + Mondrian) et prédictions 2021-202679    └── build_valoplex_db.py  # base SQLite + stats provinciales80```8182## Démarrage8384```bash85cd app && npm install86# placer la base dans app/data/valoplex.db (non versionnée)87npm run dev88npm run test       # 33 tests (moteur + finance)89```9091Pipeline (nécessite les rôles MAMH et les transactions enrichies, non versionnés) :9293```bash94python3 scripts/hedonic_plex.py train && python3 scripts/hedonic_plex.py predict95python3 scripts/build_valoplex_db.py96```9798> **Note données** : base SQLite (165 Mo), modèles entraînés et parquets d'estimation non versionnés. Données sources : [rôles d'évaluation foncière du Québec](https://www.donneesquebec.ca/recherche/dataset/roles-d-evaluation-fonciere-du-quebec) (MAMH, licence ouverte).99100### Design101102Identité « éditorial sharp » : papier grainé `#f5f3ee`, encre `#141814`, **accent orange vif `#ff9f45`**, ocre brûlé `#b25f16` — sœur chromatique de Vrai-Prix (rouge).103104## Auteur105106**Simon-Pierre Boucher** — [contact@spboucher.ai](mailto:contact@spboucher.ai)107108*Estimations statistiques à titre indicatif — ne remplacent pas une évaluation par un évaluateur agréé (OEAQ) ni un conseil financier. Voir [conditions](https://www.valoplex.com/conditions) et [méthodologie](https://www.valoplex.com/methodologie).*109