Who gets a spot in Toronto's recreation programs?
Every week the City publishes the full list of registered recreation courses on offer: swim lessons, camps, fitness, arts, skating. Held against the 2021 Census, that list answers a question the raw counts hide: per resident, which districts and which age groups are getting the programs.
Two parts, as always: the story in plain language, then technical notes with the definitions, the population denominators, and three data-quality notes on the source feed itself.
Raw counts favour the biggest district; per-capita rates tell a different story
Toronto and East York offers the most courses, 2,634 of the 8,372 on offer in the current registration window. It is also home to 891,000 people, far more than any other district. Divide by population and the ranking reshuffles.
How to read the first chart: each district has four bars, one per age group, and each bar is the number of registered courses aimed at that age group for every 10,000 residents in it. Scarborough and Etobicoke York sit at or above the citywide rate of 30 courses per 10,000 people. North York sits lowest at 28, and the gap is widest for children aged 6 to 12: 51 courses per 10,000 children in North York against 101 in Toronto and East York, half the rate.
Per resident, North York has the thinnest program supply, and the gap is widest for children
registered courses per 10,000 residents in each age group – early years · children 6 to 12 · youth · all ages – 8,372 courses on offer, snapshot 2026-08-17
City of Toronto open data: Registered Programs and Drop In Courses Offering (weekly), Ward Profiles 2021 Census · districts = community council areas
Why North York runs thin: the answer is in the third chart. Only 42 locations in North York offered a registered course this window, against 73 in Etobicoke York and 73 in Toronto and East York, while North York's population is second largest of the four. Fewer program sites per resident means fewer courses per resident, whatever the schedule inside each building.
Older adults are the least served group in every district
Youth aged 13 to 18 can choose from about 186 registered courses per 10,000 of them citywide, and children 6 to 12 from about 75. Residents aged 55 and over, more than 816,000 people, share 199 courses aimed at them: 2.4 per 10,000.
How to read the dark chart: each bar is older-adult courses per 10,000 residents aged 55 and over. Scarborough and Etobicoke York reach about four per 10,000. Toronto and East York, with the largest older population of the four districts at 227,000, offers 14 courses in total: 0.6 per 10,000, a sixth of Scarborough's rate. One honest caveat sits under this finding: many fitness and arts courses are listed for adults of any age, and older residents can register for those too. This chart counts only courses the City itself labels for 55 and over.
Older adults are the least served age group everywhere, and downtown they are barely served at all
registered courses aimed at ages 55+ per 10,000 residents in that age group, by district – dashed line = citywide rate
City of Toronto open data, same sources · age from the course's own minimum age (55 years and over)
The thin supply has a plain cause: North York runs courses at 42 sites for 647,000 people
locations offering at least one registered course, against 2021 population – sites · residents
City of Toronto open data · sites = distinct Location IDs with a registered course this window; 253 of 1,881 listed locations
The honest fine print
This is a snapshot of one registration window, dominated by summer camps and fall-start courses on the day of the pull, and it measures supply, meaning courses offered, never demand or use. The feed carries no enrolment, waitlist, or capacity fields, so fill rates cannot be computed from it; a course listed is not a course filled. Population denominators are 2021 Census counts by ward summed to community council areas, and the program age bands are built from five-year census bands split evenly across single years, an approximation stated in the technical notes. A district's residents can and do register across district lines.
Pre-flight catches, three of them, all in the source feed and all fixed before counting: the district field spells one district two ways ("Toronto and East York" 534 times, "Toronto East York" 17 times), which would silently split any district-level total; the location-type field mixes "school" and "School"; and the age fields are in months with no unit documented (72 to 144 means ages 6 to 12). None of these change the story, and all three are the kind of thing a weekly KPI feed should catch at intake.
Technical terms, translated
- Registered course
- A program people sign up for in advance, with a start and end date, as opposed to drop-in sessions. One row in the City's feed is one course section.
- Per 10,000 residents
- The count divided by the population of the relevant group, times ten thousand. It lets a district of 600,000 be compared fairly with one of 890,000.
- Community council district
- Toronto's four service districts (Etobicoke York, North York, Toronto and East York, Scarborough), each a fixed set of the 25 wards.
- Supply vs demand
- This study counts what is offered. Whether it fills, and who is turned away, needs enrolment data the public feed does not include.
Technical notes
Definitions, denominators, data-quality audit, and reproducibility.
Data
Registered Programs and Drop In Courses Offering (City of Toronto Open Data,
Parks, Forestry and Recreation; weekly refresh; retrieved 2026-08-17): the
registered-programs.csv resource (8,372 rows, one per course section,
unique Course_ID) and locations.csv (1,881 locations with
District and Location Type). Population: Ward Profiles,
25-ward model, 2021 Census custom tabulation, sheet "2021 One Variable",
population by five-year age group by ward. Ward-to-district assignment from the
City's Community Council area page: Etobicoke York wards 1, 2, 3, 5, 7; North York
6, 8, 15 to 18; Toronto and East York 4, 9 to 14, 19; Scarborough 20 to 25. Ward
totals sum to 2,761,290 against the published city total of 2,761,285 (rounding in
the source).
Definitions
Age groups from the feed's Min Age and Max Age fields, which
are in months: early years if maximum age ≤ 6 years; children if ≤ 12.5;
youth if ≤ 18.5; older adults if minimum age ≥ 55; otherwise adults; four
courses with no ages are "unspecified". Denominators: 0 to 5 = the 0 to 4 band plus
one fifth of 5 to 9; 6 to 12 = four fifths of 5 to 9 plus three fifths of 10 to 14;
13 to 18 = two fifths of 10 to 14 plus four fifths of 15 to 19; 55+ = the sum of
bands from 55 to 59 upward. Rates are courses per 10,000 residents in the matching
group; the all-ages rate uses total population.
Data-quality audit (reported in dq_notes.json)
District label variants (534 vs 17, harmonized); location-type case variants (94 "school", 5 "School", lower-cased); age unit undocumented (months, inferred from values 12 to 1,248 and course titles like "Child" and "Adult"); 467 null minimum ages and 1,950 null maximum ages (adult courses typically carry no maximum); zero duplicate course IDs; zero orphan location IDs; the status field holds only "started" or "open for registration" (7,306 / 1,064 / 2), so no capacity or waitlist measure exists in the public feed.
Results table
Courses per 10,000: Etobicoke York 31.6, North York 27.6, Scarborough 32.7,
Toronto and East York 29.6, city 30.3. Children 6 to 12: 78.0 / 51.1 / 67.7 / 101.3
(city 74.8). Youth: 189.0 / 156.8 / 189.6 / 211.3 (city 186.2). Older adults 55+:
3.8 / 1.7 / 4.0 / 0.6 (city 2.4; 199 courses for 816,145 residents). Swimming is
62.5% of all courses. Sites with at least one course: 73 / 42 / 58 / 73 (253 of
1,881 listed locations). Full table in district_supply_2026.csv.
Threats to validity
Snapshot timing (registration windows differ by season and category); supply without demand; residents crossing district lines to register; the census age-band split assumption; and course sections of very different sizes counted equally (a 30-child camp week and a 6-person swim lesson are each one row). Enrolment data would resolve most of these and would be the natural next dataset for the Research and Analytics function that maintains this feed.
Reproducibility
One script, run_analysis.py, reads the two feed CSVs and the ward
profile workbook from data/ and writes every number on this page to
output/results.json, district_supply_2026.csv, and
dq_notes.json. Charts are generated from those files.
References
- City of Toronto. (2026). Registered Programs and Drop In Courses Offering [data set, weekly]. City of Toronto Open Data Portal. https://open.toronto.ca/dataset/registered-programs-and-drop-in-courses-offering/ (retrieved August 17, 2026). Open Government Licence, Toronto.
- City of Toronto. (2023). Ward Profiles, 25-ward model: 2011 to 2021 Census data [data set]. City Planning, Strategic Initiatives, Policy & Analysis. https://open.toronto.ca/dataset/ward-profiles-25-ward-model/
- City of Toronto. (n.d.). Community Council Area Profiles. https://www.toronto.ca/city-government/data-research-maps/neighbourhoods-communities/community-council-area-profiles/ (ward composition of the four districts).
- Statistics Canada. (2023). 2021 Census of Population, custom tabulations for the City of Toronto.