spb/traite-evaluation-qc
Public
1id,chapitre,description,script,test,resultat_attendu,resultat_obtenu,statut,date2CALC-27-001,27,RBP contractuel du cas 3 (12 baux × 12 ; 13 795 $/mois),analysis/python/cases/ch27_revenus.py (traite.cas3.revenus),analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,165540,165540.00,verifie,2026-10-313CALC-27-002,27,RBP au marché du cas 3 (15 503 $/mois × 12) et déficit de loyer,analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,186036 ; 20496 (11,02 %),186036.00 ; 20496.00 (0.1102),verifie,2026-10-314CALC-27-003,27,"Provision inoccupation et pertes 3,9 % du RBP contractuel ; loyers effectifs",analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,6456.06 ; 159083.94,6456.06 ; 159083.94,verifie,2026-10-315CALC-27-004,27,"RBE cas 3 = RBP(1−v) + autres 9 360 $ ; RBE/RBP ; par logement ; par m²",analysis/python/cases/ch27_revenus.py (traite.finance.revenu_brut_effectif),analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,168443.94 ; 1,0175 ; 14037 ; 204,17,168443.94 ; 1.0175 ; 14037.00 ; 204.17,verifie,2026-10-316CALC-27-005,27,Taux d'occupation économique cas 3 = (1−v)·RBP_c/RBP_m,analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,0,8551,0.8551,verifie,2026-10-317CALC-27-006,27,"Variantes de convention : v sur tous les revenus (−365,04 $) ; RBE aux loyers de marché",analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,168078.90 ; 188140.60,168078.90 ; 188140.60,verifie,2026-10-318CALC-27-007,27,"Décomposition déclarée de v : frictionnel 15 % × 1/12 = 1,25 % ; résiduel 2,65 %",analysis/python/cases/ch27_revenus.py (traite.finance.taux_vacance_frictionnelle),analysis/python/tests/test_ch27.py::test_valeurs_citees_cas3,0,0125 ; 0,0265,0.0125 ; 0.0265,verifie,2026-10-319CALC-27-008,27,"État locatif par type (3½ : 15,8 % ; 4½ : 11,1 % ; 5½ : 4,9 % ; total 11,0 % ; ancienneté 9,0/5,8/2,5/6,3 ans)",analysis/python/cases/ch27_revenus.py (par_type_cas3),analysis/python/tests/test_ch27.py::test_par_type_cas3,15.76;11.07;4.93;11.02,15.76;11.07;4.93;11.02,verifie,2026-10-3110CALC-27-009,27,"Cas 2 : RBP 41 832 ; marché 49 332 ; déficit 7 500 (15,2 %) ; provision 3 % ; RBE ; RBE marché ; θ ; variante occupant",analysis/python/cases/ch27_revenus.py (traite.cas2.revenus),analysis/python/tests/test_ch27.py::test_cascade_cas2,41832;49332;7500;1254.96;40577.04;47852.04;0.8225;40953.96,idem,verifie,2026-10-3111CALC-27-010,27,"Lecture SCHL : inoccupation et rotation par RMR 2024/2025 (tableaux 1.1.1 et 1.1.6, fichier Québec)",analysis/python/cases/ch27_revenus.py (schl_inoccupation_rmr; schl_rotation_rmr),analysis/python/tests/test_ch27.py::test_schl_lectures,"Mtl 2,1/2,9 ; 11,1/9,4 ; Qc 0,9/2,4 ; 13,9/13,0 ; Gat 1,9/3,8 ; 17,3/16,2 ; Sher 1,4/2,7 ; 10,4/12,0 ; T-R 0,9/2,7 ; 10,2/10,1 ; Sag 1,6/1,3 ; 13,3/12,6",idem,verifie,2026-10-3112CALC-27-011,27,"Lecture SCHL : inoccupation et rotation selon la taille (RMR et île de Montréal, tableaux 1.3.1 et 1.3.4)",analysis/python/cases/ch27_revenus.py (schl_taille_montreal),analysis/python/tests/test_ch27.py::test_schl_lectures,"île 2,3/2,2/3,9/3,8/5,1/3,1 ; RMR 2,1/2,1/3,4/3,7/5,7/2,9 ; rotation RMR 7,6/8,5/9,4/12,3/14,2/9,4",idem,verifie,2026-10-3113CALC-27-012,27,"Lecture SCHL : quartiles (RMR : 1,3/1,9/3,0/4,9), loyers inoccupés/occupés île (1 573/1 275 ; 2 ch. 1 815/1 349), année de construction île (2015+ : 5,6)",analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_schl_lectures,idem,idem,verifie,2026-10-3114CALC-27-013,27,"IPC loyer Québec (18-10-0004-01) : sept. 2026 174,2 / sept. 2025 168,6 = +3,32 % ; TCAC 10 ans 4,02 % ; 5 ans 6,49 %",analysis/python/cases/ch27_revenus.py (ipc_loyer_quebec),analysis/python/tests/test_ch27.py::test_ipc_loyer,3.32 ; 4.02,3.32 ; 4.02,verifie,2026-10-3115CALC-27-014,27,"Grille frictionnelle v_f = ρ·d/12 (ρ 5-25 %, d 0,5-3 mois)",analysis/python/cases/ch27_revenus.py (grille_frictionnelle),analysis/python/tests/test_ch27.py::test_grille_et_sensibilite,"9,4 %×1 mois = 0,78 ; 13 %×2 = 2,17 ; 15 %×1 = 1,25",idem,verifie,2026-10-3116CALC-27-015,27,"Sensibilité à v (R = 4,415 %) : RBE, RNE, valeur pour v = 2,0/2,9/3,9/5,0/6,0/8,0 % ; pentes −1 655,40 / −1 589,18 / −35 995,11 $ par point",analysis/python/cases/ch27_revenus.py (sensibilite_v ; traite.cas3.rne),analysis/python/tests/test_ch27.py::test_grille_et_sensibilite,"V(2,9) 2073497.99 ; V(3,9) 2037502.89 ; V(8) 1889922.94",idem,verifie,2026-10-3117CALC-27-016,27,"Trajectoires RBP : TAL seul, rotation 9,4 %, rotation 15 %, marché ; RBP année 10 ; TCAC ; sommes ; valeurs DCF",analysis/python/cases/ch27_revenus.py (trajectoires_cas3 ; traite.cas3.projection_dcf ; valeur_dcf),analysis/python/tests/test_ch27.py::test_trajectoires,"217886.81/247211.89/251101.39/253547.97 ; 3,10/4,56/4,74/3,50 % ; V_DCF 1756414.23/2140916.43/2208565.91",idem,verifie,2026-10-3118CALC-27-017,27,"Cohérence inter-chapitres : RBE, RBP, projection de base et V_DCF = traite.cas3.tout() (ch. 29, 30, 47)",analysis/python/cases/ch27_revenus.py,analysis/python/tests/test_ch27.py::test_cascade_cas3_identites;test_trajectoires,égalité à 1e-12,égalité,verifie,2026-10-3119CALC-27-018,27,"Exercices 27.1-27.8 (RBP 78 360/87 000 ; RBE 80 025,60/79 833,60/79 929,60 ; v_f Québec 1,083/1,625 % ; concession 1 191,67 ; cas 2 ; mini-projection 47 400→62 177,79 ; V(2,9)/V(5,9) ; ratios SCHL 1,234/1,345/3,77)",analysis/python/cases/ch27_revenus.py (exercices ; mini_projection),analysis/python/tests/test_ch27.py::test_exercices;test_mini_projection,voir solutions/ch27.tex,idem,verifie,2026-10-3120CALC-27-019,27,"Nouvelles fonctions de bibliothèque : traite.finance.taux_vacance_frictionnelle, loyer_effectif_concession (identités : linéarité, 12 mois = ρ, 1/12 ≡ 2/24, erreurs sur arguments négatifs)",analysis/python/traite/finance.py,analysis/python/tests/test_ch27.py::test_vacance_frictionnelle_identites;test_loyer_effectif_concession,identités vraies,identités vraies,verifie,2026-10-3121