2025 Season — Round 15
Dutch Grand Prix
Zandvoort — 72 laps — 20 drivers
Total lap inversions
2800
start→finish: 65
Volatility score
1.9444
inversions / (grid × laps)
Winner
PIA
Oscar Piastri
Biggest mover
BEA
+14 positions (Oliver Bearman)
Most overtaken
NOR
-16 positions (Lando Norris)
DNFs
2
retirements
On-track overtakes
26
of 111 total moves
Interventions
15 SC / 3 VSC
laps under neutralisation
Race Summary
The 2025 Netherlands GP produced 2800 lap inversions across 72 laps, with a volatility score of 1.9444. Oliver Bearman (BEA) was the biggest mover, gaining 14 positions. There were 2 retirements which influenced race positions.
Inversions Per Lap
Each point shows how many active inversions existed that lap relative to the starting grid order.
Higher peaks indicate more overtaking activity.
Cumulative Inversion Curve
Running total of inversions across the race. Steep sections indicate high-action phases.
Flat sections mean positions locked in for multiple laps.
Lap-by-Lap Position Tracker
Each line is one driver's position through the race. P1 is at the top.
Lines end where a driver retired. Use filters to isolate specific battles or storylines.
Quick select:18 / 20 drivers shown
Driver Position Changes
Positions gained (green) or lost (red) from grid start to final classification.
DNF drivers shown in grey.
Position Heatmap
Rows = drivers, columns = laps. Cell colour = position: green (P1) → yellow (mid-field) → red (last).
Faded cells = retired. More colour variance across a row = more movement for that driver throughout the race.
Hover any cell for driver, lap, and exact position.
Race Chaos Timeline
Lap-by-lap breakdown of overtaking activity by type. Green = genuine on-track passes,
orange = pit-cycle position changes, yellow = moves under Safety Car / VSC,
red = DNF-induced gains. Yellow dashed lines mark neutralisation laps.
Overtake Classification
Breaking down how position changes occurred during the race.
Only data from re-ingested races (fetch_race_data.py v2) will show full classification.
111
Total position gains
On-track
26 (23%)
Pit cycle
61 (55%)
SC / VSC
3 (3%)
DNF-induced
21 (19%)
Adjusted Volatility
Three inversion curves for comparison.
Raw: unfiltered (dashed grey).
Pit-adjusted: removes drivers on in/out-laps so pit stops don't inflate inversions (green).
SC-neutralized: SC and VSC laps weighted at 25% to reduce artificial compression effects (yellow).
Raw
1.9444
Pit-adjusted
1.7333
SC-neutralized
1.5465
Driver Battle Index
The most intense wheel-to-wheel fights of the race, ranked by a combined intensity score
(position swaps + laps within 1 position). Higher = more sustained wheel-to-wheel racing.
NORvsVER
VER wins
2 position swaps72 laps within 1 posIntensity: 38
LAWvsSAI
LAW wins
4 position swaps67 laps within 1 posIntensity: 37.5
NORvsPIATEAMMATE
PIA wins
0 position swaps56 laps within 1 posIntensity: 28
HADvsVER
VER wins
0 position swaps56 laps within 1 posIntensity: 28
COLvsGASTEAMMATE
COL wins
3 position swaps47 laps within 1 posIntensity: 26.5
BEAvsSTR
BEA wins
3 position swaps41 laps within 1 posIntensity: 23.5
ALBvsANT
ALB wins
2 position swaps42 laps within 1 posIntensity: 23
LECvsRUS
RUS wins
2 position swaps40 laps within 1 posIntensity: 22
HADvsLEC
HAD wins
0 position swaps42 laps within 1 posIntensity: 21
BORvsHULTEAMMATE
HUL wins
4 position swaps34 laps within 1 posIntensity: 21
Tyre Strategy Timeline
Lap-by-lap view of each driver's tyre compounds through the race. Solid = new tyres, faded with border = used tyres.
Hover over any stint bar to see compound, stint length, pit lap, duration, and net position change.
Quick select:20 / 20 drivers shown
Soft
Medium
Hard
Intermediate
Wet
Used tyres
1
15
30
45
60
72
PIA
VER
HAD
RUS
ALB
BEA
STR
ALO
TSU
OCO
COL
LAW
SAI
HUL
BOR
ANT
GAS
NOR
LEC
HAM
Lap
What If No Safety Car?
Simulates the race volatility if all SC and VSC laps were removed entirely.
Orange line = what the chaos curve would look like with pure racing laps only.
Faint yellow verticals mark the removed neutralisation laps.
1.9444
Actual Volatility
full race, all laps
1.8852
No-SC Volatility
54 racing laps only
-3.0%
Difference
less chaotic without SC
18
SC/VSC Laps
laps removed from calc
Faint yellow lines mark removed SC/VSC laps · Orange = what the race chaos would have looked like
Momentum Tracker
Rolling 5-lap position change per driver. Positive = charging forward, negative = falling back.
Shows who had the most momentum at each phase of the race. Defaults to top 10 finishers — use filters to explore all drivers.
Rolling 5-lap position change per driver. Positive = gaining, Negative = losing positions.
LAW-12
peak at L28
SAI-12
peak at L28
ALO+8
peak at L54
BOR-8
peak at L61
STR+7
peak at L24
Quick select:10 / 20 drivers shown
Strategy Chaos Score
Measures how much strategy decisions shaped the race outcome.
Counts undercuts, overcuts, pit-cycle passes, and failed strategies.
167.5
Strategy Chaos Score
Undercuts
16
Pitted early, gained on exit
Overcuts
45
Stayed out, gained via track position
Pit-Cycle Passes
61
Positions gained through pit windows
Failed Strategies
14
Net position loss from pit strategy
GitHub
LinkedIn