The seasonal city
Two categories define Philly's 311 winter — Salting and Shoveling, both literally 100% winter. Almost everything else peaks in summer.
The story this story was originally going to tell — that Philadelphia's 311 line lights up in a January cold snap with heating complaints and burst-pipe reports — turns out not to be a story the data supports. Heat, gas, and water-main calls don't go through 311 at all; they route directly to the utilities (PGW for gas, PWD for water). What the 311 dataset actually has, on the cold-weather side, is two categories: Salting and Shoveling. Both are literally 100% winter — they don't get filed in any other season because there's nothing to salt or shovel.
The two-category winter
Here are Salting and Shoveling, week by week, since 2022-01-01. The peaks line up with the snow events that residents actually called the city about. They're sparse: most weeks of the year have zero calls in either category.
Salting
peaks January · 18,434 total
Shoveling
peaks January · 6,568 total
The much wider summer
The other side of the calendar is busier and broader. 6 categories with strong summer signals are below: Street Trees, Parks and Rec Safety and Maintenance, Maintenance Complaint, Dangerous Sidewalk, Illegal Dumping, Sanitation Violation. None of them are entirely summer (people still call in February), but the warm-weather swell is clearly visible in each weekly sparkline.
Street Trees
peaks August · 18,980 total
Parks and Rec Safety and Maintenance
peaks August · 10,015 total
Maintenance Complaint
peaks August · 149,861 total
Dangerous Sidewalk
peaks July · 13,778 total
Illegal Dumping
peaks July · 95,985 total
Sanitation Violation
peaks July · 27,939 total
The seasonal flip, ranked
Across all 311 categories with at least 5,000 calls since 2022-01-01, here's the share of each category's year that falls in meteorological summer (June, July, August). A bar at 25% is a flat year — calls evenly spread across all four seasons. Anything above ~28% is summer- leaning. Salting and Shoveling sit at 0% (they're both shown as zero-width bars at the bottom); Street Trees lands at the top of the list.
seasonal share · since 2022-01-01 · categories with > 5K calls
Share of each category's calls in June–August
- Street Trees42.9%
- Parks and Rec Safety and Maintenance35.6%
- Maintenance Complaint35.1%
- Dangerous Sidewalk33.2%
- Illegal Dumping31.1%
- Sanitation Violation30.5%
- Rubbish/Recyclable Material Collection30.5%
- Inlet Cleaning30.2%
- Homeless Encampment Request30.0%
- Right of Way Unit28.3%
- Dangerous Building Complaint28.2%
- Fire Safety Complaint27.0%
- License Complaint26.3%
- Construction Complaints25.9%
- Abandoned Vehicle25.8%
- Street Light Outage25.5%
- Alley Light Outage25.4%
- Traffic (Other)24.9%
- LI Escalation24.8%
- Other (Streets)24.7%
- Graffiti Removal24.2%
- Traffic Calming Request23.8%
- Street Defect23.2%
- Information Request21.7%
- Traffic Signal Emergency21.2%
- Smoke Detector19.4%
- Salting0.0%
- Shoveling0.0%
A perfectly flat-year category would land at 25% (one quarter of the calendar). The median-volume row also shows its winter share for comparison: see the table below.
Show winter share alongside summer share
| category | winter | summer | total |
|---|---|---|---|
| Street Trees | 14.2% | 42.9% | 18,980 |
| Parks and Rec Safety and Maintenance | 15.8% | 35.6% | 10,015 |
| Maintenance Complaint | 17.3% | 35.1% | 149,861 |
| Dangerous Sidewalk | 15.9% | 33.2% | 13,778 |
| Illegal Dumping | 20.4% | 31.1% | 95,985 |
| Sanitation Violation | 20.6% | 30.5% | 27,939 |
| Rubbish/Recyclable Material Collection | 27.1% | 30.5% | 135,614 |
| Inlet Cleaning | 18.8% | 30.2% | 12,358 |
| Homeless Encampment Request | 18.0% | 30.0% | 9,121 |
| Right of Way Unit | 20.6% | 28.3% | 8,221 |
| Dangerous Building Complaint | 20.0% | 28.2% | 10,330 |
| Fire Safety Complaint | 23.4% | 27.0% | 7,295 |
| License Complaint | 18.8% | 26.3% | 22,788 |
| Construction Complaints | 20.8% | 25.9% | 29,749 |
| Abandoned Vehicle | 22.7% | 25.8% | 127,534 |
| Street Light Outage | 27.5% | 25.5% | 55,395 |
| Alley Light Outage | 22.4% | 25.4% | 10,411 |
| Traffic (Other) | 21.0% | 24.9% | 15,567 |
| LI Escalation | 25.1% | 24.8% | 15,723 |
| Other (Streets) | 24.2% | 24.7% | 28,856 |
| Graffiti Removal | 25.2% | 24.2% | 54,032 |
| Traffic Calming Request | 24.7% | 23.8% | 5,829 |
| Street Defect | 24.4% | 23.2% | 68,336 |
| Information Request | 25.9% | 21.7% | 1,331,469 |
| Traffic Signal Emergency | 28.9% | 21.2% | 21,629 |
| Smoke Detector | 29.1% | 19.4% | 14,833 |
| Salting | 100.0% | 0.0% | 18,434 |
| Shoveling | 100.0% | 0.0% | 6,568 |
Two readings of the same chart
There are two honest ways to read the warm-weather swell. The first is straightforward: when the weather is warmer, more people are outside, more outdoor problems become visible (downed branches, cracked sidewalks, dumped tires), and so more calls get filed. The second is a methodology footnote dressed up as a story: more people outside also means more callers, independent of any change in conditions. Both are true, and neither alone explains the pattern. The chart shows what the city's call rhythm looks like — not, by itself, what its underlying-conditions rhythm looks like.
Data Sources
Primary dataset: Philadelphia 311 service-and-information requests (public_cases_fc) via phl.carto.com. Restricted to calls since 2022-01-01. Frozen at deploy (2026-05-13).
Queries: weeklyByCategorySql(ALL_CATEGORIES, '2022-01-01') for the per-category weekly
sparklines (winter + summer panels) and seasonalShareSql('2022-01-01') for the
bottom ranking. The category lists (WINTER_CATEGORIES, SUMMER_CATEGORIES) are constants in +page.server.ts picked from a
probe of all categories with >5K calls since 2022-01-01. SQL builders live in src/lib/data/datasets/philly-311.ts.
Methodology & caveats: "Summer" = June–August; "winter" =
December–February (meteorological seasons). Salting and Shoveling at 0% summer share comes
straight from seasonalShareSql's output. For the full caveat list, see how we read the data.