Berlin Chicago London Tokyo NYC Boston Six Majors. Six Courses. Not Equal. Quantifying course difficulty across the World Marathon Majors

Jeremy Lee  ·  May 2026  ·  github.com/lyhjeremy

When an elite runs 2:02 in Berlin versus 2:05 in Boston, how much of the gap is the runner and how much is the course? Boston times don’t count for record purposes — but they’re how Boston runners measure themselves against runners in other cities. To compare an athlete’s personal bests across courses, you need a defensible scale.

This article quantifies course difficulty across the six World Marathon Majors using three independent analytical frameworks. The headline answer: Boston is the hardest, slower than Berlin by 101 seconds for an equivalent runner. NYC is second at +78s. Berlin, Chicago, London, and Tokyo cluster within 35 seconds of each other.

+101s
Boston vs Berlin
+78s
NYC vs Berlin
42,567
Paired observations

1. The three frameworks

We define course difficulty operationally: the expected time penalty (in seconds) an elite runner pays to run this course versus a flat, sea-level course in optimal weather. Three independent frameworks:

F1 — Elevation/grade-adjusted (Minetti)

Integrate Minetti's (2002) energy-cost-of-running curve over each course's gradient distribution. Predicts that Boston, with its 136m net descent, should be faster than a flat course. We report this honestly: Frameworks 2 and 3 override it.

F2 — Within-runner paired comparison (the cleanest)

For every athlete who ran two different Majors within 18 months, compute the time delta. Fit per-course offsets with Berlin = 0. Bootstrap 2,000 times for 95% CIs. This is the gold-standard framework because it controls for athlete ability without any course physics assumption.

F3 — Weather-normalized top-10 average

Top-10 average finish time per (course, year, gender), divided by a Maughan / El Helou weather penalty multiplier, averaged across 2015–2024, anchored to Berlin = 0. Independent of F2 in aggregation; shares only the weather curve.

2. What the data show

Raw top-100 finish times per Major
Figure 1. Raw top-100 elite finish times per Major, 2015–2024. Boston and NYC sit visibly higher; Berlin and Chicago at the floor.
Within-runner course-pair forest plot
Figure 2. Mean within-runner time delta for each of the 15 course pairs, 95% bootstrap CI. n = 42,567 paired observations.

The within-runner framework is unambiguous: Boston +101s, NYC +78s, London +31s, Tokyo +21s, Chicago +11s, Berlin (baseline). The Boston vs NYC gap is statistically clean — their CIs do not overlap.

Year-by-year weather-adjusted winning times
Figure 3. Weather-normalized winning time by Major (men, 2015–2024). Boston (red) and NYC (orange) sit above the rest; Berlin (green) consistently at the bottom.

3. The headline: Course Difficulty Index

Combine all three frameworks into a Course Difficulty Index (CDI) anchored at Berlin = 1.000:

CDI = 0.15 × F1 + 0.50 × F2 + 0.35 × F3

Framework 2 gets the heaviest weight because it's the cleanest. Framework 1 is down-weighted because the Minetti model can't see late-race fatigue.

Course Difficulty Index ranking
Figure 4. Course Difficulty Index — composite ranking (Berlin = 1.000). Error bars from F2's bootstrap CI.
RankCourseF1F2F3CDIvs Berlin
1 Berlin 1.0000 1.0000 1.0000 1.0000 +0s
2 Chicago 0.9996 1.0015 1.0015 1.0012 +9s
3 Tokyo 0.9979 1.0027 1.0022 1.0018 +14s
4 London 1.0005 1.0039 1.0038 1.0034 +26s
5 NYC 1.0020 1.0100 1.0103 1.0089 +69s
6 Boston 0.9885 1.0129 1.0128 1.0092 +72s

4. Three findings that survive every framework

Finding 1 — Boston is the hardest Major.

F2: +101s. F3: +100s. F1 disagrees and predicts Boston should be net-fast. The disagreement is the story: the Newton hills bite empirically in ways the elevation model can't predict from the gradient profile alone.

Finding 2 — Chicago and Berlin are statistically very close.

The F2 difference is +11s with a 95% CI of [+9, +14]s. Detectable at n = 2,808 direct pairs, but well below race-day weather variance. Practically interchangeable.

Finding 3 — Weather dominates within-course year-over-year change.

Berlin 2022 (18°C) and London 2018 (23.5°C) each saw weather-adjusted slowdowns of 60–120s — larger than the average gap between Berlin and Tokyo (17s).

5. Cross-framework view

Cross-framework heatmap
Figure 5. Difficulty multiplier by course × framework. Boston's F1 cell is the only one that disagrees: Minetti predicts Boston should be faster than Berlin.

6. Sensitivity — does the ranking hold?

We stress-tested the CDI against three perturbations: drop Framework 1 entirely; restrict Framework 2 to sub-2:10 men; substitute a Strava-GAP-style elevation model.

Sensitivity analysis
Figure 6. CDI under four assumption sets. The ordinal ranking — Boston > NYC > London > Tokyo > Chicago > Berlin — is invariant.

7. Beyond the six — Sydney and Cape Town

Sydney joined the Majors in 2025; we don't yet have paired-runner data for it. The extension below uses Framework 1 (elevation) only.

Extended ranking
Figure 7. Headline ranking extended to Sydney and Cape Town (hatched bars, F1 only). Both slot between Tokyo and NYC on the elevation prediction.

8. The takeaway

The six World Marathon Majors are not equally fast. If you ran 2:08 in Boston, the equivalent Berlin effort is about 2:06 — almost two minutes faster, for the same physiological work. If you ran 2:08 in Chicago, the equivalent Berlin time is 2:07:49, and the two are practically interchangeable. For most readers ranking their personal bests across Majors, this is the missing scale.

Full code, data, methodology, and reproducibility instructions live at github.com/lyhjeremy/marathon-majors-course-difficulty. The analysis runs end-to-end from python src/analysis.py in under 90 seconds.