Skip to main content
Some drivers seem to find an extra tenth at certain tracks year after year. This heatmap measures that: for each driver and circuit, how much better or worse he does against his teammate there than he does on average. The car is removed by the teammate comparison. Negative (green) means the driver does better against his teammate at that circuit than his own average; positive (red) means worse.

What it shows

Each cell is one driver × circuit affinity:
  • Affinity: the driver’s Bayesian-shrunk gap to his teammate at the circuit, minus his own average gap across every circuit. Each race’s input is the driver’s median lap-by-lap gap to his teammate on laps both ran clean. The circuit estimate is shrunk toward the driver’s own mean with 5 virtual races as the prior weight, so drivers with few visits are pulled toward zero affinity.
  • Sign convention: negative (green) = better against his teammate at this circuit than his own average; positive (red) = worse. Each row is measured against that driver’s own average, so a row mixes green and red even for a driver who beats his teammate everywhere.
  • Confidence: the fraction of the posterior coming from data versus prior, n_obs / (n_obs + 5). Values below 0.17 (one race) are prior-dominated.
Drivers are sorted by their overall gap to their teammates, biggest margin first; circuits are sorted alphabetically.
Cells are shown only when n_obs ≥ 2 (two or more races at the circuit). Single-race visits are excluded as unreliable, so empty cells mean too few visits, not zero affinity.

How to use it

  1. Scan a driver’s row for his strong (green) and weak (red) circuits.
  2. Scan a circuit’s column to see which drivers historically over-deliver there against their teammates.
  3. Hover a cell to see the driver’s overall gap to his teammate alongside the circuit’s deviation from it.
  4. Check confidence before concluding: a strong colour on a low-confidence cell is mostly prior, not signal.

Reading the signal correctly

Affinity is within-driver: it compares a driver to himself, so it is not a pace ranking. A driver who trails his teammate everywhere can still show strong green at a circuit that suits his style.
Until 2026-09-28 this heatmap drew the shrunk gap to the teammate itself (a level) on a zero-centred scale, so every cell was green (audit finding F44). It now draws the deviation from the driver’s own mean. Affinity and the era ratings share the same race-grain rating; do not stack them as if independent. See the decomposition limitations.

Data source

The chart queries int_driver_circuit_affinity via DuckDB-Wasm in the browser. The heatmap pools every season in the data, 2018–2025. For the full model definition, see the int_driver_circuit_affinity reference.