Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions posts/spatial-access-to-public-libraries-toronto/charts.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ const charts = {
graphicVerb: 'created'
},
'demographics-grid': {
title: "Six population groups, mapped relative to library locations",
title: 'Where six population groups live in relation to public libraries',
subtitle:
"Share of each census tract's population, with public library locations marked on every map",
'Visible minority, low income, recent immigrants, first-generation immigrants, seniors, and children',
source: 'Census of Population, Statistics Canada (2021); Toronto Public Library',
alt:
"Six small maps of Toronto, each showing one population group's share of every census tract, with library locations marked: visible minority, low income, recent immigrants, first-generation immigrants, seniors, and children. Where each group is concentrated differs, but all are least present in the central corridor from downtown to the east end.",
Expand Down
1 change: 1 addition & 0 deletions posts/spatial-access-to-public-libraries-toronto/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"published": "2026-10-07",
"license": "CC-BY-4.0",
"protected": false,
"cardImage": "demographics-grid",
"geography": ["Toronto"],
"tags": ["urban", "public transit", "accessibility", "public libraries"],
"documents": [
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"demographics-grid": {
"width": 1080,
"height": 763
"height": 769
},
"spatial-access-map": {
"width": 1080,
Expand Down
124 changes: 124 additions & 0 deletions posts/voter-turnout-municipal-elections-ontario/+page.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
<script>
import ChartFrame from '$lib/ChartFrame.svelte';
import charts from './charts.js';
import meta from './meta.json';
import TurnoutByElection from './charts/turnout-by-election.svelte';
import TurnoutByMayoralVote from './charts/turnout-by-mayoral-vote.svelte';
import Footnote from '$lib/footnotes/Footnote.svelte';
import Footnotes from '$lib/footnotes/Footnotes.svelte';
import { createFootnoteStore } from '$lib/footnotes/footnoteUtils.js';

const dataUrl = 'https://open.canada.ca/data/en/dataset/a5871234-ed52-4c79-af33-b205aee59fd3';

const footnoteStore = createFootnoteStore();


const fPopulation = footnoteStore.addFootnote(
"Population is from the 2021 Census of Population, Statistics Canada."
);
const fCommentary = footnoteStore.addFootnote(
[
"Marshall, S. (2023, March 7). Election: Voter turnout in 2022. *Spacing Toronto*. [URL](https://spacing.ca/toronto/2023/03/07/election-voter-turnout-in-2022/).",
"The Canadian Press. (2022, October 25). Where were the voters? Low Ontario turnout caused by fatigue and non-competitive race: experts. *CBC News*. [URL](https://www.cbc.ca/news/canada/toronto/ontario-election-low-voter-turnout-1.6629007)."
].join("\n\n")
);
const fFrequency = footnoteStore.addFootnote(
"Kostelka, F., Krejcova, E., Sauger, N., & Wuttke, A. (2023). Election frequency and voter turnout. *Comparative Political Studies*, 56(14), 2231–2268. [DOI](https://doi.org/10.1177/00104140231169020)."
);
// Both sources back the same sentence, so they share one footnote; a blank
// line between references stacks them in the tooltip and the reference list.
const fBarometer = footnoteStore.addFootnote(
[
"Eidelman, G., Merrill, R., McMahon, N., Vanhooren, S., McCoy, K., Sachdeva, R., Galati, K., Exon Smith, K., Breux, S., & Lucas, J. (2026). *The State of Local Democracy in Canada: Insights from the Canadian Municipal Barometer, 2020–25*. School of Cities. [URL](https://utoronto.scholaris.ca/items/ee90a010-6b1e-4439-9020-6e8b8f3ea887).",
"Andrews, B., & Pruysers, S. (2022). Does democracy die in darkness? An examination of the relationship between local newspaper health and turnout in municipal politics. *Canadian Journal of Political Science*, 55(4), 958–971. [DOI](https://doi.org/10.1017/S0008423922000737)."
].join("\n\n")
);
</script>

<div class="text">

<p>
Ontario holds municipal elections every four years, on the fourth Monday in October. Voters elect a mayor and council, as well as school board trustees, and in municipalities that sit within a region, members of regional council. We compared voter turnout data across the three most recent municipal elections in Ontario for every city and town with more than 75,000 residents.<Footnote id={fPopulation} /> Together these 34 municipalities had 7.1 million eligible electors in 2022.
</p>

</div>

<ChartFrame meta={charts['turnout-by-election']} authors={meta.authors} license={meta.license} chartKey="turnout-by-election">
<TurnoutByElection />
</ChartFrame>

<div class="text">

<!-- <p>
Toronto is the largest outlier. Its 2014 turnout of 54.7% was the highest of any municipality in any of the three elections; by 2022 it was 29.7%, a drop of 25 percentage points. London (down 17.7 points) and Guelph (down 17.2) had the next largest declines. The typical decline was about 7 points.
</p>

<p>
Ottawa moved in the opposite direction. It is the only municipality where turnout rose in both 2018 and 2022, from 39.9% to 43.8%, which was the highest of the 34 in 2022. Hamilton is the only other municipality that finished higher than it started, at 35.4% compared with 34.0%. Barrie, Richmond Hill, and Cambridge were close to flat, each within one point of their 2014 turnout.
</p> -->

<p>
In 2014, only 3 of the 34 municipalities had turnout below 30%. In 2022, 21 did. We found no research that directly explains the 2022 drop. Commentators pointed to the COVID-19 pandemic and to election fatigue (the October 2022 municipal elections came four months after the June 2022 provincial election and 13 months after the September 2021 federal election).<Footnote id={fCommentary} /> Research from Europe found that more frequent elections tend to lower turnout.<Footnote id={fFrequency} />
</p>

<p>
Earlier research does point to some of the reasons turnout differs between municipalities. A study using <a href="https://www.cmb-bmc.ca/" target="_blank" rel="noopener noreferrer">Canadian Municipal Barometer</a> data on 233 municipalities in Ontario, Quebec, British Columbia, and Alberta, in their 2017 and 2018 elections, found that turnout was higher where there were more local newspapers that published more often, where councils had more seats relative to population, and where mayoral races were closer. Turnout also tends to be lower where a larger share of residents were aged 18 to 34.<Footnote id={fBarometer} />
</p>

<p>
In our look at Ontario's largest municipalities, a city's size says little about its turnout: population and turnout are essentially uncorrelated in each of the three elections. How a municipality is governed makes a small difference. Single-tier cities, which are not part of a regional government, had a higher median turnout in all three elections than lower-tier municipalities, which sit within a region (e.g. Peel, York, etc.).
</p>

<p>
The closeness of the mayoral race accounts for more of the difference, in line with the earlier research. In each of the three elections, turnout tended to be lower where the winning mayoral candidate took a larger share of the vote.
</p>

</div>

<ChartFrame meta={charts['turnout-by-mayoral-vote']} authors={meta.authors} license={meta.license} chartKey="turnout-by-mayoral-vote">
<TurnoutByMayoralVote />
</ChartFrame>

<div class="text">

<p>
We will likely update these charts after 2026 elections when the data are available.
</p>

<div class="details-block data-methods" style="margin-top: 60px; margin-bottom: 60px;">
<h2>Methods and data</h2>

<p>
Turnout data are from the <a href={dataUrl} target="_blank" rel="noopener noreferrer">Municipal election results</a> dataset published by the Government of Ontario, which has one file of municipal data for each of the 2014, 2018, and 2022 elections. Turnout is the number of electors who voted divided by the total number of eligible electors.
</p>

<p>
We included every single-tier and lower-tier municipality with a population above 75,000 in the 2021 Census of Population. That is 34 municipalities: 26 cities, six towns (Oakville, Whitby, Milton, Ajax, Newmarket, and Caledon), and two with the status of municipality (Chatham-Kent and Clarington). Upper-tier regions and counties are not included.
</p>

<p>
We replaced three values with figures published by the cities themselves. The provincial file has no figures for Toronto in 2014, so we used the City of Toronto's count (991,754 voters of 1,813,915 eligible electors). For Toronto in 2018, the provincial file lists about 204,000 fewer electors than the City's final count, which gives a turnout of 45.1% instead of the City's 40.9%; we used the City's figures (769,044 of 1,880,371). For Barrie in 2018, the provincial file gives a turnout of 47.4%, while the City of Barrie reported 29.65%; we used the City's figure. The downloadable data marks these three values.
</p>

<p>
The mayoral results are from the same dataset's files of successful candidates, which give the votes cast for the winning candidate and the total votes cast for the office. We divided the first by the second. The files do not list losing candidates, so we could not calculate the margin of victory. Two of the 102 contests are left out of the third chart: Newmarket in 2022, where the mayor was acclaimed, and Milton in 2022, where the file has no total for the office.
</p>

<h3>Limitations</h3>

<p>
Municipalities report these figures to the Province voluntarily, and we did not compare every value with each municipality's own published results. The three substitutions above are the ones we found; there may be others.
</p>

<p>
Turnout depends on the voters' list as well as on the number of people who vote. A list that includes people who have moved or died lowers measured turnout, and a list that misses eligible residents raises it. The quality of the list can differ between municipalities and between elections, so small differences in turnout should be read with caution.
</p>

<p>
Three elections are a short series, and the analysis is descriptive. It does not test why turnout changed or why it differs between municipalities.
</p>
</div>

<Footnotes footnotes={footnoteStore.footnotes} />

</div>
47 changes: 47 additions & 0 deletions posts/voter-turnout-municipal-elections-ontario/charts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { resolveDownloads } from '$lib/downloads.js';

const dataUrls = import.meta.glob('./data/*', { eager: true, query: '?url', import: 'default' });
const pngUrls = import.meta.glob('./published/*/*.png', {
eager: true,
query: '?url',
import: 'default'
});
const embedMeta = import.meta.glob('./published/*/embed.json', {
eager: true,
import: 'default'
});

const source =
'Government of Ontario, Municipal election results (2014, 2018, 2022); City of Toronto and City of Barrie election results; Statistics Canada, Census of Population (2021)';

const substitutionNote =
'Turnout is the number of electors who voted divided by the number of eligible electors, as each municipality reported it to the Province. Toronto in 2014 and 2018 and Barrie in 2018 use figures published by those cities, because the provincial file is blank or differs from them. By-elections, such as Toronto’s 2023 and Mississauga’s 2024 mayoral by-elections, are not included. Provincial turnout (dashed line) is all ballots cast as a share of names on the voters list, as reported by Elections Ontario; provincial elections were held in June 2014, 2018 and 2022, and February 2025.';

const charts = {
'turnout-by-election': {
title: 'Voter turnout declined in most of Ontario’s largest municipalities between 2014 and 2022',
subtitle:
'Median turnout held near 36% in 2014 and 2018, then dropped to 28% in 2022. Toronto declined the most; Ottawa was the only city to rise in both elections',
source:
'Government of Ontario, Municipal election results (2014, 2018, 2022); City of Toronto and City of Barrie election results; Elections Ontario, General Elections Statistics from the Records; Statistics Canada, Census of Population (2021)',
alt: 'Slope chart of voter turnout in the 2014, 2018 and 2022 municipal elections for the 34 Ontario municipalities with more than 75,000 residents. Most lines fall, most steeply between 2018 and 2022. The median declines from 36.1% to 28.2%. A dashed line shows provincial election turnout: 51.3% in 2014, 56.7% in 2018, 44.1% in 2022 and 45.2% in 2025.',
note: substitutionNote,
data: ['turnout-by-municipality.csv', 'provincial-turnout.csv'],
widths: [360, 720],
graphicVerb: 'created'
},
'turnout-by-mayoral-vote': {
title: 'Turnout tended to be lower where the mayor won with a larger share of the vote',
subtitle:
'Toronto’s highest turnout came in 2014, when its mayor was elected with only 40% of the vote. Ottawa’s came in 2022, when its mayor was elected with 51%',
source:
'Government of Ontario, Municipal election results, municipal and successful candidate data (2014, 2018, 2022); City of Toronto and City of Barrie election results',
alt: 'Three scatter plots, one for each of the 2014, 2018 and 2022 municipal elections, of voter turnout relative to the winning mayoral candidate’s share of the vote in Ontario municipalities with more than 75,000 residents. In each, the trend slopes downward: turnout is lower where the winner took a larger share. Toronto and Ottawa are highlighted.',
note: 'Turnout is the percentage of eligible electors who voted. The provincial file lists only the winning candidate, so the measure is the winner’s share of votes cast for mayor, not the margin over the runner-up. The 2022 panel has 32 municipalities: Newmarket’s mayor was acclaimed and the file has no mayoral vote total for Milton. Three turnout values use city-published figures (Toronto 2014 and 2018, Barrie 2018). Correlations are Pearson’s r, with two-sided p-values.',
data: 'turnout-and-mayoral-vote.csv',
widths: [360, 720],
graphicVerb: 'created'
}
};

export default resolveDownloads(charts, { dataUrls, pngUrls, embedMeta });
Loading
Loading