Skip to main content

Overview

The Tyre Deg Table lists one row per (driver, stint), with the fitted degradation gradient, base pace and mid-stint pace for each. Reach for it to compare how stints degraded across the field, and to pick which stints to inspect further: a row is a drag source for the Deg Fit Plot and Corrected Laps Plot.
A stint with too few valid laps to fit is muted, never hidden. It is real evidence the wire carried; it just did not qualify for the fit-backed columns.

What It Shows

The Tyre Deg Table mid-race, fitted gradients per driver and stint (Madrid 2026) All second-valued columns show three decimal places, with a dash for a missing value rather than a fabricated 0.000. Click any column header to sort: the first click sorts ascending, a second click flips to descending, and clicking a different column resets to ascending. Gradient, base pace and mid-stint pace sort with missing values always last, in either direction, so an unfittable stint can never read as the shallowest or steepest degradation. Each row is draggable onto the Deg Fit Plot or Corrected Laps Plot. A stint currently loaded on those plots is pinned above the rest of the table (each block keeping its own column sort), highlighted, and given a right-edge ✕ to remove it from the plots without re-dragging. A row whose fit reflects manually excluded or included laps (see below) is marked with a trailing * on its fit-backed cells; hovering shows how many laps were excluded and/or included, or “Reverted to automatic fit” if the manual overrides have since been undone. The header row shows the corrections’ evolution provenance (evolution: parameter / estimate / none) so you can see when stints were corrected with no track evolution term at all. When there is something to save or discard, the header also hosts the save/discard control described under States below.

Data Behind It

Rows come from each driver’s latest insight:stint_deg snapshot as of the playhead (model_id="stint_deg", model_version="1.9.0", trigger new_lap). stint_deg is driver-scoped: one snapshot per firing, for the triggering driver only. The fit itself is an ordinary least-squares regression of fuel- and evolution-corrected lap time against effective tyre life, over laps that clear the configurable outlier cutoff (default cutoff_pct 4.0%) and meet min_stint_laps (default 5) to count as a qualifying fit. The fuel and evolution correction maths itself is never re-derived here; see Fuel Correction. The webapp subscribes to insight:stint_deg over WebSocket and hydrates the same data over REST (api.metrics(sessionKey, "stint_deg")) on session enter and on rehydrate, so a live stream and a REST snapshot converge on identical rows. Manual lap exclusion/inclusion. Clicking a lap point on the Corrected Laps Plot toggles a manual override for that lap; this table’s *-marked rows reflect the resulting client-side refit. The refit mirrors the server’s post-correction fit maths exactly (never the fuel or evolution correction itself, which stays server-owned) and is persisted via PUT /v1/sessions/{session_key}/exclusions, a replace-set write of the full desired override list. See the Corrected Laps Plot’s page for the click workflow.

States

Before any driver’s stint_deg snapshot has arrived, the table shows “No tyre degradation insight yet.” Once snapshots exist but carry no stints (not expected in practice, since the metric withholds entirely rather than firing empty), it shows “No analysed stints yet.”
The row renders muted (dimmed text) with a tooltip: “Below min_stint_laps: no qualifying fit.” Gradient, base pace and mid-stint pace show as a dash.
The widget runs on race and practice sessions. In qualifying it renders a not-applicable state, because the metric itself returns nothing there: qualifying stints are too short and too unrepresentative to fit. On practice the fits are published uncorrected where the fuel load behind them is not known, and the widget says so rather than implying a correction that did not happen.
Identical: live and replay publish the same envelopes on the same channel, so the table behaves the same either way.
The header’s save/discard bar (hosted here, driven by manual lap overrides made on the Corrected Laps Plot) shows one of three states: Adjusted (an unsaved local diff; Save and Discard are both live), Reconciling (saved, but the latest race_pace snapshot has not caught up yet; both buttons are inert), or Canonical (baseline and the server’s echo agree). The bar is hidden entirely when nothing has ever been excluded or included.

Next Steps

Deg Fit Plot

See the fitted degradation lines for stints dragged from this table.

Corrected Laps Plot

Inspect and manually exclude or include the laps behind a fit.

Tyre Deg Ranking

Compare degradation across the whole field, per compound.

Fuel Correction

How lap times are corrected before they reach this table’s fits.
Last modified on September 18, 2026