SPB Git

# Chapitre 28 — Dépenses, réserves, CAPEX et RNE : bilan de rédaction (2026-10-31)

# Livrables

Fichier Contenu
manuscript/chapters/ch28.tex ≈ 12 650 mots (compteur valider_chapitre.sh, tableaux compris ; 10 458 mots hors tableaux et figures) ; 8 sections (28.1 périmètre du RNE, 28.2 classement fixes/variables/réserve, 28.3 postes québécois, 28.4 normalisation, 28.5 réserve vs CAPEX et cohérence avec le taux, 28.6 ratios de référence, 28.7 exemple intégral cas 3 + cas 2, 28.8 sensibilité) ; encadrés synthetique, quebec (dépenses de l'évaluateur vs dépenses du TAL), erreurs, limites, synthese ; 2 définitions, 1 proposition avec démonstration (erreur d'une réserve asymétrique : ΔV = RR/R'), 1 exemple
analysis/python/cases/ch28_depenses.py tous les chiffres du chapitre et des solutions : calculer() (historique, normalisation, classement, démonstration réserve/taux, réserve par composantes, annuité équivalente des CAPEX, loyers au marché, comparables, sensibilités, indexation IPC, cas 2), exercices() ; appuyé sur traite.cas3, traite.cas2, traite.finance (aucune formule partagée réécrite, aucune modification de traite/)
analysis/python/figures/ch28_figures.py 5 figures → assets/figures/ch28/ch28-fig-{cascade,structure,evolution,ratio-loyer,sensibilite}.pdf
analysis/python/tests/test_ch28.py 17 tests : identités (RNE = RBE − DE − RR ; R' = R + RR/V ; ΔV = RR/R' ; VA CAPEX perpétuels = VA réserve au fonds d'amortissement ; fonds → linéaire quand i → 0), cohérence avec cas3.tout() et cas2.tout() (ch. 29/30/32/46/47), valeurs citées (0,01 $ / 1 $), exercices, présence des figures
solutions/ch28.tex 7 solutions détaillées (ex. 28.1 → 28.7)
verification/chapters/ch28-{figures,calculations,claims,registry}.csv, references/lib-ch28.bib 5 figures, 24 calculs, 20 affirmations, 24 lignes de rattachement ; aucune nouvelle entrée bib (clés existantes seulement)

# Compteurs

  • Figures : 5 (toutes synthétiques) — tableaux : 8 — équations numérotées : 11 — exercices : 7 (niveaux 1, 1, 2, 2, 2, 3, 3) — définitions : 2 — proposition : 1 (avec démonstration) — \cref : 60 (tous précédés de l'article/préposition ou entre parenthèses).

# Contrôles

  • tools/compile_chapter.sh 28 → OK ch28 : 37 pages, 0 references/citations non definies, 0 overfull hbox (solutions + bibliographie du chapitre incluses).
  • python3 -m pytest -q analysis/python/tests/test_ch28.py → 17 passed.
  • Inspection visuelle (pdftoppm -r 45, montages des 37 pages) : tableaux 28.1-28.8 dans la justification, figures 28.1-28.5 lisibles, encadrés, exercices, solutions ; aucune coupure anormale.
  • tools/check_manuscript.py --no-log : signale seulement que les 5 figures ne sont pas dans verification/figures.csv global — attendu (règle de collision : CSV par chapitre, fusion par tools/merge_sources.py).
  • Note : une première compilation a échoué (« File ended while scanning use of @newl@bel ») parce que tools/make_labels.py relit désormais les .aux des autres chapitres et qu'un .aux (ch25) était en cours d'écriture par un autre rédacteur ; la relance a réussi. Course transitoire, pas un défaut du chapitre.

# Chiffres clés (coïncident avec traite.cas3.tout() / traite.cas2.tout())

Cas 3 : RBE 168 443,94 $ ; dépenses normalisées 78 488,19 $ (fixes 23 317,78 = 29,7 % ; variables 47 067,41 = 60,0 % dont gestion 6 737,76 ; réserve 8 103 = 10,3 %) ; ratio 46,6 % ; RNE₁ 89 955,75 $ = 7 496,31 $/log. = 109,04 $/m² ; dépenses 6 540,68 $/log., 95,14 $/m² ; historique 66 992 / 70 438 / 70 693 $ (+5,5 %, TCAC 2,7 %) ; écart normalisation +7 795,19 $ (V surévaluée de 176 561 $ = 8,7 % sur le RNE historique) ; démonstration réserve : R' = 4,8127 % (+39,8 pb), V' = 1 869 136 $, ΔV = 168 367 $ = RR/R', −8,26 % ; réserve par composantes (hypothèses pédagogiques) 687,62 $/log. linéaire, 580,71 $ fonds 3 % ; CAPEX 245 000 $ → VA 177 647,94 $, annuité 25 586,15 $ ; loyers au marché : ratio 42,1 % ; comparables : ratio médian 39,85 %. Cas 2 : RBE 40 577,04 $ ; gestion imputée 1 623,08 $ ; dépenses 18 543,08 $ (ratio 45,7 %, fixes 52,7 %) ; RNE 22 033,96 $ = 7 344,65 $/log. = 84,10 $/m² ; taxes Québec recalculées 5 437,68 $ vs 5 900 $ déclarés.

# Points non vérifiés ou à confirmer

  1. Taxe foncière générale Montréal 2026 (0,4631 $/100 $) : source secondaire (Le Devoir) ; taux « 6 logements et plus » et taxes d'arrondissement non trouvés → le cas 3 ne modélise que la taxe générale (CLM-28-007, partiellement_verifie), déclaré dans limites et chiffré dans la sensibilité (compte indexé de 5,3 % : −1,1 % de valeur).
  2. Taxe scolaire 2026-2027 (0,07899 $) : communiqué de CSS, avis officiel non consulté ; exemption de 25 000 $ et ajustement non modélisés (écart 19,75 $) (CLM-28-006).
  3. Prime d'assurance BAC 1 103 $ : ménages, pas immeubles locatifs ; incohérence 2023/2024 de la page (CLM-28-010).
  4. Bokhari & Geltner (2018) et Harding et al. (2007) : cités d'après notes-D (DOI vérifiés), articles non relus intégralement ; aucun chiffre repris sauf « de l'ordre de 1 %/an » (CLM-28-018, CLM-28-019).
  5. Art. 1947 et 1953 C.c.Q. : résumés de notes-A, texte intégral non relu par le rédacteur (CLM-28-005).
  6. Aucune statistique publique du ratio de dépenses typique ni de la réserve de remplacement : conventions du dossier déclarées comme telles (CLM-28-015).
  7. Composantes et durées de vie du tableau 28.4 : hypothèses pédagogiques déclarées (aucun barème).

# Remarques pour l'harmonisation / la bibliothèque

  • Incohérence inter-chapitres sur la réserve : ch30.tex (§30.2, ligne ≈ 119) parle d'une « réserve de 650 $ par logement » alors que le code (traite.cas3), le ch. 29, le ch. 47 et le présent chapitre utilisent 8 103 $ = 675,25 $/logement. À corriger dans ch30 (650 → 675).
  • Incohérence sur la nature des CAPEX du cas 3 : ch30 (85 000 $ maçonnerie et balcons 2027 ; 40 000 $ fenêtres 2029 ; 120 000 $ toiture et chauffage 2032) vs ch47 (85 000 $ toiture 2027 ; 40 000 $ balcons 2029 ; 120 000 $ cuisines/plomberie 2032). Le ch. 28 ne cite que les montants et les dates, sans nature des travaux ; à harmoniser entre ch30 et ch47.
  • tools/make_labels.py relit maintenant les .aux des autres chapitres : les renvois fins (tab:9:taux, etc.) deviennent possibles, mais la course décrite ci-dessus suggère de rendre la lecture des .aux tolérante (ignorer les lignes \newlabel incomplètes ou copier l'.aux avant lecture). Le ch. 28 n'utilise que des renvois ch:NN / app: vers l'extérieur.
  • ch28_depenses.py fixe deux constantes IPC (124,7 ; 167,7) lues dans data/raw/statcan_18100004/18100004.csv (162 Mo) plutôt que de relire le fichier à chaque exécution ; si l'IPC est mis à jour, ajuster les constantes (testées).
  • Les figures ch28 utilisent fig.text pour la mention « DONNÉES SYNTHÉTIQUES » ; tools/check_manuscript.py exige leur présence dans verification/figures.csv global → fusionner ch28-figures.csv.
  • Le barème SCHL 2015 indexé par l'IPC (entretien ≈ 672 $/log.) pourrait servir aux ch. 32/33/46 ; la fonction indexation_ipc() de ch28_depenses.py peut être déplacée dans traite/ si plusieurs chapitres l'utilisent.
Files · 2a26d365cc23544c8343a62de5e56cfc4c06cb46
Menu

Theme