SPB Git

# 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_ch47 toujours verts (69 passed au total).
  • python3 tools/check_manuscript.py --no-log : seuls « problèmes » pour ch27 = les 4 figures absentes de verification/figures.csv global (lignes fournies dans ch27-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 par make_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

  1. 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é dans limites).
  2. Provision pour mauvaises créances « d'un demi à un point » : pratique, aucune statistique publique (CLM-27-026, non_verifie, formulée comme telle).
  3. Motif exact des suppressions « ** » dans les tableaux SCHL (fiabilité ou confidentialité) : non explicité dans les fichiers ; formulé prudemment (CLM-27-008).
  4. Perspectives SCHL été 2026 (3,8/4,5/4,8 %) : extraction du lot C, à relire sur le PDF (CLM-27-010).
  5. Résumé TAL « valeur locative non critère » : source officielle secondaire, décision non lue (CLM-27-016).
  6. 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 dans traite/ (p. ex. traite/schl.py) éviterait la duplication entre ch. 4, 13 et 27.
  • Les deux fonctions ajoutées à traite.finance peuvent servir aux ch. 30, 34 et 40 (vacance frictionnelle cohérente avec la rotation ; concessions).
  • verification/figures.csv, calculations.csv, claims.csv et sources/registry.csv globaux : fusionner les CSV ch27-* ; ajouter « 27 » à utilise_dans de 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 »).
Files · 577f3e95e830087bf4d5101ceb2925ae494ca15c
Menu

Theme