Part 4 of 6 in The Good Side of 311
Parks and Rec Closes 74.6% of Its 311 Tickets on Time. That Number Is Hiding a Bimodal Operation.
Philadelphia Parks and Rec looks fine on the agency level. Crack it open and street trees tell a different story — fast crew, brutal long wait.
Parks and Recreation closes 74.6% of its 311 tickets on time — on 14,974 closed tickets filed since 2024. That is the second-best rate among the big 311 agencies in the city, behind CLIP at 91.3%. On the dashboard, Parks and Rec looks fine.
The 74.6% is the average of exactly two kinds of tickets Parks and Rec handles. The first is park safety issues — broken benches, fallen trees across a path, holes in the ground, damaged playground fixtures. The second is dead, diseased, or leaning street trees. Both are Parks and Rec operations. They are also very different operations. The chart at the top of this article shows what that means for each kind of ticket. The 74.6% headline is the average of those two shapes, and the average is the part the headline is hiding.
Park safety issues: where Parks and Rec is genuinely good
Park safety is the agency’s catch-all for safety and maintenance issues in parks: a broken bench, a fallen tree across a path, a hole in the ground, a damaged playground fixture. Parks and Rec closes those tickets on time 89.9% of the time on 2,412 closed calls — half inside three weeks, another 36% somewhere in the next five months, the unlucky 10% stretching to about six months. That is a service the department has chosen to staff: slow and mostly fine, with the worst case landing exactly where the city said it would.
Street trees: a fast crew bolted onto a long wait
Street trees is the agency’s biggest workload by five times — 12,562 closed tickets, more than four-fifths of everything Parks and Rec does. A typical call is about a tree that is dead, diseased, or leaning over a sidewalk. Parks and Rec closes those tickets on time 71.5% of the time, and on its face that looks fine.
The chart at the top of this article shows that it is not fine. Park safety is a gradual slope; Street Trees is a tall spike in the first week followed by a long tail of small bars that runs past a year. About six in ten of the tickets close inside a week; about one in ten waits until somewhere around 531 days after the call.
What that shape means in practice. If you call 311 about a street tree, you will not get average service. Your ticket is most likely to close in about two days, or it is most likely to drag past three months. There is not a meaningful middle. About six in ten of those 12,562 street-tree tickets close inside a week; about one in ten is still open eight months later. The 71.5% on the dashboard is the average of those two outcomes — it tells you neither what is likely to happen to your ticket, nor whether the operation is actually working.
The dashboard misses the bimodality by construction. Half the tickets cluster at the fast end and push the on-time rate up; the other half is split between a thin band that closes inside the deadline and a fat tail of tickets that close past it. If the worst 10% of street trees stretched from eight months to sixteen months, the on-time rate would barely move — because the dashboard does not see past the worst 10%. The worst 10% is the measurement the city does not report, and it is the measurement that tells you whether the operation is working.
Why the agency-level number is the wrong number to watch
The 74.6% headline is the average of two operations that have almost nothing in common. Park safety is gradual and reliable; Street Trees is bimodal. The headline lands on 74.6% because Street Trees is five times the size of park safety, so the average pulls toward the Street Trees on-time rate. If the two were equal in size, the headline would land somewhere different — and the right read would land faster. Parks and Rec is two operations inside one agency, and the dashboard does not show which one you would land in.
If you call 311 about a street tree, the median ticket closes in two days. That is what the department is actually running. The other 10% — the part everyone complains about, the part that annoys us as residents of Philly — is not actually representative, on average or on the median, of the department’s real performance, which closes about 90% of its tickets inside a timeline the average Philadelphian would call reasonable.
Where the data comes from
All data is the OpenDataPhilly 311 Service Requests table public_cases_fc, closed-with-SLA cohort of 14,974 Parks-and-Recreation tickets filed 2024-01-01 through mid-2026. Information Request rows are excluded. Genuine (non-null) service_code rows with at least 100 closed tickets are surfaced individually; null-code rows are excluded from per-code metrics and audited separately. The agency-aggregate 74.6% is the volume-weighted average of the per-code on-time rates, which equals the directly-computed closed-with-SLA on-time rate by construction.
Methodology. For each code, the closed-with-SLA cohort is filtered to agency_responsible == "Parks & Recreation" and service_code == "<code>". The on-time rate is the share of those tickets whose closed timestamp falls within the city’s published window (business-day math for Business Days windows, calendar-day math otherwise). The median and worst-10% close times are computed in calendar days. The histogram at the top of the article uses uniform 7-day bins across the year, normalized to the canonical closed-with-SLA n from the parks analysis so the bar totals match the article’s headline figures.
Limitations. The p90 figure is sensitive to long-tail ticket dating — a small number of tickets that have not been closed in many months will dominate the p90 (SR-PR08’s worst cases exceed 250 days; SR-PR01’s worst cases run past 175 days). The closed_datetime field on a stuck ticket is updated when the ticket is closed, so the p90 is computed on tickets that have actually closed in the analysis window. SR-PR08’s 256-day p90 overlaps with the city’s annual pruning cycle, which is the plausible mechanism for the long tail (some tickets wait for the seasonal crew). The dataset does not distinguish a “wait for crew” closure from a “stuck-in-queue” closure; the dashboard reports only the closed timestamp. Per the project’s null-code audit, no Parks-and-Rec null-code rows contribute to the per-code metrics.