Models / gradient-boosted-ensemble
Pit Stop Prediction
Probability of a green-flag pit stop on the next lap; stops under safety car, VSC or red flag are not counted.
How it works
A gradient-boosted ensemble reads a rolling multi-lap window of each driver's race — tyre age, fuel-corrected pace, stint length, the gaps to the cars ahead and behind, and track status — and emits a calibrated probability of a green-flag pit stop on the next lap; stops under safety car, VSC or red flag are not counted. The three-lap figure is derived from that single per-lap number rather than modelled separately, so the two can never disagree. When the model also produces a pit recommendation, it is published alongside as a flag.
When to use it
- Cue pit-stop coverage before it happens — a liveblog line, a broadcast graphic or a camera call when a car's number rises.
- Drive a strategy screen: rank the field by pit likelihood each lap to see who is about to open the next pit cycle.
- Feed the pit-window alert stream: analytics.pit-window is built on this model and fires OPEN or URGENT while a car's window is live.
- Pair it with the pit-stop-count and tyre-compound models to answer "when", "how many" and "onto what" together.
Inputs
- rolling multi-lap race window
- tyre age & compound
- fuel-corrected pace
- gaps ahead/behind
- track status
Output
Example payload
An excerpt of one analytics.strategy delivery, trimmed to the fields this model produces. Values are from the recorded Canadian Grand Prix (2026-canada_r). The full message shape is on the feed reference.
Use it
Subscribe to analytics.strategy with a webhook and read this model's fields from each delivery:
To try it without waiting for a race weekend, replay the recorded Canadian Grand Prix (2026-canada_r) from the quickstart.
How to read it
pNextLap is a per-lap rate, not a forecast of the whole stint. Most laps it sits low for most cars; what matters is the change. A value climbing over several laps means the driver is entering the part of the stint where teams normally stop. pWithin3Laps assumes that rate holds for three laps, so it reacts to the same inputs and is useful as a smoother headline number. If the pit block is missing for a driver on a lap, the model did not score that driver — it is not a zero.
Limitations
- Much of the timing of a stop depends on decisions the model cannot see — a team reacting to a rival's stop on the same lap, or a call made on the radio.
- Published in Race and Sprint sessions only.
- The derived three-lap number assumes the per-lap rate is constant; a safety car or a rival's stop can change it within a lap.
Calibration
Probabilities are calibrated per lap, so a value can be read directly as a chance rather than a score. See the calibration reference for the shared pipeline.
FAQ
Is pWithin3Laps a separate model?
No. It is derived from pNextLap as 1 − (1 − pNextLap)³, so it always moves with the per-lap probability. The survival-based window fields come from a different estimator and use different names.
Which sessions carry pit stop predictions?
Race and Sprint sessions, on the analytics.strategy feed, updated every lap.
Related models
- Pit Window Survival — How much longer each driver's current stint is likely to run.
- Pit Stop Count — P(one / two / three+ total stops) for the race, per driver — re-estimated every lap.
- Tire Compound — The next compound a pitting driver takes, as probabilities.
- Undercut — P(pitting now puts the driver ahead of the car in front once it covers), when within 5s — plus whether to strike now or hold.
Get the data
This model is delivered on analytics.strategy. Subscribe by webhook or stream it over SSE. The quickstart walks through registering an endpoint and replaying a past session against it.