When the city sleeps
Different parts of Philly call about different things at 2 AM. The hour-of-day fingerprint of 1278k 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,177 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,228 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 112,429 calls in the window, 5% arrive between midnight and 6 AM — 25% above the citywide rate.
The peak overnight hour is 12 AM (2,061 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 79,868 calls in the window, 9% arrive between midnight and 6 AM — 125% above the citywide rate.
The peak overnight hour is 12 AM (2,662 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 102,479 calls in the window, 8% arrive between midnight and 6 AM — 100% above the citywide rate.
The peak overnight hour is 12 AM (2,570 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,277,513 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,177 | 1,516 | 2,061 | 2,662 | 2,570 |
| 01:00 | 11,353 | 1,056 | 1,197 | 1,693 | 1,763 |
| 02:00 | 8,811 | 894 | 1,007 | 1,358 | 1,451 |
| 03:00 | 5,690 | 600 | 730 | 927 | 981 |
| 04:00 | 3,394 | 333 | 472 | 541 | 568 |
| 05:00 | 2,253 | 193 | 297 | 291 | 364 |
| 06:00 | 1,358 | 111 | 268 | 151 | 213 |
| 07:00 | 1,215 | 136 | 185 | 141 | 201 |
| 08:00 | 1,473 | 173 | 222 | 155 | 231 |
| 09:00 | 2,111 | 228 | 300 | 263 | 383 |
| 10:00 | 4,534 | 640 | 586 | 684 | 902 |
| 11:00 | 9,431 | 1,170 | 1,311 | 1,591 | 1,776 |
| 12:00 | 63,500 | 3,009 | 6,456 | 4,552 | 5,558 |
| 13:00 | 113,981 | 4,002 | 10,209 | 6,880 | 8,367 |
| 14:00 | 135,339 | 4,123 | 11,409 | 7,344 | 9,634 |
| 15:00 | 133,802 | 3,987 | 11,247 | 7,177 | 9,525 |
| 16:00 | 137,058 | 3,741 | 11,446 | 7,003 | 9,613 |
| 17:00 | 134,677 | 3,674 | 10,893 | 6,728 | 9,327 |
| 18:00 | 127,600 | 3,477 | 10,194 | 6,317 | 8,927 |
| 19:00 | 124,097 | 3,528 | 9,916 | 6,086 | 9,083 |
| 20:00 | 95,915 | 3,287 | 8,214 | 5,438 | 7,336 |
| 21:00 | 64,721 | 2,813 | 6,134 | 4,717 | 5,685 |
| 22:00 | 42,823 | 2,443 | 4,195 | 3,816 | 4,353 |
| 23:00 | 33,200 | 2,094 | 3,480 | 3,353 | 3,668 |
| Total | 1,277,513 | 47,228 | 112,429 | 79,868 | 102,479 |
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-05-13).
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.