How long do Toronto building applications wait?
Every new tower, subdivision, and rezoning in Toronto starts as an application in a public tracker. I analyzed 26,000 of them to measure how long files really sit, and found that the answer depends on where they get stuck.
This page comes in two parts: the story in plain language first, then technical notes with the status mapping, model, full queue tables, and sensitivity checks.
In brief
- Approach
- Open-application snapshot
- Data
- Toronto development applications, July 2026
- What the evidence shows
- Open-file age and status vary across application types and cohorts.
- What to keep in mind
- Decision dates are unavailable. An open file's age is not the time a typical completed application takes.
The data refused my first plan, so the plan changed
I wanted to measure how long applications take from submission to decision. The city's file records when every application was submitted and what state it is in today. It records no decision dates at all.
Forcing the original method onto data that cannot support it would produce confident nonsense. So I asked the question the data can honestly answer: of all the applications submitted in each year, how many are still open today? If files resolved quickly, only the newest years would have open files. The further back the open files stretch, the slower the system.
How to read the first chart: each point is one year's batch of applications, and the height shows the share of that batch still open in July 2026. The dark line follows site plan applications (the detailed design review most buildings need); the gray line follows rezonings (asking to change what a property is allowed to be). Old batches sit near zero, as they should. Then the lines climb steeply: counting every application type, more than half of everything submitted since 2022 is still open.
Half of everything submitted since 2022 is still open
Share of each year's applications still open in July 2026 – site plans · rezonings – counting every application type, 53.6% of 2022 submissions and 52.3% of 2024 submissions are still open
City of Toronto Development Applications · snapshot July 29 2026 · 25,944 applications
Read chart description
Two hairline lines showing the share of each submission cohort still open in July 2026, 2010 to 2025. Site plans rise from about 1% to 71% for 2022 and 84% for 2025; rezonings from about 0% to 43% and 66%. Cohorts from the 2010s mostly resolved.
One caution, stated wherever this chart appears: with a single snapshot, "newer" and "from a slower era" are tangled together. A 2022 file may still be open because it is young, or because the system slowed down around then. The 2022 batch sitting as high as batches two years younger points to a real slowdown, but this data alone cannot fully separate the two.
5,065 open files, typically 4.1 years old
The second view looks only at the files open right now, and asks how old they are and where they are stuck.
How to read the second chart: each row is one application type. The dark dot marks the typical age of its open files (half are younger, half are older). The light dot marks the age that the oldest quarter of files has passed. The longer the tail between the dots, the more extreme the slowest cases.
The open queue: 5,065 applications, median age 4.1 years
Age of currently open applications by type – typical age (median) · the age the oldest quarter has passed – 21.4% of the whole queue is older than five years
City of Toronto Development Applications · July 29 2026 · † condominium ages cluster at a 2020 administrative batch date
Read chart description
Dumbbell chart of the age of currently open applications by type. Subdivision: median 4.8 years, 75th percentile 9.4, 626 open; Condominium: median 4.7 years, 75th percentile 4.8, 322 open; Site Plan: median 4.1 years, 75th percentile 4.9, 2,134 open; Rezoning / OPA: median 3.2 years, 75th percentile 4.7, 1,956 open.
A quarter of open subdivision files are more than nine years old. Among open rezonings, 54.6% have appeal status, compared with 8.7% of site plans. This identifies a group for closer investigation. The snapshot cannot measure time spent at appeal or establish that appeals caused the longer waits.
The bug that flipped the answer
Every analyst has a story about a bug. I keep mine on display, because the catch matters more than the mistake.
The city's status labels carry invisible trailing spaces: "Under Review " with a space at the end is, to a computer, a different piece of text than "Under Review". My first pass matched the labels exactly, silently dropped 3,799 records, and produced a rezoning result that was upside down. Nothing crashed. No warning appeared. The number simply came out wrong, and confidently so.
What caught it was knowing the subject, not an error message. One intermediate figure put 98% of open rezonings in appeal, and appeals are the exception in planning, not the rule: most open files are simply working through review, and an appeal needs a trigger like a refusal or a missed decision deadline. For 98% to be real, the ordinary review process would have to be empty. The true share, once the dropped records are restored, is 48.5%: high, and interesting, and possible. Tracing that number back exposed the whitespace, and one line of cleaning code fixed it. The chart shows the size of the miss. The lesson I repeat to myself: always check the results that flatter your expectations.
One invisible character flipped this answer upside down
Odds that an open rezoning stays open vs a same-age site plan – first pass vs after stripping whitespace from status labels – the hollow dot is the broken number, and no honest confidence interval exists for it
City of Toronto Development Applications · the bug, the catch, and the fix are documented in the project's REPRODUCE.md
Read chart description
Two estimates of the odds that a rezoning stays open versus a same-age site plan. The broken first pass, which silently dropped 3,799 records because of trailing whitespace in status labels, gave roughly 4.8 times. After the fix the same data and model give 0.44 times, with a 95% confidence interval of 0.40 to 0.49. The answer flipped from more likely to less likely.
The honest fine print
"Closed" in this tracker bundles approvals, refusals, and withdrawals together, so this study measures how long files stay open and never claims an approval rate. A few hundred applications also share obviously administrative dates (308 files "submitted" on a single day in 2020), which I flagged and worked around rather than treated as real.
Technical terms, translated
- Typical age (median)
- Line all the open files up from newest to oldest; the median is the one in the middle. Unlike an average, a few 15-year-old files cannot drag it around.
- The oldest quarter (75th percentile)
- The age that three-quarters of files are younger than. It shows how bad the slow tail is, which a typical value hides.
- Rezoning
- Asking the city to change what a property is allowed to be, like a house lot becoming an apartment site. Contested ones can be appealed to a provincial tribunal.
- Site plan
- The detailed design review of a specific building: driveways, landscaping, servicing. Less often appealed, more often long.
Technical notes
Status mapping, design rationale, model, full queue tables, and sensitivity checks behind the plain-language story above.
Data and status mapping
City of Toronto Development Applications dataset, snapshot July 29, 2026: 25,944 applications across the 2008–2025 submission cohorts, plus every currently active file for the queue statistics. Status strings carry trailing whitespace; the unstripped first pass silently dropped 3,799 records and inverted the rezoning odds ratio (4.8 instead of 0.44). The catch was an appeal share of 98%, which failed a plausibility check. Active statuses: Under Review, the appeal family (Appeal Received, OMB, LPAT, TLAB), Circulated, Application Received, Incomplete, and Amend Draft Plan Application.
Design rationale
The dataset has no decision dates. I describe open status at one snapshot and fit logistic models of that status. Cohort age and calendar period cannot be separated with this snapshot, and status definitions may vary by application type. These are open-status comparisons, not estimates of completion time or a fully identified survival process.
where qi = Pr(application i is still active at the snapshot); application types OZ, SA, SB with site plan as reference (condominium and part-lot files excluded for separation).
| Type | Open files | Median | 75th pct | 90th pct |
|---|---|---|---|---|
| Site Plan | 2,134 | 4.1 | 4.9 | 6.7 |
| Rezoning / OPA | 1,956 | 3.2 | 4.7 | 7.3 |
| Subdivision | 626 | 4.8 | 9.4 | 9.5 |
| Condominium† | 322 | 4.7 | 4.8 | 4.8 |
| Part Lot | 27 | 4.4 | 5.2 | 5.7 |
† Condominium ages cluster at a 2020 administrative batch date, which compresses the percentiles.
| Contrast | OR | 95% CI | p |
|---|---|---|---|
| Rezoning / OPA vs Site Plan | 0.44 | 0.40 to 0.49 | < 0.001 |
| Subdivision vs Site Plan | 7.48 | 6.33 to 8.85 | < 0.001 |
Restricted to rezonings, site plans, and subdivisions; condominium and part-lot files excluded for quasi-separation driven by batch-dated records. Strict sensitivity (active = Under Review only): rezoning OR 0.15, direction unchanged.
| Type | % of open files in appeal statuses | % of all files |
|---|---|---|
| Rezoning / OPA | 54.6% | 8.3% |
| Site Plan | 8.7% | 1.7% |
| Subdivision | 7.1% | 3.5% |
Data-quality notes
308 applications share a single submission date (May 6, 2020), one of several administrative batch dates; medians are robust to this, and the condominium percentiles are visibly shaped by it, which is why that row carries a flag. "Closed" bundles approvals, refusals, and withdrawals, so nothing here is an approval rate. Statuses reflect the City's tracker, which can lag reality.
Reproducibility
Three scripts (get_data.py, run_analysis.py,
make_charts.py) against the Toronto Open Data CKAN API, on pandas
and statsmodels. The dataset refreshes daily, so later snapshots shift the
recent-cohort numbers; the committed results.json pins July 29,
2026, and is the direct source of every number on this page.
References
- City of Toronto. (2026). Development Applications [data set]. City of Toronto Open Data Portal. https://open.toronto.ca/dataset/development-applications/ (snapshot July 29, 2026).
- Jewell, N. P., & van der Laan, M. (2004). Current status data: review, recent developments and open problems. In Advances in Survival Analysis (Handbook of Statistics, Vol. 23). Amsterdam: Elsevier.