Skip to main content
The pit strategy Gantt lays every driver’s race out as a row of coloured stint bars, then overlays two things a lap chart can’t show you: the lap each tyre actually crossed the degradation cliff, and the lap the model says they should have stopped. The gap between those two measured in seconds of opportunity cost is the verdict on each strategy call.

What it shows

Each stint is a horizontal bar spanning its actual race laps:
  • Bar fill: the tyre compound for that stint.
  • Border colour the verdict: optimal, overran, early, undercut forced, or unknown (no fitted degradation curve for that compound; shown explicitly rather than as a silent null).
  • Cliff onset (dashed line inside the bar): fct_stint_features.cliff_lap_in_stint, the lap within the stint where the compound crossed the degradation threshold.
  • Optimal pit window (triangle below the bar): int_pit_strategy_value.optimal_pit_lap_in_stint, the argmin of Total_Cost(L) over every candidate lap in the horizon wear on the set you are on, wear on the next set, and the pit-lane loss discounted by the chance a safety car has already appeared. Not stopping at all is one of the candidates.
  • Opportunity cost: Total_Cost(actual) minus Total_Cost(optimal), in seconds so stopping too early carries a cost too, not only overrunning.
unknown means the stint’s compound has no fitted degradation curve at that circuit and season, so there is nothing to minimise over 266 stints of 7,129. It is shown explicitly rather than being forced into a verdict.

How to use it

  1. Select a race from the filter bar; every driver’s stint sequence loads as Gantt rows.
  2. Find the dashed cliff line inside each bar if it sits well before the bar’s end, the driver ran deep into degradation.
  3. Compare the cliff line to the optimal-window triangle a triangle far left of the actual stop end signals a late stop; far right signals a stop taken earlier than degradation alone justified.
  4. Read the opportunity cost on overran stints to size the loss; sort drivers to see who left the most time on track.

Reading the signal correctly

The optimal lap is a model counterfactual computed from the fitted degradation curve, the circuit’s pit-lane loss and its safety-car rate it assumes the rest of the race plays out as observed, and that exactly one stop happens inside the horizon. The horizon is this stint plus the next, so the verdict grades the lap the stop landed on, not the number of stops the team chose. The column overrun_laps is actual laps run on the set minus the model-optimal laps, counted in valid laps per stint. A negative overrun_laps means the stop came earlier than the model’s optimum. Across the 2018–2025 seasons the median overrun_laps is -3 valid laps per stint (n = 4,905 stints that have both an actual stop and a model optimum). Per season, the median overrun_laps ranges from -1 valid lap (2018 and 2021) to -4 valid laps (2019, 2020 and 2022). In 61% of those 4,905 stints the stop came earlier than the model’s optimum. The model does not price track position. So a stop that looks early may have been the correct response to something the model does not measure.
Neither overran nor early is automatically a mistake: teams trade lap-time loss for track position, safety-car optionality, or tyre-offset at the end. Read the opportunity cost as the pace price paid, not as proof of an error.

Data source

The chart joins fct_stint_features (stint windows and cliff lap), fct_lap_residuals (lap windows), and int_pit_strategy_value (the optimal-lap counterfactual), via DuckDB-Wasm in the browser. This is a single-race view across 2018–2025 data. For the full model definitions, see the int_pit_strategy_value reference and the fct_stint_features reference.