Chapitre 27 — Revenus potentiels, vacance et pertes : bilan de rédaction (2026-10-31)
Livrables
| Fichier | Contenu |
|---|---|
manuscript/chapters/ch27.tex |
≈ 9 900 mots de prose (12 700 mots au compteur brut) ; 7 sections (27.1 RBP ; 27.2 inoccupation et créances : notions, mesure SCHL, structurel/frictionnel, créances et concessions, choix de v ; 27.3 autres revenus ; 27.4 RBE ; 27.5 projection des loyers ; 27.6 exemple intégral cas 3 + cas 2 ; 27.7 sensibilité) ; encadrés synthetique, quebec, erreurs, limites, synthese ; 2 définitions, 1 proposition avec démonstration ($v_f = \rho d/12$), 1 exemple |
analysis/python/cases/ch27_revenus.py |
tous les chiffres du chapitre et des solutions : cascades cas 3/cas 2 (traite.cas3.revenus, traite.cas2.revenus), état locatif par type, lecteurs des tableaux SCHL (1.1.1, 1.1.6, 1.3.1, 1.3.4, 1.4, 1.2.1, 1.1.9), IPC loyer Québec (CSV brut), grille frictionnelle, sensibilité à v (traite.cas3.rne), trajectoires (traite.cas3.projection_dcf avec rotation 0 / 9,4 % / 15 %), mini_projection, exercices() |
analysis/python/traite/finance.py |
2 fonctions ajoutées (avec tests) : taux_vacance_frictionnelle(rotation, duree_vacance_mois) et loyer_effectif_concession(loyer, mois_gratuits, duree_bail_mois) ; aucune fonction existante modifiée |
analysis/python/figures/ch27_figures.py |
4 figures → assets/figures/ch27/ch27-fig-{inoccupation-rmr,cascade,trajectoires,sensibilite}.pdf |
analysis/python/tests/test_ch27.py |
13 tests : identités (RBE, cascade, modèle frictionnel, concession, linéarité en v, ordre des trajectoires, égalité avec cas3.tout() et cas2.tout()), lectures SCHL (±0,05 pt), valeurs citées (±0,01 $), exercices, présence des figures |
solutions/ch27.tex |
8 solutions détaillées (ex. 27.1 → 27.8) |
verification/chapters/ch27-{figures,calculations,claims,registry}.csv, references/lib-ch27.bib |
4 figures, 19 calculs, 28 affirmations, 12 rattachements de sources ; aucune nouvelle entrée bib |
Compteurs
Mots (prose) ≈ 9 900 — figures : 4 (1 réelle SCHL, 2 synthétiques, 1 mixte) — tableaux : 8 — équations numérotées : 10 (dont un align) — exercices : 8 (niveaux 1, 1, 2, 2, 2, 3, 3, 3) — définitions : 2 — proposition : 1.
Contrôles
tools/compile_chapter.sh 27→OK ch27 : 35 pages, 0 references/citations non definies, 0 overfull hbox(solutions et bibliographie incluses).python3 -m pytest -q analysis/python/tests/test_ch27.py→ 13 passed ;test_cas3,test_cas2_cas4,test_finance,test_ch29,test_ch30,test_ch47toujours verts (69 passed au total).python3 tools/check_manuscript.py --no-log: seuls « problèmes » pour ch27 = les 4 figures absentes deverification/figures.csvglobal (lignes fournies dansch27-figures.csv, fusion laissée à l'orchestrateur).- Inspection visuelle (
pdftoppm, montages des 35 pages + pages 5, 8, 17-19, 21 à 75 dpi) : tableaux dans la justification, figures à 135 mm, encadrés, exercices, solutions, bibliographie. - Renvois :
\cref{ch:NN}à deux chiffres (labels fournis parmake_labels.py), articles écrits dans le texte.
Chiffres clés (identiques à traite.cas3.tout() / traite.cas2.tout())
Cas 3 : RBP 165 540 $ (13 795 $/mois) ; marché 186 036 $ ; déficit 20 496 $ (11,0 %) ; v 3,9 % → 6 456,06 $ ; autres revenus 9 360 $ ; RBE 168 443,94 $ (14 037 $/log., 204,17 $/m²) ; θ = 85,5 % ; variantes 168 078,90 $ / 188 140,60 $. Cas 2 : RBP 41 832 $, marché 49 332 $, v 3 %, RBE 40 577,04 $, θ 82,3 %. Trajectoires (année 10) : TAL seul 217 887 $, rotation 9,4 % 247 212 $, rotation 15 % 251 101 $, marché 253 548 $ ; V_DCF 1 756 414 / 2 140 916 / 2 208 566 $. Sensibilité : −35 995 $ (1,8 %) par point de v à R = 4,415 %. SCHL oct. 2025 : inoccupation RMR 2,9/2,4/3,8/2,7/2,7/1,3 ; rotation 9,4/13,0/16,2/12,0/10,1/12,6 ; île 6-19 log. 2,2 % ; Q4 4,9 % vs Q1 1,3 % ; loyers inoccupés/occupés 1 573/1 275 $.
Points non vérifiés ou à confirmer
- Art. 1971 C.c.Q. (retard > 3 semaines) : cité d'après sa formulation courante, texte non relu (CLM-27-020,
partiellement_verifie, déclaré danslimites). - Provision pour mauvaises créances « d'un demi à un point » : pratique, aucune statistique publique (CLM-27-026,
non_verifie, formulée comme telle). - Motif exact des suppressions « ** » dans les tableaux SCHL (fiabilité ou confidentialité) : non explicité dans les fichiers ; formulé prudemment (CLM-27-008).
- Perspectives SCHL été 2026 (3,8/4,5/4,8 %) : extraction du lot C, à relire sur le PDF (CLM-27-010).
- Résumé TAL « valeur locative non critère » : source officielle secondaire, décision non lue (CLM-27-016).
- Pourcentage TAL 2027 non publié ; $g_c$ = 3,1 % constant dans les projections.
Remarques pour l'harmonisation
- Écart avec la consigne : le brief indiquait « autres revenus 12 240 $ » pour le cas 3 ; le dossier (
cas3_montreal_hypotheses_dcf.json,traite.cas3.revenus, ch. 29/30/47) porte 9 360 $ et donne bien RBE 168 443,94 $ ; le chapitre suit les données. Corriger le brief (tools/BRIEFS-PHASE4.md). - La fonction
ch04_marches.schl_rmr()lit les mêmes tableaux 1.1.1 ; le ch. 27 a son propre lecteur (plus générique : lettres de qualité, flèches, tableaux par taille/quartile/année). Une fusion danstraite/(p. ex.traite/schl.py) éviterait la duplication entre ch. 4, 13 et 27. - Les deux fonctions ajoutées à
traite.financepeuvent servir aux ch. 30, 34 et 40 (vacance frictionnelle cohérente avec la rotation ; concessions). verification/figures.csv,calculations.csv,claims.csvetsources/registry.csvglobaux : fusionner les CSVch27-*; ajouter « 27 » àutilise_dansde SRC-C-045 et SRC-E-015.- Le ch. 47 (§ vacance économique) décrit déjà la même décomposition de 3,9 % ; le ch. 27 renvoie au ch. 47 pour le détail bail par bail et au ch. 30/34 pour le DCF et les scénarios TAL — vérifier à l'harmonisation que les trois chapitres emploient le même vocabulaire (« provision pour inoccupation et mauvaises créances », « déficit de loyer », « taux d'occupation économique »).