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.

Normal Sunday L  207,823Bike  16,169 223,992 total
Marathon Sunday L  471,451Bike  29,498 500,949 total

+276,957 rides across the two networks

One CTA station entry or one valid Divvy trip counts as a ride. These are activity events, not unique people: transfers, return trips, and people using both systems can be counted more than once. Normal Sunday is the mean of October 5, 19, and 26, 2025.

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.

6:00 a.m.
Route-side activity centerNormal October SundayClick the line or use the time control.
Marathon courseDivvy starts, this hourActivity center Only the layers that move this chapter: the fixed course, the busiest Divvy stations in the selected hour, and their route-side center. Circle area reflects ride starts; deeper clay marks stations running at least twice their normal hour.
See the exact neighborhood counts
Ride starts at 6:00 a.m.
Neighborhood bandMarathon dayNormal SundayMultipleCasual 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

Normal Sunday207,823
Marathon Sunday471,451
Circle area represents additional entries above the mean of the other three October Sundays. Faint outlines and labels use Chicago’s tourism neighborhood reference; the city describes those boundaries as approximate and unofficial. This is a daily entry map: it contains no exits and no time of day.
See the largest station changes
Top twenty stations by additional marathon-day entries.
StationNeighborhoodMarathon dayNormal SundayAdditionalMultiple

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.

Divvy · roots29,498 trips · 1.82× normal

Local movement, visible by the hour

Many docks show the wave forming before dawn, shifting south through late morning, then returning toward the finish.

The L · trunk471,451 entries · 2.27× normal

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.

Upper right is the Divvy double bind: stronger outward pressure and no nearby Divvy fallback. Distance is straight-line between bike stations, not walking distance. L stations and buses are not included. This is a depletion-risk proxy, not proof that a dock was empty; trip records contain no inventory snapshots.

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

← Back to Thoughts