Skip to main content
Bronze-layer fact table. One row per driver per lap. ~20–30k rows per race (20 drivers × 50–70 laps). Hive-partitioned by season and race.

Overview

LapTime is nanoseconds in Parquet; convert to seconds with / 1e9. Qualifying laps share this schema and add a session_type=‘Q’ column race laps have no such column at all.
Columns that look real but aren’t. A search for one of these on this dataset will come up empty:
  • session Race laps have no session column at all; only qualifying laps get session_type="Q".

Columns

integer
required
FIA driver number (1–99). Source: FastF1 native.
integer
required
1-indexed lap number within the session. Includes outlap (lap 0) if present. Source: FastF1 native.
integer
Lap duration in nanoseconds. Null for in-progress or invalid laps. Convert to seconds in dbt: LapTime / 1000000000.0. Source: FastF1 native.
string
Pirelli compound. Null if unknown (rare). Source: FastF1 native.
integer
Consecutive laps on current tyre set. Resets to 1 on pit stop. Source: FastF1 native.
boolean
True if tyre age ≤ 1 lap. FastF1 infers from pit stop data. Source: FastF1 native.
string
Single-digit string. 1=green, 2=yellow, 3=virtual safety car, 4=safety car, 5=red, 6=VSC, 7=red+stopped. Source: FastF1 native.
boolean
True if driver exited the pit lane on this lap. Source: FastF1 native.
boolean
True if driver pitted at the end of this lap. Source: FastF1 native.
int64
Session elapsed time at pit lane entry in nanoseconds. Null if no pit-in this lap. Source: FastF1 native.
int64
Session elapsed time at pit lane exit in nanoseconds. Null if no pit-out this lap. Source: FastF1 native.
string
Three-letter driver code (e.g. HAM, VER). Source: FastF1 native.
string
Constructor/team name as returned by FastF1. Source: FastF1 native.
integer
Stint number within the race session, 1-indexed. Resets to 1 after a pit stop. Source: FastF1 native.
int64
Sector 1 duration in nanoseconds. Convert to seconds with / 1e9. Source: FastF1 native.
int64
Sector 2 duration in nanoseconds. Convert to seconds with / 1e9. Source: FastF1 native.
int64
Sector 3 duration in nanoseconds. Convert to seconds with / 1e9. Source: FastF1 native.
int64
Session elapsed time at Sector 1 exit in nanoseconds. Used for air-gap joins. Source: FastF1 native.
int64
Session elapsed time at Sector 2 exit in nanoseconds. Source: FastF1 native.
int64
Session elapsed time at Sector 3 exit in nanoseconds. Source: FastF1 native.
float32
Speed at intermediate trap 1 in kph. Source: FastF1 native.
float32
Speed at intermediate trap 2 in kph. Source: FastF1 native.
float32
Speed at finish line trap in kph. Source: FastF1 native.
float32
Speed at main straight speed trap in kph. Source: FastF1 native.
boolean
True if this lap is the driver’s personal best for the session. Source: FastF1 native.
boolean
True if the lap time was deleted (e.g. track limits violation). Source: FastF1 native.
integer
Race position at end of lap. Source: FastF1 native.
boolean
True if this lap row was synthesised by FastF1 rather than sourced from telemetry. Source: FastF1 native.
int64
Session elapsed time at lap start in nanoseconds. Source: FastF1 native.
boolean
True if telemetry coverage is complete for the lap. FastF1 internal flag. Source: FastF1 native.
string
required
Format: YYYY_RoundNumber. Links to telemetry and race_control. Source: Ingestion pipeline.
string
Only present on qualifying laps files, where it’s always "Q". Absent entirely from race laps; there is no session column on race files. Source: Ingestion pipeline.
integer
required
Hive partition key. Prune all queries with this column. Source: Ingestion pipeline.

Required Columns

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