Skip to main content
Bronze-layer event log. One row per sample per driver per lap. Sampled at ~10 Hz; ~2–5 million rows per race. Very wide partition always filter by season and race_id.

Overview

speed_kph, throttle_pct are float32 to save space. Sparse: many null samples for cars that DNF or have sensor dropouts. Race only; telemetry is never written for qualifying sessions.
Columns that look real but aren’t. A search for one of these on this dataset will come up empty:
  • brake_pct FastF1 exposes no brake-pressure channel; only the boolean brake.
  • drs (boolean) The real column is DRS, a numeric enum where only 10, 12, and 14 mean the flap is open.
  • gear The real column is nGear.
  • session Telemetry has no session column at all; it’s written only for race sessions, never qualifying.

Columns

float32
Car speed in kilometres per hour. Sampled at ~10 Hz. Source: FastF1 native.
float32
Throttle pedal position, 0–100%. Source: FastF1 native.
boolean
True if brake pedal is applied. Source: FastF1 native.
int64
Current gear, 0 (neutral) to 8. Source: FastF1 native.
float32
Distance from lap start in metres. Resets to 0 on each new lap. May have small gaps during pit stops. Source: FastF1 native.
int64
DRS status enum. Only 10, 12, and 14 mean the flap is open; other values mean inactive. Decode once in staging; don’t carry the magic numbers downstream. Source: FastF1 native.
string
required
Three-letter driver code (HAM, VER, etc.). Links to laps.DriverNumber via stg_f1_laps. Source: FastF1 native.
integer
required
Links to laps.LapNumber. Source: FastF1 native.
string
required
Links to laps.race_id. Format: YYYY_RoundNumber. Source: Ingestion pipeline.
integer
required
Hive partition key. Always include in WHERE clause to avoid full scans. Source: Ingestion pipeline.

Required Columns

These columns are always present (non-null, always ingested): driver_id, lap_number, race_id, season.