rel-f1 F1 Database

Database Description: The F1 database tracks all-time Formula 1 racing data and statistics since 1950. It provides detailed information for various stakeholders including drivers, constructors, engine manufacturers, and tyre manufacturers. Highlights include data on all circuits (e.g. geographical details), and full historical data from every season. This includes overall standings, race results, and more specific data like practice sessions, qualifying positions, sprints, and pit stops.

Database Statistics:

Num of Tables 9
Num of Rows 97,606
Num of Columns 77
Starting Time 1950-05-13
Validation timestamp 2005-01-01
Testing timestamp 2010-01-01
Time window 1 month

Database schema:

To load this relational database in RelBench, do:

from relbench.datasets import get_dataset
dataset = get_dataset("rel-f1")

References:

[1] F1DB.

Dataset License: CC-BY-4.0 license.


Node Classification Tasks

driver-dnf

Task Description: For each driver predict the if they will DNF (did not finish) a race in the next 1 month.

Evaluation metric: AUROC

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-f1")
task = dataset.get_task("driver-dnf")
task.train_table, task.val_table, task.test_table # training/validation/testing tables

driver-top3

Task Description: For each driver predict if they will qualify in the top-3 for a race in the next 1 month.

Evaluation metric: AUROC

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-f1")
task = dataset.get_task("driver-top3")
task.train_table, task.val_table, task.test_table # training/validation/testing tables

Node Regression Tasks

driver-position

Task Description: Predict the average finishing position of each driver all races in the next 2 months.

Evaluation metric: MAE

To load the dataset and the split, do:

from relbench.datasets import get_dataset
dataset = get_dataset(name = "rel-f1")
task = dataset.get_task("driver-position")
task.train_table, task.val_table, task.test_table # training/validation/testing tables