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.

gradient-boosted-ensembleanalytics.strategy

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

drivers[].pit.pNextLapProbability of a green-flag pit stop on the next lap; stops under safety car, VSC or red flag are not counted. Calibrated, 0–1.
drivers[].pit.pWithin3LapsDerived as 1 − (1 − pNextLap)³ — the chance of a green-flag stop in the next three laps at the current per-lap rate; stops under safety car, VSC or red flag are not counted.
drivers[].pit.recommendedPit recommendation flag. Present only when the model produced one.

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.

json
{
  "feed": "analytics.strategy",
  "sessionId": "2026-canada_r",
  "lap": 18,
  "drivers": [
    {
      "number": "12",
      "tla": "ANT",
      "pit": {
        "pNextLap": 0.09,
        "pWithin3Laps": 0.248
      }
    }
  ]
}

Use it

Subscribe to analytics.strategy with a webhook and read this model's fields from each delivery:

bash
curl -X POST https://api.racehooks.io/v1/webhooks \
  -H "Authorization: Bearer $RACEHOOKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"webhookUrl":"https://your-app.com/f1","feedId":"analytics.strategy"}'

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.