Despite not publishing many articles in recent months, I have been busy behind the scenes building tools, gathering results, and refining my processes. After a busy spring and early summer directing my race — Coast to Coaster — and running (and ultimately DNF’ing) at HOTS, I am now ready to begin sharing my findings again. I’ll share more about HOTS in a future race report, but for now, the focus is on new investigations and the tools that will allow me to dig deeper than ever.
Over the past several months, I have developed and automated a process that allows me to analyze large sets of race results efficiently. These improvements will enable me to rely less on reader tips and more on raw data, which has always been the backbone of my investigations.
Step One: Pulling the Results
After nine years of running Marathon Investigation, I am now fully self-sufficient in gathering race results. I have successfully scraped results from all major platforms and have compiled data from races including Los Angeles, London, Boston, Philadelphia, and a variety of smaller marathons.
For this article, I am starting with the 2024 Philadelphia Marathon, which served as the first major test of my fully automated process. The complete set of official results was pulled and prepared for analysis.
Step Two: Flagging Runners
Once results are gathered, the next step is to identify potential issues. I have written a macro to automate much of the initial review. Using parameters I’ve developed over years of investigations, the macro flags runners based on:
- Large negative splits
- Impossibly fast individual segments
- Indicators of potential bib muling
This process narrows thousands of finishers down to a manageable set for deeper review.
Philadelphia Marathon 2024 – Example #1
One of the first flagged runners was Nate, who appears in the official results with a finishing time of 2:41:17.
- Half Marathon Split: 1:59:36
- Finish: 2:41:17
This alone created a large negative split of 41:41, triggering an automated flag. His first-half pace aligns with his historical results, but the second half appears implausibly fast.
The issue became clear when reviewing his intermediate timing:
- He missed the 30K timing mat.
- When he next registered a split at 40K, his cumulative time was 2:29:41.
Covering 13.1 to 40K (~11.75 miles) in 30:05 results in an average pace of 2:34 per mile, which is impossible and strongly suggests a skipped section of the course.
Split Table – Nate
Split | Cumulative Time | Segment Distance | Segment Time | Pace (per mile) | Notes |
---|---|---|---|---|---|
5K (3.1 mi) | 0:27:09 | 3.1 mi | 0:27:09 | 8:45 | Normal pace |
10K (6.2 mi) | 0:55:34 | 3.1 mi | 0:28:25 | 9:10 | Consistent |
15K (9.3 mi) | 1:25:10 | 3.1 mi | 0:29:36 | 9:33 | Consistent |
Half (13.1 mi) | 1:59:36 | 3.8 mi | 0:34:26 | 9:04 | Pace consistent with history |
30K (18.6 mi) | Missing | 5.5 mi | – | – | Missing split |
40K (~24.85 mi) | 2:29:41 | 11.75 mi | 0:30:05 | 2:34 | Impossible pace – flagged |
25.2 mi Checkpoint | 2:32:30 | 0.35 mi | 0:02:49 | 8:03 | Short recovery split |
Finish (26.2 mi) | 2:41:17 | 1.0 mi | 0:08:47 | 8:47 | Unrealistic negative split |
Philadelphia Marathon 2024 – Example #2
Another flagged result came from “Katie”, who officially won her age group with a finishing time of 2:4X:XX.
Edit: I want to clearly call out that ‘Katie’ did not cheat. She was transported by medical staff to the finish area, triggering a result. In fact, Katie has contacted the race multiple times, and they have ignored her.
The below analysis shows how the result was flagged:
- 5K Split: 0:25:03
- 10K Split: 0:50:30
- Finish: 2:4X:XX
“Katie’s” early splits suggest a pace of just over 8 minutes per mile, consistent with an experienced recreational runner. However, she did not register any additional splits after 10K.
From 10K to the finish (a span of 20 miles), she covered the distance in 1:55:11, resulting in an average pace of under 6 minutes per mile.
Her pace would be faster than the Olympic Trials qualifying standard of 5:59/mile, and within 30 seconds per mile of the American women’s marathon record pace (5:17/mile by Emily Sisson).
All this data is presented to question why or how she was ever in the final marathon results.
Split Table – Katie
Split | Cumulative Time | Segment Distance | Segment Time | Pace (per mile) | Notes |
---|---|---|---|---|---|
5K (3.1 mi) | 0:25:03 | 3.1 mi | 0:25:03 | 8:05 | Normal early pace |
10K (6.2 mi) | 0:50:30 | 3.1 mi | 0:25:27 | 8:12 | Consistent |
Half (13.1 mi) | Missing | 6.9 mi | – | – | Missing split |
30K (18.6 mi) | Missing | 5.5 mi | – | – | Missing split |
40K (~24.85 mi) | Missing | 6.25 mi | – | – | Missing split |
Finish (26.2 mi) | 2:4X:XX | 20.0 mi | 1:55:XX | 5:XX | Elite-level pace – flagged |
Step Three: Manual Review
Automation accelerates detection, but final conclusions still require hands-on verification:
- Confirming data accuracy against official results
- Reviewing race photos and finish line videos
- Checking past performances to identify inconsistencies
The Philadelphia review has already produced cases worth deeper investigation. Future articles will share additional examples and follow the manual verification process to its conclusion, including potential photo evidence and historical comparisons.
Working with Races
As I continue to refine these tools, I would like to work directly with more races. My goal is to help identify potential issues before results become official and assist in protecting the integrity of age-group awards and qualifying standards.
I am open to ideas for collaboration to share data, review flagged results, and assist with pre-official analysis. Working together with race organizers would allow potential course-cutting or bib-muling incidents to be addressed quickly and fairly. If you are interested, contact me at results@marathoninvestigation.com
Support Marathon Investigation
If you appreciate this work and want to support continued independent investigations:
Venmo: @marathoninvestigation
PayPal: paypal.me/marathonsleuth
Your contributions help expose race fraud and maintain the integrity of competition.