Data analysis — Boston Marathon 2022 + 2023 + 2025

How runners actually race Boston — and why many of them get it wrong.

67,667 runners across 3 April editions. Groups identified by Gaussian Mixture Models — the data decides the number and boundaries, not the analyst.

67,667
runners analyzed
3 yrs
2022 + 2023 + 2025
GMM
data-driven groups
R²≈0.58
Seg.1 predicts Seg.4

Outliers removed (>15% single segment deviation). Median values. Groups: GMM with BIC-optimal k per bucket. Ideal: Runners Connect grade-adjusted formula (+13 sec/mi per 1% uphill, −8 sec/mi downhill).

The reference lines

Ideal, Controlled, Blowup

Two groups where the data supports it. One group where it doesn't.

Ideal

The engineering benchmark

Not a group of runners. The grade-adjusted optimal pace per segment from the official Boston elevation profile. Seg.1 ideal is already faster than goal pace (downhill). Seg.2 ideal is exactly goal pace (flat).

Controlled (GMM lower component)

The well-paced group

Where GMM finds k=2, this is the lower positive split cluster (typically 62–79%). Defining trait: they run Seg.1 slower than the grade-adjusted ideal — deliberately leaving speed on the table.

Blowup (GMM upper component)

The over-paced group

The upper GMM component. Present at 2:35–3:30 and 3:45 where the distribution is genuinely bimodal. Above 3:30 most buckets show k=1: everyone fades, just by degree.

The course

4 segments — 4 different races

The course profile is fixed. Whether you respect it is not.

1
Segment 1
The downhill trap
0→10 km · −91 m0→6.2 mi · −299 ft
Ideal: already faster than goal pace

The grade-adjusted ideal accounts for the descent and prescribes a pace already faster than goal. The best-paced group (GMM controlled) still runs it slower than even that adjusted ideal. The blowup group runs 6–10 sec/km faster than the ideal — taking more than the hill gives.

2
Segment 2
The flat that isn't neutral
10→25 km · ±0 m6.2→15.5 mi · ±0 ft
Ideal: exactly goal pace

Flat terrain. No elevation excuse. Yet the median runner at 2:40 runs this segment 3.4 sec/km faster than the ideal — a larger gap than Seg.1. The blowup group is 7–9 sec/km faster than ideal through Wellesley. The deviation from benchmark is bigger here than on the downhill.

3
Segment 3
Newton Hills
25→35 km · +58 m15.5→21.7 mi · +190 ft
Ideal: slower than goal

The most physically constrained segment. 91% of runners run it slower than their own average. The controlled group holds near ideal. The blowup group exceeds ideal by 6–12 sec/km. At slower paces (3:30+), Seg.3 becomes the dominant source of the positive split.

4
Segment 4
Where it all shows
35→42.2 km · −38 m21.7→26.2 mi · −125 ft
Ideal: faster than goal

Net downhill. The grade-adjusted ideal prescribes a pace faster than average. The controlled group runs near ideal — Boylston is the reward. The blowup group runs 13–20 sec/km slower than ideal. The most variable segment (sd=9.7 sec/km): the biggest spread of any part of the course.

Interactive analysis

How your bucket actually races

Groups are GMM-identified. k=2 where bimodal, k=1 where unimodal.

-runners in this bucket

Cumulative splits

Pace per segment — ideal vs groups

Effort distribution

Ideal Controlled Blowup

Delta vs grade-adjusted ideal (sec/km)

Negative = faster than ideal. Positive = slower.

Ideal vs actual pace

Lower = faster.

Median pace per segment — groups + ideal

Lower = faster.

Positive split by group

Median positive split per GMM component.

% negative split — all buckets

Negative split = 2nd half faster. Rare at Boston.

Seg.1 delta vs ideal — all buckets

Negative = faster than ideal. Green = controlled/overall, red = blowup (where k=2).

Seg.4 delta vs ideal — all buckets

Where the Seg.1 decision is paid back.

Key findings

What the data actually shows.

Findings that hold regardless of how groups are defined.

Seg.1 & 2

Both early segments deviate from benchmark — Seg.2 more than Seg.1

The grade-adjusted ideal already prescribes a faster-than-goal pace for Seg.1 (downhill) and exactly goal pace for Seg.2 (flat). The median runner still runs Seg.2 at −3.4 sec/km vs ideal — a larger gap than Seg.1 (−1.3 sec/km). On flat terrain with no elevation excuse, the deviation from benchmark is larger. The blowup group runs both segments 7–9 sec/km faster than ideal. The controlled group is the only one that runs Seg.1 slower than the grade-adjusted ideal.

k=2

Two genuine groups at 2:35–3:30

GMM (BIC-optimal) identifies two natural components in the positive split distribution from 2:35 through 3:30. Above 3:30, most buckets show k=1: a single unimodal distribution. No meaningful subgroup to separate.

21–38%

Real blowup rate: not a fixed 33%

Where GMM finds k=2, the blowup component is 21–38% of runners. The controlled group is 62–79%. These are data-driven proportions that vary by bucket — not a tautological output of a percentile split. Both groups end up at nearly the same total time vs ideal (−8 to −11s net). The difference is in how that time is distributed across segments.

About

The engineer behind the data

Fabio
Fabio
@runningengineer · YouTube

I'm Fabio, an Italian engineer in Zurich, father and marathon runner. Engineering approach to running. Let's go!

Methodology

How the analysis works

1 — Data

Official BAA chip timing results for April 2022, 2023, and 2025 (79,866 total finishers). 2021 excluded: October edition, 62°F, high humidity — median positive split 8.5 min vs 4.4–6.5 min in April editions. 2024 excluded: 69°F + headwind — positive splits nearly double (e.g. men 2:50: +2:49 in 2023 vs +6:23 in 2024).

2 — Outlier removal

Runners with any segment deviation >15% from own average removed (chip errors, medical stops). 14.3% overall. Median values throughout — robust to right-skewed positive split distributions.

3 — Ideal pacing (grade-adjusted)

Runners Connect formula: +13 sec/mi per 1% uphill (above +0.4%), −8 sec/mi downhill (below −1.5%). Base pace B = (T_goal − Σ(A_m × d_m)) / 26.2. Elevation: official Boston mile markers (Daniels/Burfoot). Verified against RC calculator.

4 — Group classification (GMM)

Gaussian Mixture Models fit to the positive split distribution per bucket. Number of components k selected by BIC (Bayesian Information Criterion) — the model complexity that best explains the data. k=2 found at 2:35–3:30 and 3:45; k=1 elsewhere.

5 — Regression finding

Linear regression of Seg.4 delta vs Seg.1 delta (sec/km vs grade-adjusted ideal). Slope ≈ −1.3 at fast paces: 1 sec/km too fast in Seg.1 costs 1.3 sec/km in Seg.4. R²≈0.58 in buckets 2:40–3:15. This is the primary finding and requires no group classification at all.

6 — Segment boundaries

Seg.1=0–10K, Seg.2=10–25K, Seg.3=25–35K, Seg.4=35K–Finish. Boundaries at BAA chip checkpoints. Buckets: ±2:30 window for 5-min intervals up to 4:00; ±5 min above 4:00.