Raw Telemetry
0 to p% of the lap
Lap context · static
F1 telemetry · causal forecasting · explainable AI
The model watches a Formula 1 lap unfold from 0% to 100% distance and predicts the final lap time at every point, using only telemetry that would already be known at that position.
The problem
At track position p%, the model has only seen the telemetry prefix from the start of the lap to that point. It must forecast the final lap time without looking at future corners, straights, traffic, or sector times.
The known elapsed time is added exactly. The neural network only learns the uncertain part: how much time is still left in the lap.
Try the streaming view
The prediction stabilizes as more of the lap becomes visible. Early estimates depend more on driver, car, tyre and race context; later estimates lean on the actual telemetry trace.
The data
Telemetry is resampled by distance, not by time. That means 50% always means the same physical place on the track, so laps can be compared point-for-point while the model still receives only the prefix seen so far. Data comes from FastF1.
The pipeline
0 to p% of the lap
Lap context · static
Same place every lap
Step k reads only 0...k
elapsed(p) + remaining
Final Lap Time · seconds refined at every stepIntegrated Gradients · seconds
This is the same idea as the Streamlit poster: raw telemetry and static context are aligned, scaled, encoded, streamed through a causal GRU, then decomposed by Integrated Gradients.
What the model sees
The most direct pace signal through every corner and straight.
How early and how strongly the driver commits to acceleration.
Braking points and deceleration patterns into heavy corners.
Power-unit load and gear choice alongside the speed trace.
Drag-reduction state on straights where lap time moves quickly.
Dirty air and traffic signal from the car physically ahead.
Driver identity, team, tyre compound, stint, tyre age and position.
No sector-time target hints or future telemetry enter the input.
Explainability
IG walks from a neutral training-mean lap to the actual lap and accumulates gradients along the way. The result is signed seconds: positive values made the forecast slower, negative values made it faster.
Research foundations
Names the project's core problem: predict an incomplete series as early as possible. Our model maps each prefix 0...p to a final-time estimate, scored as error vs % of lap completed, not just a full-lap score.
arxiv.org/abs/2005.02595 →One global recurrent model across many related series, conditioned on static covariates. This is the blueprint for our shared GRU plus a separate race-context branch instead of a model per driver.
arxiv.org/abs/1704.04110 →Introduces the gated recurrent unit. Our causal, unidirectional GRU uses this cell to summarise the telemetry prefix 0...k, so step k never sees the future.
arxiv.org/abs/1406.1078 →Defines Integrated Gradients. Its completeness axiom lets us state each input's effect in exact seconds that sum to prediction minus baseline, and verify post-cutoff telemetry gets approximately 0.
arxiv.org/abs/1703.01365 →