About this analysis
This dashboard is an independent analysis built from publicly-available open data. It is not produced, reviewed, validated, or endorsed by the City of Toronto, Toronto Police Service, the Province of Ontario, or any government body or agency.
Provided strictly as-is. No warranty, no guarantee of accuracy or completeness, no representation that the analysis is fit for any particular purpose, and no liability for any use made of it. Nothing on this page is professional, legal, traffic-engineering, or policy advice. The author takes no responsibility for downstream interpretation, citation, or republication, and accepts no obligation to respond to issues, correct errors, or maintain the page.
All numbers on this page are derived deterministically from the source datasets linked below. Any reader can reproduce them by downloading the same files and applying the methodology described here. Construction of the page and its analysis code was AI-assisted; the data and the math are public and verifiable independently of the author or the tooling.
No causal claim is made about why measured speeds changed. The difference-in-differences method controls for prior-year seasonality but cannot rule out other simultaneous factors (weather variation, road construction, fleet composition, post-pandemic travel patterns, demographic shifts, etc.).
About the data's coverage: the radar logs measurements 24 hours a day, 7 days a week — including overnight and weekends. The "Weekdays from 7 AM – 9 PM" schedule listed on almost every sign refers to when the LED displays your speed back to drivers (the visible feedback period), not when the underlying speed counts are collected. This was verified by cross-checking the City's hourly-archive dataset against the monthly summary: the monthly volume per sign matches the sum of all 24-hour, 7-day-a-week hourly readings to within ~1%. That said, the WYS signs are placed in safety zones and on streets the City has flagged for feedback — they are not a uniform random sample of all Toronto streets, and city-level totals should be read as "speeding on streets with WYS signs," not "speeding on every road in Toronto."
How the numbers are computed
- "% >10 km/h over the limit". For each monthly sign reading we sum vehicles in every 5 km/h bin whose lower boundary is ≥
posted_limit + 10 (e.g. for a 40 km/h zone, bins spd_50 and above), then divide by total volume. Consistent across all signs.
- Year-over-year tier counts ("Total speeders" card). Same per-row bin rule, applied for each tier (10+, 15+, 20+, 25+, 30+ over). City totals include only the 819 signs that reported in both Jan-Jun 2025 and Jan-Jun 2026, so the comparison is apples-to-apples.
- Aggregation: city and ward series are volume-weighted means across signs (a high-traffic arterial counts more than a quiet street). Per-sign series are direct monthly readings.
- Difference-in-differences (DiD): the post-ban window (Dec 2025–Mar 2026) minus the pre-ban window (Jul–Oct 2025) — and the same delta in 2024 as a seasonal control — subtracted. The DiD number is the honest headline: it filters out year-over-year seasonality (winter weather, school sessions, etc.).
- Spatial DiD by distance to ASE camera: signs are grouped into bins by great-circle distance (haversine) to their nearest published ASE camera point. The same pre/post 2025 windows are computed per bin (raw delta), and again with the 2024 control subtracted (DiD-adjusted). ASE locations as published include both formerly-active and planned points; the City does not publish install/removal dates, so "near an ASE camera" is best read as "near a location designated for automated enforcement at some point," not a guarantee enforcement was historically active.
- Sign relocation:
sign_id is intended to be stable, but a sign can occasionally be reassigned. Per-sign deltas on the most extreme outliers warrant a sanity-check against the address.
- ASE camera dataset records current status only — Toronto does not publish install/removal dates. The Province's November 2025 ban removed automated enforcement city-wide, not just at the points shown on the map.
- Hourly profiles are a 2023 baseline. Toronto stopped publishing the detailed hourly archive after 2023, so the "typical day" charts cannot be updated to the post-ban era — they show each sign's pre-ban traffic pattern of life.
Verify any number on this page — direct dataset links
- Stationary WYS Monthly Summary — dataset · CSV
- WYS Sign Locations — dataset (GeoJSON / CSV options)
- Automated Speed Enforcement Locations — dataset
- Detailed (hourly) Counts 2017–2023 — dataset
Contains information licensed under the Open Government Licence – Toronto. Source datasets © City of Toronto. Page generated .
Open source. Every line of the analysis and the page itself is published at
github.com/mschwanzer/toronto-speeding-tracker under the MIT licence. Provided as-is, with no warranty, no guarantee of accuracy, and no liability. The author makes no commitment to respond to issues, fix errors, or maintain the page.