Saturday, August 2, 2025
HomeUncategorizedPhiladelphia Marathon Investigation: How Automated Tools Expose Innacurate Results

Philadelphia Marathon Investigation: How Automated Tools Expose Innacurate Results

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

SplitCumulative TimeSegment DistanceSegment TimePace (per mile)Notes
5K (3.1 mi)0:27:093.1 mi0:27:098:45Normal pace
10K (6.2 mi)0:55:343.1 mi0:28:259:10Consistent
15K (9.3 mi)1:25:103.1 mi0:29:369:33Consistent
Half (13.1 mi)1:59:363.8 mi0:34:269:04Pace consistent with history
30K (18.6 mi)Missing5.5 miMissing split
40K (~24.85 mi)2:29:4111.75 mi0:30:052:34Impossible pace – flagged
25.2 mi Checkpoint2:32:300.35 mi0:02:498:03Short recovery split
Finish (26.2 mi)2:41:171.0 mi0:08:478:47Unrealistic 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

SplitCumulative TimeSegment DistanceSegment TimePace (per mile)Notes
5K (3.1 mi)0:25:033.1 mi0:25:038:05Normal early pace
10K (6.2 mi)0:50:303.1 mi0:25:278:12Consistent
Half (13.1 mi)Missing6.9 miMissing split
30K (18.6 mi)Missing5.5 miMissing split
40K (~24.85 mi)Missing6.25 miMissing split
Finish (26.2 mi)2:4X:XX20.0 mi1:55:XX5:XXElite-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.

RELATED ARTICLES

Most Popular