Appearance
F-023: Census Demographics Data
Status: Proposed · Priority: P2 · Updated: Mar 6, 2026
Summary
Enrich the platform with demographic data from Statistics Canada censuses beyond income. Population, age distribution, household composition, housing tenure, language, immigration status, and other census variables — visualized at census tract level on maps and available per-listing.
Potential Data Sources
StatCan Census 2021 (and 2016 for comparison)
| Table | Description | Geography |
|---|---|---|
| 98-10-0001 | Population & dwelling counts | CT, CSD, CMA |
| 98-10-0002 | Age & sex | CT |
| 98-10-0006 | Household type & size | CT |
| 98-10-0007 | Marital status | CT |
| 98-10-0010 | Knowledge of official languages | CT |
| 98-10-0011 | Mother tongue | CT |
| 98-10-0016 | Immigration & citizenship | CT |
| 98-10-0021 | Ethnic/cultural origin | CT |
| 98-10-0029 | Labour force status | CT |
| 98-10-0038 | Housing tenure (own vs rent) | CT |
| 98-10-0041 | Structural type of dwelling | CT |
| 98-10-0049 | Mobility (moved in last year/5 years) | CT |
Most Relevant for a Rental Platform
- Housing tenure (own vs rent %) — directly relevant to renters
- Population density & household size — area character
- Age distribution — young professional vs family area
- Language — French/English/bilingual area character
- Immigration — newcomer-friendly areas
- Mobility — turnover rate (% moved recently)
- Dwelling type — apartment vs house mix
Requirements
- [ ] Research which StatCan tables are auto-downloadable (direct CSV/ZIP)
- [ ] Identify Montreal CMA census tract data availability
- [ ] Design schema for flexible demographic storage (key-value vs wide table)
- [ ] Parsers for selected census tables
- [ ] Download script additions
- [ ] Seed pipeline
- [ ] API endpoints for demographic data
- [ ] Choropleth map modes (extend existing
/income-mapor new page?) - [ ] Per-listing demographic summary card
- [ ] 2016 vs 2021 comparison for relevant metrics
- [ ] Bilingual (FR/EN)
Design Questions
- Scope: Which of the ~12 available tables are worth importing? All, or a curated subset?
- Storage: Wide table per topic (like census_tracts has income columns) vs normalized key-value (like income_snapshots)?
- Visualization: Extend the existing income choropleth with more map modes, or create a separate demographics page?
- Per-listing: What demographic stats are most useful on a listing detail page?
- National scope: Import all Canadian CTs (like CMHC rent) or just Montreal CMA?
Discussion Notes
Mar 6, 2026
- Feature proposed after completing F-022 (income data). Natural extension — we already have CT boundaries and the choropleth map infrastructure.
- Existing infrastructure to build on: 1,004 census tracts with boundaries, income choropleth, recharts, tabbed layout on
/income-map.