2025 Season — Round 4
Bahrain Grand Prix
Sakhir — 57 laps — 20 drivers
Total lap inversions
1980
start→finish: 28
Volatility score
1.7368
inversions / (grid × laps)
Winner
PIA
Oscar Piastri
Biggest mover
BEA
+10 positions (Oliver Bearman)
Most overtaken
ANT
-6 positions (Kimi Antonelli)
DNFs
2
retirements
On-track overtakes
38
of 200 total moves
Interventions
4 SC
laps under neutralisation
Race Summary
The 2025 Bahrain GP produced 1980 lap inversions across 57 laps, with a volatility score of 1.7368. Oliver Bearman (BEA) was the biggest mover, gaining 10 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.
200
Total position gains
On-track
38 (19%)
Pit cycle
155 (78%)
SC / VSC
0 (0%)
DNF-induced
7 (4%)
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.7368
Pit-adjusted
1.4368
SC-neutralized
1.6434
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.
LECvsNOR
NOR wins
4 position swaps49 laps within 1 posIntensity: 28.5
PIAvsRUS
PIA wins
0 position swaps55 laps within 1 posIntensity: 27.5
BORvsSTR
STR wins
2 position swaps37 laps within 1 posIntensity: 20.5
HADvsHUL
HAD wins
3 position swaps32 laps within 1 posIntensity: 19
OCOvsVER
VER wins
2 position swaps33 laps within 1 posIntensity: 18.5
DOOvsTSU
TSU wins
4 position swaps28 laps within 1 posIntensity: 18
LECvsRUS
RUS wins
2 position swaps31 laps within 1 posIntensity: 17.5
ALOvsHAD
HAD wins
3 position swaps29 laps within 1 posIntensity: 17.5
ALOvsSTRTEAMMATE
ALO wins
2 position swaps31 laps within 1 posIntensity: 17.5
LAWvsSTR
LAW wins
2 position swaps29 laps within 1 posIntensity: 16.5
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
10
20
30
40
50
57
PIA
RUS
NOR
LEC
HAM
VER
GAS
OCO
TSU
BEA
ANT
ALB
HAD
DOO
ALO
LAW
STR
BOR
SAI
HUL
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.7368
Actual Volatility
full race, all laps
1.7340
No-SC Volatility
53 racing laps only
-0.2%
Difference
less chaotic without SC
4
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.
ALB-12
peak at L19
NOR-11
peak at L11
VER-10
peak at L11
GAS-10
peak at L11
ALO-10
peak at L17
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.
415
Strategy Chaos Score
Undercuts
35
Pitted early, gained on exit
Overcuts
120
Stayed out, gained via track position
Pit-Cycle Passes
155
Positions gained through pit windows
Failed Strategies
20
Net position loss from pit strategy
GitHub
LinkedIn