When the city sleeps
Different parts of Philly call about different things at 2 AM. The hour-of-day fingerprint of 1297k 311 calls since 2024, neighborhood by neighborhood.
Philadelphia's 311 calls don't arrive evenly through the day. Looking at the citywide pattern, only 4% of calls land between midnight and 6 AM. The chart on the right shows the full 24-hour distribution.
The peak overnight hour citywide is 12 AM (19,204 calls); morning ramps up sharply around 11 AM as the city wakes up and starts noticing things. The shape is what you'd expect — but it's a citywide *average*, and averages hide the texture.
Now we fly to Center City. The map zooms in; the sparkline morphs to this neighborhood's 24-hour distribution. Of 47,606 calls in the window, 10% arrive between midnight and 6 AM — 150% above the citywide rate.
The peak overnight hour is 12 AM (1,516 calls). Whether that's noise, dumping, or something else — the chart can't say; it can only point at which hour something woke a resident up enough to file a 311.
Now we fly to North Philly. The map zooms in; the sparkline morphs to this neighborhood's 24-hour distribution. Of 114,150 calls in the window, 5% arrive between midnight and 6 AM — 25% above the citywide rate.
The peak overnight hour is 12 AM (2,063 calls). Whether that's noise, dumping, or something else — the chart can't say; it can only point at which hour something woke a resident up enough to file a 311.
Now we fly to South Philly. The map zooms in; the sparkline morphs to this neighborhood's 24-hour distribution. Of 80,570 calls in the window, 9% arrive between midnight and 6 AM — 125% above the citywide rate.
The peak overnight hour is 12 AM (2,664 calls). Whether that's noise, dumping, or something else — the chart can't say; it can only point at which hour something woke a resident up enough to file a 311.
Now we fly to Northeast Philly. The map zooms in; the sparkline morphs to this neighborhood's 24-hour distribution. Of 103,777 calls in the window, 7% arrive between midnight and 6 AM — 75% above the citywide rate.
The peak overnight hour is 12 AM (2,573 calls). Whether that's noise, dumping, or something else — the chart can't say; it can only point at which hour something woke a resident up enough to file a 311.
Citywide · 1,297,473 calls · since 2024-01-01
12 AM 6 AM noon 6 PM 11 PM
View underlying data
24-hour call counts per neighborhood. Each column is one beat in the story.
| Hour | Citywide | Center City | North Philly | South Philly | Northeast Philly |
|---|---|---|---|---|---|
| 00:00 | 19,204 | 1,516 | 2,063 | 2,664 | 2,573 |
| 01:00 | 11,377 | 1,061 | 1,198 | 1,695 | 1,764 |
| 02:00 | 8,828 | 897 | 1,008 | 1,358 | 1,451 |
| 03:00 | 5,706 | 600 | 731 | 927 | 984 |
| 04:00 | 3,401 | 333 | 472 | 541 | 568 |
| 05:00 | 2,256 | 193 | 298 | 291 | 364 |
| 06:00 | 1,361 | 111 | 268 | 151 | 213 |
| 07:00 | 1,220 | 136 | 185 | 141 | 201 |
| 08:00 | 1,477 | 173 | 222 | 155 | 231 |
| 09:00 | 2,124 | 229 | 301 | 263 | 383 |
| 10:00 | 4,554 | 640 | 587 | 686 | 902 |
| 11:00 | 9,480 | 1,171 | 1,313 | 1,594 | 1,782 |
| 12:00 | 65,096 | 3,040 | 6,603 | 4,610 | 5,675 |
| 13:00 | 115,922 | 4,041 | 10,372 | 6,948 | 8,473 |
| 14:00 | 137,532 | 4,168 | 11,635 | 7,410 | 9,776 |
| 15:00 | 136,090 | 4,021 | 11,449 | 7,264 | 9,640 |
| 16:00 | 139,256 | 3,784 | 11,606 | 7,075 | 9,750 |
| 17:00 | 136,966 | 3,708 | 11,080 | 6,808 | 9,466 |
| 18:00 | 129,748 | 3,510 | 10,355 | 6,385 | 9,080 |
| 19:00 | 126,309 | 3,577 | 10,113 | 6,161 | 9,203 |
| 20:00 | 97,123 | 3,306 | 8,333 | 5,472 | 7,438 |
| 21:00 | 65,494 | 2,833 | 6,203 | 4,755 | 5,758 |
| 22:00 | 43,280 | 2,453 | 4,239 | 3,839 | 4,388 |
| 23:00 | 33,669 | 2,105 | 3,516 | 3,377 | 3,714 |
| Total | 1,297,473 | 47,606 | 114,150 | 80,570 | 103,777 |
Data Sources
Primary dataset: Philadelphia 311 service-and-information requests (public_cases_fc) via phl.carto.com. All categories combined, calls since 2024-01-01. Frozen at deploy (2026-06-02).
Queries: citywideHourOfDaySql('2024-01-01') for the citywide beat, plus byHourOfDayForZipsSql(zips, '2024-01-01') for each of the four neighborhood
beats (Center City, North Philly, South Philly, Northeast Philly). Defined in src/lib/data/datasets/philly-311.ts.
Neighborhood → zip lookup: src/lib/data/static/philly/zip-to-neighborhood.json.
Methodology & caveats: Per-beat zip lists are aggregated server-side
so each neighborhood's hour distribution averages across its constituent zips, not any
single zip's idiosyncrasy. "Overnight" = midnight to 6 AM (hours 0–5 inclusive); peak
hours come from peakInRange over the same dense 24-hour array shown in the
sparkline. Map flyTo respects prefers-reduced-motion via maplibre-gl's built-in
reduce-fallback.