The Analytics tier injects six ML model outputs as an analytics key on timingdata, cardata, and tyrestintseries payloads. No additional API calls, no separate feed subscriptions — the fields appear automatically when your account is on the Analytics tier. Analytics enrichment is currently available for F1; models for other sports will expand as RaceHooks grows.
The Kalman filter updates degradation rate on every timing packet, not just lap completions. Catches early degradation 3–5 laps before the team notices the delta.
Win Probability
Algorithm:Continuous Time Markov Chain (CTMC)
Win probability for every driver, updated on every timing update including safety car and incident events.
Field
Type
Description
analytics.winProbability
number
0.0–1.0. Probability of this driver winning the race from current state.
analytics.winProbabilityDelta
number
Signed change from the prior lap. Large positive spikes typically indicate safety car deployment benefitting this driver.
analytics.podiumProbability
number
P(top 3 finish). Useful for fantasy apps and broadcast narrative scoring.
analytics.topHalfProbability
number
P(top 10 finish). Useful for points threshold modelling.
✦
Computed via matrix exponentiation — analytically exact within model assumptions and fast enough to run on every timing packet, not just at lap boundaries.
Pit Stop Prediction
Algorithm:Bidirectional LSTM
Per-driver pit stop probability and expected window, updated every lap.
Field
Type
Description
analytics.pitStopProbability
number
0.0–1.0. Probability of a pit stop this lap. Track the gradient across successive laps — 0.31→0.44→0.62→0.78 is more informative than any single value.
analytics.expectedWindowOpen
integer
Laps from now until the probable pit window opens. null if probability is below threshold.
analytics.expectedWindowClose
integer
Laps from now until the probable pit window closes.
analytics.undercut
object
{ vs: driverNumber, gain: lapTimeDelta } — the driver most threatened by an undercut and the estimated position gain. null if no clear undercut candidate.
✦
Trained on 7,200+ documented pit stop events from 2020–2025. The bidirectional architecture lets the model look at both recent lap history and the expected end-of-stint pattern.
Safety Car Probability
Algorithm:LightGBM Gradient Boosted Trees
Real-time probability of safety car, virtual safety car, and red flag per lap.
Field
Type
Description
analytics.safetyCarProbability
number
0.0–1.0. Probability of a full safety car deployment within the next lap.
analytics.vscProbability
number
0.0–1.0. Virtual Safety Car probability — lower severity incidents than full SC.
analytics.redFlagRisk
number
0.0–1.0. Probability of a red flag. Low baseline, spikes materially on serious incidents.
✦
Trained on 400+ safety car events from 2018–2025. Features include field compression, recent incident rate, circuit sector characteristics, and weather. Updated every lap.
Overtake Probability
Algorithm:XGBoost with per-circuit calibration
Per-driver-pair probability of a position change within the next 3 laps. Returned as a top-level array, not per-driver.
Field
Type
Description
overtakePairs[].attacker
integer
Driver number of the car attempting to overtake.
overtakePairs[].defender
integer
Driver number of the car being challenged.
overtakePairs[].p3lap
number
0.0–1.0. Probability of attacker overtaking defender within 3 laps.
✦
Accounts for circuit overtake index — a 1-second gap on Monza carries different probability than the same gap at Monaco. Pairs within 3 seconds of each other are included, sorted descending by probability.
Pace Normalization (LTOE)
Algorithm:LightGBM Expected Lap Time Model
Normalized pace delta: actual lap time minus model-predicted lap time. Strips out tire age, fuel load, and track evolution.
Field
Type
Description
analytics.ltoe
number
Seconds (signed). Negative = faster than expected. Positive = slower. A value of -0.18 means the driver is lapping 0.18s faster than their tire state, fuel load, and circuit conditions predict.
analytics.ltoeCategory
string
"underperforming" | "neutral" | "overperforming". Derived from ltoe threshold by compound and circuit.
analytics.paceRank
integer
Driver's position in the field sorted by LTOE. 1 = fastest normalized pace.
analytics.trafficAdjusted
boolean
Whether the dirty-air traffic correction was applied this lap.
✦
Trained on 2.1M lap observations from 2018–2025. R² ≈ 0.94 on out-of-sample laps — when 94% of lap time variance is explained, the residual is real information. LTOE is suppressed for 2026 until 3+ races of 2026 data are available for the new era baseline.
2026 regulation adjustments
The 2026 F1 regulations introduced structural changes to car physics — turbo lag, tripled ERS power, and active aerodynamics replacing DRS. All six models required assessment:
Model
Status
Action taken
Tire Degradation
Recalibrated
Circuit parameters updated for new thermal loading from turbo lag. Conservative 50% wider confidence intervals until 4+ races of 2026 data.
Win Probability
Updated
DRS → Overtake Mode: same 1.0s gap threshold. Transition rate β₃ adjusted 0.90 → 1.10 for electric boost advantage.
Pit Stop Prediction
Adjusted
ERS clipping creates saw-tooth lap time variance that mimics cliff signatures. Decision threshold raised 0.53 → 0.60.
Safety Car
Offset applied
Base SC rate +0.10 for first 6 races of 2026 (driver adaptation period to turbo lag).
Overtake
Recalibrated
Circuit overtake indices updated for zone-independent Overtake Mode vs. DRS zone-specific activation.
LTOE
Suppressed
Returns null until 3+ races of 2026 data available. 2026 is a structural break — car baseline resets completely.