About & Methodology
How this platform works, where the data comes from, and how predictions are scored.
What this is
This is a self-hosted F1 telemetry and ML prediction platform. Before each session it publishes race outcome predictions — then, once the result is known, it scores those predictions automatically and updates a public running total.
Most F1 analysis tools show you what happened. This one commits to a prediction first, then shows you how right or wrong it was. Historical calibration, drift over the season, and per-event accuracy are all exposed publicly. No competitor does that.
Data sources
Telemetry and timing data come from FastF1 and OpenF1. All sessions are processed into a canonical 1000-point distance grid — so every lap, session, driver, and year is directly comparable without resampling at query time.
Each session also ingests the full weather record (air temp, track temp, humidity, pressure, rainfall, wind speed and direction), sector split times, and the race control message log. These feed the live intelligence layer and the post-session narrative alongside the lap data.
OpenF1 provides GPS at approximately 4 Hz. That is enough for lap comparison and position tracking but not for real-time streaming — sessions are ingested after they finish, not during.
How predictions are generated
Each practice session runs a distinct pipeline stage. FP1 establishes a driver baseline (fp1_baseline: teammate pace delta — how much faster or slower each driver is relative to their team-mate on representative laps). FP2 fits the compound degradation model (compound_deg: linear regression slope per tyre, in seconds per lap) and the fuel correction model that projects laps to a zero-fuel basis. FP3 produces the qualifying simulation (fp3_quali_sim: banker and push lap estimates per driver) and locks the final race-pace ranking.
Once FP3 completes, the race_prediction and quali_prediction artifacts are locked with a write-once sentinel. No post-session data can alter a locked prediction — the locked timestamp is recorded alongside each artifact so the claim is permanently verifiable. Write-once means write-once: back-filling after the result is known would defeat the entire credibility purpose of the platform.
Sprint weekends have only one practice session. FP1 carries the full analytical load: all five pipeline stages — fp1_baseline, compound_deg, fuel correction, fp3_quali_sim, and race pace ranking — run from that single session rather than across three. Sprint Qualifying predictions are locked from FP1 alone.
After the session, the actual result is loaded and the prediction is scored automatically. The score updates the season credibility total — no manual intervention.
Live session intelligence
During an active session, the live timing panel updates every 15 seconds with per-driver intelligence derived from the laps seen so far. It is not a lap-by-lap ticker — it is a strategy layer built on top of real data.
Each driver row shows the current compound and tyre age, the estimated degradation rate in seconds per lap, and a recommended pit window calculated from the fitted degradation model. An undercut flag marks drivers where pitting one lap early would cost the car behind the position on raw pace.
A track status banner appears above the table when a Safety Car, Virtual Safety Car, or SC-Ending phase is declared via the race control feed. During a Safety Car or VSC, the undercut and pit-window recommendations are suppressed — they are meaningless under neutralised conditions and showing them would be misleading.
The weather strip below the header shows live conditions: air and track temperature, humidity, pressure, rainfall, and wind. Track temperature drives tyre warm-up time and is the most tactically relevant figure during tyre changes. The most recent race control messages are also surfaced so you can see flags, investigations, and notifications as they arrive.
Practice session analysis
Practice sessions produce several artefacts beyond the base pace model. Long-run detection identifies sequences of seven or more consecutive laps on the same compound and fits a per-driver degradation rate to each run. These are the laps that inform race strategy — not the flying laps.
The compound testing matrix records which drivers covered which tyre compounds in each session, and how many representative laps each driver logged per compound. Teams that covered all three compounds in FP2 have more information to model from; those that focused on one tell you where their confidence is.
Weekend progression tracks each driver's best pace across FP1, FP2, and FP3. A large improvement from FP1 to FP3 can reflect setup gains, fuel load differences, or deliberate sandbagging. A flat or worsening trend is worth noting going into qualifying.
Teammate delta compares each driver pairing on their best clean lap of the session. Because the two cars share a setup baseline, the gap between teammates is one of the cleanest signals of individual driver contribution.
For Race and Sprint Race sessions, a car data summary is produced per driver from the live telemetry: maximum speed reached, the percentage of time at full throttle, braking aggression, and DRS deployment fraction. These figures index into the post-race performance narrative.
How accuracy is measured
For races, ranking accuracy is measured with Spearman rank correlation (rho) — a number from −1 to +1 that describes how closely the predicted finishing order matched the real one. A rho of 1.0 means the order was perfect; 0 means no better than a random guess.
For qualifying, error is measured with MAE (mean absolute error) — the average gap in positions or lap-time delta between what was predicted and what actually happened. Smaller MAE means closer predictions.
Pit stop timing is evaluated separately: what fraction of predicted pit windows were within two laps of the actual stop. This captures strategy quality independently from finishing order.
Fuel & tyre-corrected true pace
Raw lap times include fuel load (heavier cars are slower, especially early in long stints) and tyre degradation (rubber loses grip over laps). Direct lap-time comparison conflates strategy with speed: a driver on fresh tyres who ran light fuel looks faster than a driver managing degradation on a heavy load, even if their underlying pace is identical.
Fuel adjustment applies the fitted fuel-drop coefficient from the degradation model — typically 0.03–0.06 s/lap per kg of fuel burned — to project each lap to an equivalent zero-fuel basis. Tyre correction applies the fitted degradation slope per compound per driver to normalise every lap to the first lap of a fresh tyre. Both coefficients come from the compound_deg pipeline stage run in FP2.
After both corrections, the True Pace table ranks drivers by their corrected median pace. A driver who pitted early and ran faster final laps may rank higher than their raw finishing position suggests. A driver on undercut strategy who technically led more laps may rank lower once their fuel advantage is removed.
Corrections are only as good as the degradation model. FP2 long-run detection requires at least 7 consecutive clean laps on a single compound; drivers who did not complete representative long runs have higher uncertainty bands on their corrected pace. SC and VSC laps are excluded from the correction input entirely.
Event verdict
Each event has a verdict page that compares what the model said before the session with what actually happened. For races it shows the pre-race pace prediction from FP3 — specifically the locked top-10 predicted order with compound and predicted pace per driver — alongside the actual finishing order.
For qualifying sessions, the verdict breaks down each driver individually: predicted lap time, actual lap time, the delta, and whether the predicted vs. actual position gap was within the model's stated uncertainty band. A rolling five-event accuracy window shows whether the model is improving or degrading as the season progresses.
The best-call and worst-call cards highlight the single event where the model was most and least accurate, so the seasonal view is not dominated by average performance alone.
What the accuracy score means
The credibility scoreboard shows the running season score across all published predictions. A higher score means the predicted order tracked reality more closely, event after event.
This is a transparent track record, not a betting tool. The point is accountability: every prediction is on the record before the lights go out, and the score reflects the full season history — good events and bad ones alike.
Overtake intelligence
For Race and Sprint sessions, the platform detects on-track position changes lap-by-lap and classifies each pass through a cause cascade: power deficit (ERS anomaly in the victim's energy profile), tyre degradation (rolling-3-lap pace drop > 1.5%), undercut escape (position change within one lap of the victim's pit stop), or unknown when none match. Pit-lane passes are excluded automatically.
The energy profile tracks per-driver anomalies across straight zones — identifying laps where a car's speed signature deviates from its own race baseline. Where the ERS channel is absent from the telemetry feed, a speed-deviation heuristic takes over: drops below −5% of median flag ERS depletion; drops between −3% and −5% suggest engine or aero issues. This keeps classifications meaningful even when channel data is sparse.
Driver of the Day
Every Race and Sprint produces a composite five-component score per driver: pace performance (consistency vs. team-mate and field average), stint management (compound choice and tyre age at optimal pace window), overtake contribution (on-track passes made and positions gained), energy efficiency (ERS profile smoothness), and pit execution (time lost vs. optimal window).
Scores are normalised 0–100 within each race so the winner reflects relative performance on that day, not a comparison across circuits.
Stint analysis
Stint ratings combine compound pace (median lap time per tyre type, filtered for safety-car laps), degradation slope, and pit timing vs. the predicted window. The distribution view shows every driver's pace per compound side-by-side so you can see who extracted the most from their strategy and why.
Sprint weekends
Sprint weekends have only one practice session. FP1 runs at full analytical depth: lap classification, degradation model, fuel model, race pace prediction, and qualifying prediction for Sprint Qualifying are all produced from that single session rather than across three.
Long-run detection, compound testing, and teammate delta are computed from Sprint FP1 laps. Sprint Qualifying produces its own teammate delta. Sprint Race produces a car data summary alongside the race simulation and overtake analysis. The credibility scoreboard treats Sprint events identically to Grand Prix events — they are scored and counted in the running total.
Honest limits
Early in the season — or for a new circuit or scenario — confidence is intentionally capped at 45%. There simply is not enough prior data yet to justify a stronger claim, so the system refuses to pretend otherwise. Confidence rises naturally as more events accumulate.
Overtake counts rely on position data aggregated to lap-boundary precision. Coverage varies across sessions — some have sparse OpenF1 position updates, leading to lower detected counts than the actual on-track figure. Classifications depend on the quality of that underlying data.
Live intelligence is session-incremental, not real-time. Pit window recommendations and degradation rates update as each completed lap is ingested — typically within a few seconds of lap completion — but are not continuous streams.
This platform does not use external services for ML inference, LLM-generated commentary, or third-party enrichment. Every number shown is derived from the raw FastF1 and OpenF1 data by models running on the same server as the API.