Thought 012 · Interactive · 9 min · August 9, 2026
The marathon gets the city moving
Not just the runners. Around the visible course, Chicago builds a second one out of trains, bike docks, and neighborhoods in motion.
A public-data field study of Chicago Marathon day, 12 October 2025.
At six in the morning, Chicago’s bike network was running at eight times a normal October Sunday. By eleven, the center of activity had swung south. By three, it had climbed back toward the finish.
The marathon was not one event moving through one city. It was a sequence of different cities: visitors leaving the hotel district in the dark, neighborhoods turning out at very different rates, and spectators discovering that a bike cannot outrun a marathoner through race-day streets.
The shape is easier to see than to describe. Move the clock.
Prologue · The whole system
Ticket to ride
Count every L entry and every Divvy trip as one ride. Chicago logged 500,949 of them on marathon Sunday—2.24 times a normal October Sunday.
+276,957 rides across the two networks
Chapter 1 · The living course
The race moves. The city moves around it.
One line is fixed: the 26.2-mile course. Around it, Divvy activity shifts hour by hour. Move the clock to watch the city’s response swing south and back.
See the exact neighborhood counts
| Neighborhood band | Marathon day | Normal Sunday | Multiple | Casual riders |
|---|
Chapter 2 · The underground surge
The L moved the larger wave
These data show two networks responding to the same event, not one connected system. Divvy activity spread at the neighborhood level; rail activity concentrated at stations across the city.
2.27×the entries of a normal October Sunday
See the largest station changes
| Station | Neighborhood | Marathon day | Normal Sunday | Additional | Multiple |
|---|
One event · two networks
Divvy is the roots. The L is the trunk.
The analogy is structural, not a transfer claim. Divvy activity spread through neighborhood docks; L activity concentrated at fewer stations across the city.
The parallel patterns do not show that the same people used both networks.
Local movement, visible by the hour
Many docks show the wave forming before dawn, shifting south through late morning, then returning toward the finish.
Citywide volume, visible by station
Fewer fixed stops show where the larger full-day surge concentrated—but daily data cannot show when it arrived.
Chapter 3 · Movement meets friction
Do not chase the race
The median course-to-course Divvy trip moved more slowly than a runner holding a ten-minute mile. Closed streets and crowds turn the shortest bike hops into walking pace.
The missing Plan B
Don’t go chasing waterfalls
The Divvy station most likely to strand you is not merely busy. Departures are outrunning arrivals, and the next Divvy station may be a long walk away.
If you are the one watching
One long move beats a day of short chases. Let the course do most of the traveling.
Start
Grant Park
See the start, then walk two blocks into the Loop.
One long move
Pilsen and Chinatown
Go south once in mid-morning, when the crowd and the course meet near mile 21.
Return
The finish
Head north again after noon. Let the course do most of the traveling.
Memeifying the data · The so what
The marathon does not stop Chicago. It reorganizes it.
The visible race is 26.2 miles long. Around it, a second course begins before the gun, shifts through neighborhoods, and keeps moving after the finish.
Four ideas worth carrying into Chicago’s next big day.
-
Fascination
The second course starts first.
At 6:00 a.m.—90 minutes before Wave 1—Divvy starts were already 8.02 times normal. The city’s mobility response was underway before the first runners crossed the start.
-
Take note
The event is larger than the course.
Chicago recorded 500,949 L entries and Divvy trips on marathon Sunday—2.24 times a normal October Sunday. These are activity events, not unique people.
-
Inquire
Where do the networks actually meet?
The L and Divvy changed along similar neighborhood chains, but these data cannot show whether the same people used both. Hourly rail data would reveal whether their demand waves aligned; transfer data would be needed to show a true handoff.
-
Take action
Plan the wave—and the missing Plan B.
Treat the marathon as moving demand, not only a street closure. Staffing, signage, service, and bike rebalancing should follow that wave while prioritizing places where the next Divvy option is far away.
What this can and cannot say
Ticket to Ride adds CTA station entries and valid Divvy trips. It measures rides and boardings rather than unique people; transfers, return trips, and people using both systems can appear more than once.
This measures bike-borne activity, not attendance. Someone who walks out a front door in Lakeview is invisible here; someone who rides seventeen minutes toward Chinatown is not. Geography and enthusiasm cannot be fully separated.
Roughly a fifth of Divvy rides carry no dock name because bikes locked to street racks have deliberately blurred coordinates. Station-level views describe only the docked part of the system.
The dashboard compares 12 October 2025 with the other three October Sundays in 2025. To keep the map legible, it shows the busiest 24 stations on phones and 32 on larger screens in each selected hour. The center-of-activity point uses stations whose full-day volume exceeded twice their own Sunday norm.
The depletion view sums departures minus arrivals in fifteen-minute intervals from 4:00 a.m. through 3:59 p.m., then measures the straight-line distance to the nearest other Divvy station active in October 2025. It does not count the L or buses as alternatives. Because starting inventory and dock capacity are unavailable, it identifies pressure and bike-network isolation—not an observed empty dock.
The L chapter compares daily station entries on marathon Sunday with the mean of the other three October Sundays. CTA publishes entries, not exits, and no hourly detail in this dataset; the map shows where riders entered the system over the full day, not where they got off or when they traveled.
How this was made
Ride records come from Divvy System Data, Chicago’s public archive. The 2025 race day and its three comparison Sundays were queried locally in DuckDB; the browser receives only compact, precomputed summaries.
Rail entries come from the City of Chicago’s CTA daily station totals; coordinates and line identities come from its L stop directory. Map context comes from the city’s tourism neighborhood reference, whose boundaries are approximate and names unofficial. The current 2025 counts include CTA’s later ridership revisions.
The course line uses a published 2025 GPX trace, checked against the organizer’s official 2025 course map. The 7:30 a.m. Wave 1 start used in the before-the-gun comparison comes from the organizer’s published race-day timeline.
The existing marathon analysis and long-form page supplied the questions, checks, and underlying findings. This interactive version was reshaped and built with OpenAI Codex on August 9, 2026, using a GPT-5-class coding model; the product did not expose a more specific serving identifier. Codex generated the additional hourly, depletion-risk, and rail-comparison analysis and the interface code. The final editorial judgment remains mine.