Stanford Tabular and Relational Project

Benchmark RelBench · NeurIPS 2024  ·  RelBench v2 · ICLR 2026 DATA-FM Workshop

RelBench: A Benchmark for Deep Learning on Relational Databases

Joshua Robinson, Rishabh Ranjan, Weihua Hu, Kexin Huang, Jiaqi Han, Alejandro Dobles, Matthias Fey, Jan Eric Lenssen, Yiwen Yuan, Zecheng Zhang, Xinwei He, Jure Leskovec

Stanford University  ·  Kumo.AI

RelBench is an open benchmark for predictive machine learning on relational databases. It pairs curated multi-table databases with well-defined predictive tasks and a single standardized evaluation, so methods can be compared head to head, helping Relational Deep Learning and relational foundation model research move quickly. The original benchmark (NeurIPS 2024) was extended by RelBench v2 (ICLR 2026 DATA-FM Workshop) into a large-scale repository, and RelBench 3 (the current PyPI release) loads every database and task straight from the Hugging Face Hub. The benchmark, datasets, and tooling are open source under an MIT license.

11
curated benchmark databases across very different domains
66
predictive tasks with fixed temporal splits
90
community databases in the wider repository
4
task types: classification, regression, recommendation, and autocomplete

Relational deep learning

Most of the world's data lives in relational databases, several tables linked through primary and foreign keys. Turning that data into a prediction has traditionally meant flattening the tables into one feature matrix by hand, a slow and lossy process that throws away much of the relational structure. Relational Deep Learning instead treats the database directly as a graph, where rows are nodes and foreign keys are edges, and learns predictive models end to end with no manual feature engineering. Because the model reads the schema itself, one architecture can serve many tasks over the same database, and increasingly transfer across databases as a relational foundation model.

The paradigm was set out in the Relational Deep Learning position paper (ICML 2024), and RelBench is the benchmark built to measure it. It gives the field a common yardstick, the same way ImageNet did for computer vision, so that progress on relational prediction is concrete and reproducible.

Datasets and tasks

The benchmark gathers eleven real-world databases from very different domains, each shipped with a fixed temporal split and a set of predictive tasks. Every prediction is made at a reference time and may use only information available before it, so each task is a realistic forecast rather than a leaky lookup. The seven original databases (30 tasks) are hosted at stanford-star/relbench-v1.

Database (v1)DomainExample tasks
rel-amazonE-commerce reviewschurn, lifetime value, recommendation
rel-avitoOnline advertisingclick-through rate, ad visits, clicks
rel-eventEvent recommendationattendance, repeat, ignore
rel-f1Formula 1 racingfinishing position, top-3, DNF
rel-hmFashion retailitem sales, churn, purchase
rel-stackOnline Q&Apost votes, engagement, badges
rel-trialClinical trialsstudy outcome, adverse events, site success

RelBench v2 adds four databases and 36 tasks, including Autocomplete tasks that predict existing columns of the original seven databases, hosted at stanford-star/relbench-v2-extra.

Database (v2)DomainExample tasks
rel-saltEnterprise sales ordersship point, incoterms, payment terms
rel-ratebeerBeer ratingsuser churn, brewer dormancy, beer recommendation
rel-arxivScientific publishingauthor category, citations, co-citation
rel-mimicClinical recordsrequires PhysioNet credentials; not redistributed

Tasks fall into four types, each scored with a single metric so results stay directly comparable across methods and databases.

AUROC
Entity classification. Predict a binary outcome for an entity at a future time, such as whether a user will churn in the next window.
MAE
Entity regression. Predict a numeric quantity for an entity, such as the sales an item will see over the coming period.
MAP
Recommendation. Rank the items an entity will engage with, such as the products a user will buy or the posts they will answer.
AUROC / MAE
Autocomplete. Predict an existing column of a row that is hidden at load time, such as the rating of a review or the plant an order ships from.

A growing repository

RelBench v2 expands the benchmark into a single entry point for a much larger collection of 90 community databases, all loaded with the same relbench.load_dataset("<org>/<repo>/<name>") call.

Leaderboard

RelBench tracks test-set results across its tasks, submitted as prediction tables through the RelBench repository and validated automatically, and kept current as the field shifts toward relational foundation models. There are three independent boards, classification (12 tasks), regression (9), and recommendation (10), each ranking methods by their mean test metric over every task on the board, and in-context submissions are marked so zero-shot and task-specific results stay easy to read side by side.

Live results. Browse the RelBench leaderboard, and contribute your own results: validate and package predictions with python -m relbench.submit preds/, then open a submission issue on the RelBench repository (see how to submit). For standardized, reproducible train → tune → evaluate comparisons on RelBench, see RelArena-α, built with Prior Labs.

Get started

RelBench installs from PyPI and loads any database and task straight from the Hub, with no per-dataset code.

pip install relbench             # data + task loading
pip install "relbench[example]"  # + PyTorch Geometric & PyTorch Frame, for the GNN examples

Loading a dataset and a task takes only a few lines, and the relational schema comes back ready to model.

import relbench

dataset = relbench.load_dataset("rel-f1")   # or a HuggingFace 'org/repo[/subdir]', or a local path
db = dataset.get_db()                  # rows after test_timestamp are hidden

task = dataset.load_task("driver-position")   # dataset.get_task_names() lists them
train_table = task.get_table("train")  # train / val / test label tables
test_table  = task.get_table("test")   # the target column is hidden on test

# ... train any model on db + train_table, predict on the test entities ...
metrics = task.evaluate(test_pred)     # standard metric for the task type

Two short notebooks walk through the rest and open directly in Google Colab with no local setup.

Cite

If you use RelBench, please cite the position and benchmark papers. If you use RelBench v2, please also cite the v2 paper.

@inproceedings{rdl,
  title     = {Position: Relational Deep Learning - Graph Representation Learning on Relational Databases},
  author    = {Fey, Matthias and Hu, Weihua and Huang, Kexin and Lenssen, Jan Eric and Ranjan, Rishabh and Robinson, Joshua and Ying, Rex and You, Jiaxuan and Leskovec, Jure},
  booktitle = {Forty-first International Conference on Machine Learning}
}
@inproceedings{relbench,
  title     = {RelBench: A Benchmark for Deep Learning on Relational Databases},
  author    = {Robinson, Joshua and Ranjan, Rishabh and Hu, Weihua and Huang, Kexin and Han, Jiaqi and Dobles, Alejandro and Fey, Matthias and Lenssen, Jan Eric and Yuan, Yiwen and Zhang, Zecheng and He, Xinwei and Leskovec, Jure},
  booktitle = {Advances in Neural Information Processing Systems},
  year      = {2024}
}
@misc{relbenchv2,
  title         = {RelBench v2: A Large-Scale Benchmark and Repository for Relational Data},
  author        = {Justin Gu and Rishabh Ranjan and Charilaos Kanatsoulis and Haiming Tang and Martin Jurkovic and Valter Hudovernik and Mark Znidar and Pranshu Chaturvedi and Parth Shroff and Fengyu Li and Jure Leskovec},
  year          = {2026},
  eprint       = {2602.12606},
  archivePrefix = {arXiv},
  primaryClass = {cs.LG},
  url          = {https://arxiv.org/abs/2602.12606}
}