A neighbours' data project — participation only, never a vote for anyone.

The data room

Four tables, live off the same loaders that feed every figure on this site. Click any column header to sort; the download under each table is the exact file the loader read, not an export of what you see.

The stories these tables feed: two worlds, one street · the canyon didn’t close · tower explorer · pods vs blankets · who reaches whom · the same canyon: Scarborough Southwest.

The grain, stated once. Per-PD figures are election-day only; zone figures are true total turnout (the honest grain). Scarborough Southwest turnout geography = federal 35096 substitution.

Everything below is aggregate. The finest unit anywhere in this room is the polling division; there is no candidate, party, or individual-level field in any file.

1 · Beaches—East York turnout by advance zone — the true-total-turnout layer

The 15 advance-poll zones of Beaches—East York with advance and election-day votes added together, which is the only grain at which "turnout" means what a reader assumes it means. advance_share_pct is the share of each zone's own votes cast before election day — it moves with the same geography as turnout itself.

Source: Elections Canada, 2025 general election poll-by-poll results (Beaches—East York, 35007), aggregated PD → advance zone by this project's own data pipeline ·

2 · Beaches—East York election-day turnout trend, 2021 → 2025, by neighbourhood

The comparable unit across the two elections is the neighbourhood, not the polling division — 2021 PDs were drawn on the 2013 representation order and were joined here via 2021 Elections Canada boundaries, so PD numbers do not carry across and are not offered as if they did. These are election-day figures on both sides (an advance layer comparable to 2025's does not exist for 2021 at this grain), which is why the numbers sit ~20 points below the zone table above. Read the delta_pp column, not the levels. 2021 was the pandemic election and Elections Canada merged 28 of the riding's 183 election-day polls; a merged poll's electors are counted in the neighbourhood where its ballots were counted, so every denominator describes the same people as its numerator.

Source: Elections Canada 2021 + 2025 general election poll-by-poll results, joined to City of Toronto neighbourhoods by this project's own data pipeline · · the download carries 12 rows: the 10 neighbourhoods the riding held in both years, shown here, plus the two the redistribution left on one side — South Riverdale, which the 2023-order riding no longer reaches, and Birchcliffe-Cliffside, which the 2013-order riding did not reach — kept in the file rather than silently dropped.

3 · Canvass coverage arithmetic — all 28 zones, both ridings

What it would actually cost, in human hours, to knock every door in a zone: electors ÷ 1.9 to get doors, 25 doors per pair-hour, expressed as two-hour pair shifts. Full-riding coverage is ≈864 pair-shifts in Beaches—East York and ≈913 in Scarborough Southwest — which is the argument, in one number, for pods and partners over blanket canvassing. The four Beaches—East York canyon zones alone (608 + 603 + 602 + 600) are ≈224 shifts: the achievable classic-field play.

Source: derived by this project's own data pipeline from the two ridings' zone turnout layers; canvass-rate assumptions (1.9 electors/door, 25 doors/pair-hour) are stated with the figures and are the only non-observed numbers in this room ·

4 · Measured street doors per zone — 4,948 electors behind 143 doors in one of them

The table above estimates doors from electors. This one counts them. Every civic address point in both ridings was taken from the City of Toronto's address repository and located inside its advance-poll zone, which gives the number of street addresses a canvasser can actually walk up to — and the gap between that count and the elector-implied estimate is the tower geography, measured rather than inferred. Beaches—East York zone 603 (Crescent Town) is the extreme case: 143 street addresses for 4,948 electors, a ratio of 0.05 to its implied unit-doors, because a 500-unit tower is one address point on the map and one locked lobby door on the ground.

Source: City of Toronto Open Data — "Address Points (Municipal) — Toronto One Address Repository" (fetched 2026-08-16), point-in-polygon against the committed advance-zone boundaries × Elections Canada 45th general election electors · as of 2026-08-16 ·

Read this table with its three caveats. One: a tower is one address point. "Street addresses" counts front doors on the street, not dwelling units — which is exactly why the ratio column finds the high-rise corridors, and exactly why this column must never be read as a population count. Two: the source's GENERAL_USE_CODE field is unpopulated ("Unknown" on every fetched row, checked 2026-08-16), so no residential/commercial split is possible here; the split shown is ADDRESS_CLASS only — parcel addresses (L/LE) versus additional structure entrances (S/SE). Three: the riding codes are the source file's own — BEY = Beaches—East York, SSW = Scarborough Southwest — and the elector counts on the SSW rows are the federal 35096 substitution, as everywhere else on this site, and "implied unit-doors" is the 1.9-electors-per-door assumption, not an observation.

How to reproduce any of this

Each table above is produced by a committed data loader that copies the committed CSV to the page unchanged — no reshaping, no rounding, no hand-typed numbers. That is why the download under each table is byte-for-byte the file the figure was drawn from: if you disagree with a chart, you can check it against the same bytes we did, and every figure regenerates from those files the day new results land.