01Driver Fuel Rates — Least Squares Regression
Each driver burns fuel at a different rate. We can't measure this directly — we observe the total fuel used per session and how many laps each driver completed. With multiple sessions and multiple drivers, we have more equations than unknowns, so we use least squares regression to find the rates that best fit all sessions simultaneously.
With three sessions, the system is over-determined — more data than unknowns. Least squares finds the single solution that minimises total error across all sessions at once.
02Strategy Optimisation — Ranked Permutations
With 3 drivers doing exactly 2 stints each, the system evaluates every valid 6-stint permutation subject to the no-back-to-back constraint. For each valid order it calculates the total predicted race time cost from ballast penalties, lap time differences, and pit stop losses — then ranks them fastest to slowest.
The SC buffer is added to start fuel as a safety margin. It costs a tiny amount in lap time (heavier car), but protects against running dry in a long SC period.
03Live Fuel Estimate — SC-Split Calculation
There is no sensor in the fuel tank. The system estimates current fuel by starting from the last confirmed reading and subtracting what has been burned. The key detail: green-flag laps and SC laps burn fuel at different rates, so the system tracks each separately.
SC seconds are banked when the green flag returns — so multiple SC periods in one stint all accumulate correctly.
04Add at Pit — Conservative Window-End Projection
The "Add at Pit" figure is the fuel to put in at each stop. It projects forward to the end of the next pit window — the latest the car could possibly run — and calculates how much fuel is needed to cover that distance plus a minimum finish reserve.
Once a pit is confirmed, the system switches from the window-end assumption to the actual confirmed time. This means "Add at Pit" gets progressively more precise as each stint is confirmed.
05Gap Trend — Per-Lap Rate of Change
The gap-ahead and gap-behind tiles show not just the current gap but whether it's growing or shrinking and how fast. A reading is only recorded when a new lap is completed. The trend is the average change per lap across the last five readings.
Using first-to-last delta (rather than lap-by-lap averaging) gives a cleaner trend that's less sensitive to a single outlier lap.
06Data Architecture — No Server Required
The entire system runs in the browser. No server, no database, no internet required (except for the optional TSL feed). State is shared between pages using the browser's local storage — a key-value store that persists between page loads.
Because everything is local, the dashboard works with no signal — useful for circuits with poor pit lane coverage. The only feature that needs a connection is the TSL feed.