TeX 59%
Python 40.8%
1# WP20 cost schedule — every parameter carries a `source` (verified public figure) or is labelled `assumption`2# (author assumption with the sensitivity range used in Experiments 7–8 and the Monte Carlo of Experiment 14).3# Currency: CAD. Base valuation date: 2026-Q2 (listing window 2026-08 → 2026-10).4version: 1.05valuation_quarter: "2026-04-01" # StatCan refPer label for 2026-Q267rcn:8 # Two published anchors for the per-area cost of a new single-family house. Anchor B (Québec, 2026) is the headline9 # because it is province- and date-specific; anchor A (Altus, Montréal hard costs) is reported as a lower-bound alternative.10 anchor_default: B11 anchors:12 A:13 label: "Altus Group 2026 Canadian Cost Guide, Montréal hard construction cost (via NerdWallet Canada), $155–215/sq ft, single-family with unfinished basement"14 reference_storeys: "1" # band not storey-specific; treated as the one-storey reference (assumption)15 reference_quarter: "2026-01-01"16 grade_per_sqft: {basic: 155, standard: 175, upgraded: 195, luxury: 230}17 grade_sensitivity_per_sqft: {basic: [140, 170], standard: [160, 195], upgraded: [180, 215], luxury: [205, 280]}18 storey_multiplier: {"1": 1.00, "1.5": 0.97, "2": 0.93, "2.5": 0.92, "3": 0.92} # assumption19 B:20 label: "Québec industry guides 2026 (Soumission Rénovation, updated 2026-08-31, citing SHQ 2026 data: standard finish $280–325/sq ft, cottage with unfinished basement $230–285, high-end $350+; Dessins Drummond, updated 2026-09-24: $260–350/sq ft, cottage ≈ $280, bungalow ≈ $345); excludes land, servicing, soil tests, professional fees, landscaping"21 reference_storeys: "2" # the quoted standard band describes a two-storey 'cottage'22 reference_quarter: "2026-07-01" # treated as current (no BCPI beyond 2026-Q2; factor 1)23 grade_per_sqft: {basic: 257, standard: 302, upgraded: 340, luxury: 400}24 grade_sensitivity_per_sqft: {basic: [230, 285], standard: [280, 325], upgraded: [325, 375], luxury: [350, 450]}25 # bungalow ≈ cottage + $100/sq ft (Soumission Rénovation) and 345 vs 280 (Dessins Drummond) → one-storey ≈ 1.25× two-storey26 storey_multiplier: {"1": 1.25, "1.5": 1.12, "2": 1.00, "2.5": 0.97, "3": 0.97}27 # Legacy single-anchor fields (kept for reference; the model reads `anchors`)28 # Hard construction cost per square foot, single-family house with unfinished basement, excluding land, Montréal,29 # Altus Group 2026 Canadian Cost Guide as tabulated by NerdWallet Canada (secondary source; see docs/institutional_sources.md).30 base_band_per_sqft_montreal: {low: 155, high: 215}31 base_band_source: "Altus Group, 2026 Canadian Cost Guide, via NerdWallet Canada table (accessed 2026-10-20); secondary source"32 base_band_reference_quarter: "2026-01-01" # guide published 2026-04-23; costs taken as early-2026 (assumption)33 # Finish-grade mapping onto the band (assumption: linear placement within the published band; luxury may exceed it)34 grade_per_sqft: {basic: 155, standard: 175, upgraded: 195, luxury: 230}35 grade_sensitivity_per_sqft: {basic: [140, 170], standard: [160, 195], upgraded: [180, 215], luxury: [205, 280]}36 # Storey multiplier on per-area cost (assumption: foundation and roof are spread over more floor area in taller houses)37 storey_multiplier: {"1": 1.00, "1.5": 0.97, "2": 0.93, "2.5": 0.92, "3": 0.92}38 storey_multiplier_sensitivity: 0.0339 # Party-wall adjustment for attached houses (assumption)40 attached_multiplier: {detached: 1.00, semi_detached: 0.97, row_or_townhouse: 0.94}41 # Add-ons (assumptions, CAD, 2026) — sensitivity ±30 %42 basement_finish_per_sqft: {finished: 45, partially_finished: 22, unfinished: 0}43 garage: {attached: 35000, detached: 45000, carport: 8000, none_visible: 0, none: 0}44 add_on_sensitivity: 0.3045 # Indirect (soft) costs and entrepreneurial incentive on top of hard costs (assumptions; standard cost-approach components)46 soft_cost_share: 0.1047 soft_cost_sensitivity: [0.05, 0.15]48 entrepreneurial_incentive: 0.0849 entrepreneurial_incentive_sensitivity: [0.0, 0.15]5051site_improvements:52 baseline_share_of_rcn: 0.02 # driveway, landscaping, fences (assumption; sensitivity 0–4 %)53 pool: {inground: 60000, above_ground: 8000, none: 0} # assumption, text-claimed only; sensitivity ±40 %5455temporal_regional:56 # Statistics Canada table 18-10-0289-01, single-detached house, division composite, 2023 = 100 (data/raw/statcan/)57 statcan_vectors: {montreal: 1617911556, quebec: 1617911172, gatineau: 1617912324, composite: 1617908100}58 cma_to_series: {montreal: montreal, quebec: quebec, gatineau: gatineau, sherbrooke: composite, trois-rivieres: composite, saguenay: composite, other: composite}59 # Cross-CMA cost LEVEL is not published for Québec City; baseline assumes the Montréal level everywhere60 # (regional_level_factor = 1.0) and Experiment 7 varies it in [0.90, 1.10] and under the "relative growth since 2023" scenario.61 regional_level_factor: 1.062 regional_level_sensitivity: [0.90, 1.10]63 # Dessins Drummond (2026): building in Montréal or Québec City costs 10–25 % more than in other regions → scenario64 non_metro_discount_scenario: {metro_cmas: [montreal, quebec, gatineau], factor_other: 0.85}6566depreciation:67 method: "straight-line age–life with condition-adjusted effective age (physical); functional and external = 0 in baseline"68 economic_life_years: 6069 economic_life_sensitivity: [50, 75]70 max_physical: 0.8571 # effective age = chronological age × condition factor (composite 1–5 condition score; 3 = average → factor 1)72 condition_factor: {1: 1.40, 2: 1.20, 3: 1.00, 4: 0.75, 5: 0.55}73 condition_factor_strength_sensitivity: [0.5, 1.5] # scales the deviation of the factor from 174 renovation_extensive_years_removed: 1075 renovation_partial_years_removed: 476 min_effective_age: 177 external_obsolescence_scenario: 0.107879land:80 source: "assessment roll land value (valeur_terrain) at the roll market-condition date (LFM art. 46)"81 index: "Vrai Prix monthly single-family price index (market_index, type unifamilial) from roll date month to 2026-07"82 index_share_applied: 1.0 # baseline: full indexing; sensitivity {0.0, 0.5, 1.0} (land vs house price growth differ)8384benchmarks:85 assessor_building_value_index: "StatCan BCPI single-detached, CMA series, from roll market date quarter to 2026-Q2"8687baselines:88 B0: {grade: standard, condition: 3, basement: unfinished, garage: none, pool: none, attached: from_listing_type}89