Tech innovation

65,000 Runners, One CSV: What I learned from the London Marathon 2026 Data

TL;DR

The 4-hour dip is real, the 40-year-olds are winning, and 85% of us fall off a pacing cliff. I scraped 66 pages of race results to find the stories hiding in the numbers.

The Psychology of Round Numbers

The "4-hour dip" is a fascinating statistical anomaly. When looking at the finish time histogram, there is a notable drop right at the 4:00 mark before the bars surge back up at 4:15.

Why? Runners sacrifice their pacing strategy chasing that round-number target. They either barely squeak under it with a massive final effort or, more commonly, "blow up" around mile 20 trying to hold a pace their training didn't support.

The Efficiency of Experience

The data proves that 40-44 year olds are the true masters of the distance. While the 18-39 age group has a median of 4:24:55, the 40-44 cohort clocks in at 4:20:22—nearly 5 minutes faster.

This isn't just about raw speed; it's about pacing discipline. Younger groups have sharper distribution peaks but longer tails of blow-ups. Experienced runners in their prime manage their metabolic "matches" far better over the 26.2 miles.

💡 Tech Note

I utilized a custom Python scraper to gather this data from the TCS results portal. Analyzing the Z-distribution for each group allowed us to identify true outliers—like John Fanshawe (80+), who finished in a remarkable 4:07:16.

The Universal Wall

Almost nobody negative splits. 85.5% of runners run their second half slower than their first. This figure climbs to a staggering 97.7% for the 65-69 age group.

However, there is a stark divide between the average field and sub-3 hour runners:

  • Sub-3h Runners: Median fade of just 2.5 minutes (3.1% slower). 16.5% actually negative split.
  • Average Field: Median fade of 16 minutes (12.7% slower).

The Outlier Spotlight

The 80+ group contained only 23 finishers, but the performance at the top was genuinely remarkable. John Fanshawe (GBR) finished in 4:07:16 with a half-split of 2:02:21. That is extraordinary pacing discipline, losing only 2:34 in the second half. 3,000 Push-ups for Cancer Research: A 30-Day Journey | Lab Notes | Mou Wong @ PhysioNearby

Case study

3,000 Push-ups for Cancer Research: A 30-Day Journey

TL;DR

In April 2026, I committed to 100 push-ups every single day to raise funds for cancer research. Beyond the donation goal, this challenge provided a unique data set on physical adaptation and the importance of clinical consistency.

The Mission

Cancer research remains one of the most critical frontiers in modern medicine. To support the ongoing work of dedicated researchers, I decided to leverage a physical challenge to drive awareness and donations. 100 push-ups a day, for 30 days.

The Physical Toll & Adaptation

As a physiotherapist, I was curious about the mechanical load this would place on the glenohumeral joint and the triceps. The first 500 reps were the hardest; muscle soreness (DOMS) peaked on day 4.

  • Weeks 1-2: Focus on form and joint preservation. High frequency of shoulder mobility drills.
  • Weeks 3-4: Muscle endurance improved significantly. Reps were completed in fewer, larger sets.
💡 Clinical Insight

When performing high-volume push-ups, the risk of subacromial impingement increases if the scapula isn't properly controlled. I maintained a slight "elbows-in" position to protect the rotator cuff.

Consistency Data

I tracked the time of day each session was completed. Mornings proved to be the most successful for consistency, while sessions pushed past 8 PM saw a 15% decrease in rep speed.

By Day 30, the total volume reached 3,000 push-ups.

Final Impact

Thanks to the community, we surpassed our fundraising goal. These funds go directly toward clinical trials and research initiatives aimed at early detection and treatment.

Want to support the cause?

The challenge may be over, but the research continues. You can still donate or learn how to start your own fundraising challenge.

Get Involved

Explore the Raw Data

I've prepared the Python scripts for this analysis in the Lab repo. You can run your own queries on pacing variability and nation-based leaderboard comparisons.

Get the Analysis Code