RAKE estimates two numbers for every driver on every session. One is how much drag (CdA) the car had on track, the other how much downforce (ClA). Both come from fitting a physical model against public telemetry, never from private team data.
01 · DATA IN
Everything comes from public F1 telemetry, which carries speed, distance travelled, gear, sector times and each session’s conditions, including measured air density and declared mass. There is no private team data.
02 · WINDOWS
Not every part of the lap is useful. RAKE looks for windows where the car runs steady, above a speed floor and past a flatness threshold. Those are the stretches where the fit is trustworthy.
03 · THE FIT
The aerodynamic force is fitted over those windows. The fit returns a central value and a margin of error, never a single number presented as exact.
04 · PUBLICATION
A driver needs a minimum number of useful windows before a value is published. Reaching that minimum is necessary, but not sufficient on its own.
05 · WHAT IT DOESN’T CAPTURE
Wind, mass drift from fuel burn, tyre temperature and engine modes are not captured. These numbers are useful to compare drivers and sessions within the same event, not as an absolute measurement.
The full equation has three terms. The first is aerodynamic and grows with the square of speed. The second is a mechanical constant, the rolling and drivetrain resistance that does not depend on speed. The third is tyre scrub, a mechanical drag rather than an aerodynamic one, and it only appears in a corner, when there is lateral acceleration. Ignoring it inflates the measured drag coefficient by up to 93%. With k_scrub = 0 and a_lat = 0 the model reduces back to the simpler two-term form.
(0.5 · ρ · C2 · v² + c_const_n + k_scrub · (m · a_lat)²) / m0.5 · ρ · C2 · v²The aerodynamic term, which grows with the square of speed.
c_const_nThe mechanical constant, flat with speed.
k_scrub · (m · a_lat)²Tyre scrub, which only appears while the car is cornering.
crr = 0.014The rolling resistance coefficient, assumed rather than measured or calibrated. It is a declared physical assumption. Unlike the other parameters it has no documented uncertainty in any reference source, so the ±30% sensitivity range around 0.014 is an explicit design decision and not a measurement.
cda_z = c2 − crr · claSubtracting the load contribution from c2 leaves the pure aerodynamic drag, which is what cda_z states.
eta = 0.95The efficiency, also assumed. It backs out the implied deployed power on a straight, which is what anchors the coast-down c2.
The friction ellipse ties the combined lateral and longitudinal demand to the grip the tyre can supply at a given vertical load N, which is the weight plus the aerodynamic downforce.
m · √(a_lat² + a_lon²) = μ(N) · Nμ(N) = mu0 / (1 + k_s · N)N = m · g + 0.5 · ρ · cla · v²mu0 = 1.9 (±0.1)The base tyre coefficient, fixed rather than calibrated live per session.
k_sThe sensitivity of grip to load, in units of 1/N. It is swept over a range, keeping only the values whose effective μ falls inside physically reasonable bands, looser for slow corners and tighter for fast ones.
ClA is solved using the TrackModel’s frozen radius multiplied by the lap’s v², never the individual lap’s own radius, which would break consistency across laps (see Lateral acceleration).
p_regen_max_kw ≤ (c_const_n − c_mech_min) · v_max, 0–130 kWThis is a bound and not a measurement, declared explicitly as bounded, the one provenance category besides measured, calibrated and assumed. The starting range is 0–130 kW, never the regulatory ceiling of 350 kW.
Regeneration contaminates the deceleration because lifting off does not slow the car through air and rolling resistance alone. The system recovers energy at the same time, and that recovery mixes into any measurement treating deceleration as purely aerodynamic. It is more pronounced in the race and the sprint, where there is more fuel and more braking, than in qualifying.
Q +15 kg · S +35 kg · R +70 kg · −1.2 kg/lapThe fuel load each session type starts with, burning off at −1.2 kg per completed lap. An unknown session type is an explicit error, never a silent default.
That fuel load feeds directly into the drag model’s mass m. In the race and the sprint the total mass falls linearly with laps, shifting by up to 8% inside a single session.
Flatness is the ratio between the fit’s highest and lowest coefficient across speed ranges. The closer to 1×, the more stable the fit. These are the values measured at each speed floor.
| Speed floor | Flatness |
|---|---|
| no floor | 8.57× |
| 120 km/h | 1.59× |
| 150 km/h | 1.01× |
| 170 km/h | 1.01× |
v_min_fit_kmh = 150That floor was chosen because it is where flatness moves from 8.57×, which says the model does not describe the data, to a stable 1.01×, with clear margin over the next-worst measured point of 1.59× at 120 km/h. Below 150 the aerodynamic term, proportional to v², is too small against the mechanical constant at low speed, and treating regeneration as constant stops holding.
flatness_gate = 1.25That threshold stays well clear of the next-worst measured point, 1.59× at 120 km/h, and leaves more margin for the noise of small samples.
The FIA corner catalogue is anchored by lap distance rather than measured directly. The metre marks are derived from the circuit map, and the official document carries sector anchors to validate them, for example "110 m before turn 7" from the sector 1 cut.
Corner peaks are detected from real telemetry, specifically from lateral acceleration, and not from the manual markers. The markers only label each peak with its official number.
SM A1 57 m vs 60 · SM A2 68 m vs 70 (FIA)At Zandvoort each straight-mode zone carries two activation lines whose separation the document states as 60 m in zone A1 and 70 m in A2. The positions transcribed off the plan reproduce 57 m and 68 m, under 3 metres of error in both, which confirms the transcription is faithful.
~1 m GPS · 25 m base · ~2 g spuriousGPS has an error of roughly 1 m, and over a 25 m measurement base that produces up to 2 g of spurious lateral acceleration, a large error against the real signal being measured.
Each measurement window’s lateral acceleration comes from a circuit curvature profile averaged across laps, not from fitting a local circle to that window’s own GPS position samples. The averaged profile is a stable property of the circuit, computed once per event, and not of a single pass.
The averaging is done with signed curvature rather than its absolute value, because averaging the absolute value amplifies noise instead of cancelling it.
flatness_gate = 1.25See Why 150 km/h.
min_useful_windows = 5A driver needs at least 5 useful windows; a window is useful if it has at least 2 readings above the speed floor. Below that minimum their coefficient is not published in the session.
load_range_ratio = 1.5If the ratio between the maximum and minimum vertical load observed across the corners used for the fit falls below 1.5, there is not enough load variation to solve for ClA reliably, so the value travels as null rather than as an unreliable number.
cda_band_width_high_max = 0.30If the drag uncertainty band’s relative width exceeds 30% of the central value, the coefficient is declared order_of_magnitude instead of high.
noise_floor_g ≤ 0.05 · lap_count ≥ 40Freezing a calibration takes two conditions at once. The measured noise floor over verified straight stretches, where curvature is zero by construction, has to stay at or below 0.05, and the accumulated lap count has to reach at least 40. The noise floor is the direct measurement of whether the method works, while the lap count is only a proxy, since forty dirty laps can produce a worse floor than twenty-five clean ones.
highThe identifiability gate passes and the uncertainty band is narrow, at or under 30% of the central value.
order_of_magnitudeThe identifiability gate passes but the band is wide, over 30%, so the order of magnitude is trustworthy and the exact value is not.
not_publishableThe identifiability gate fails, so the value and both of its bounds travel as null, never as an approximate number.
They are declared separately because a driver can have a publishable load and a non-publishable drag, which is the most frequent case. Each magnitude has its own gate and its own reason to degrade.