Skip to main content
    TabArena Logo

A Living Benchmark for Machine Learning on Tabular Data 💫


🚀 Leaderboard 📂 Example Scripts 📊 Dataset Curation 📄 Papers: TabArena-v0.1 · BeyondArena

TabArena is a living benchmarking system that makes benchmarking tabular machine learning models a reliable experience. TabArena implements best practices to ensure methods are represented at their peak potential, including cross-validated ensembles, strong hyperparameter search spaces contributed by the method authors, early stopping, model refitting, parallel bagging, memory usage estimation, and more. Explore the latest results on the live leaderboard.

This single codebase powers two complementary benchmarks that share the same fitting, runner, and evaluation code:

  • 🏟️ TabArena-v0.1 — the living benchmark on curated, IID tabular datasets.
  • 🌍 BeyondArena — a holistic, beyond-IID benchmark spanning IID, temporal, and grouped tasks across a wide range of dataset sizes and feature dimensionalities. BeyondArena will superseed TabArena-v0.1 in the future.

Tip New here? Start with TabArena, then graduate to BeyondArena. Get your model working and competitive on TabArena's curated IID datasets first; once it holds up there, run the same code on BeyondArena to stress-test how well it generalizes beyond IID.

TabArena covers 51 curated datasets (9–30 splits each) and 27+ methods, including 10+ tabular foundation models — over 50M trained models, with all validation and test predictions cached for tuning and post-hoc ensembling. BeyondArena extends this to 142 datasets across IID, temporal, and grouped task types, spanning tiny to 1M-row datasets and low- to high-dimensional features.

⚡ Quickstart

Tip The fastest way to try TabArena end-to-end:

pip install uv
git clone https://github.com/autogluon/tabarena.git && cd tabarena
uv venv --seed --python 3.12 && source .venv/bin/activate
uv pip install --prerelease=allow -e "./packages/tabarena[benchmark]"
python examples/benchmarking/run_quickstart_tabarena.py

For other install paths (eval-only, editable AutoGluon, dependency), see Installation below. To try BeyondArena instead, run python examples/beyondarena/run_quickstart_beyondarena.py with the same install.

🕹️ Use Cases

We share more details on various use cases of TabArena in our examples:

Datasets

Please refer to our dataset curation repository to learn more about or contributed data!

More Documentation

TabArena code is currently being polished. Detailed Documentation for TabArena will be available soon.

🪄 Installation

Important Requires Python 3.11–3.13 and uv.

TabArena is a uv workspace; its installable packages live under packages/ (tabarena, bencheval, tabflow_slurm). Install the tabarena package directly from packages/tabarena with the extras you need. The --prerelease=allow flag is required so uv resolves the pre-release dependency.

First clone the repo and create a virtual environment (one time):

git clone https://github.com/autogluon/tabarena.git
cd tabarena
uv venv --seed --python 3.12
source .venv/bin/activate

Then pick the install path that matches what you want to do:

📊 Evaluation only — leaderboards, metrics & plots, no model fitting

Loads cached results and computes/plots leaderboards & metrics (ELO, win-rates, ranks). Depends on autogluon.tabular (not the full AutoGluon meta-package) — no model-fitting libraries and no torch.

uv pip install --prerelease=allow -e "./packages/tabarena[plot]"
🚀 Benchmark — core set of models for benchmarking

Installs the core models used for standard benchmarking: tabpfn, tabicl, ebm, search_spaces, realmlp, tabdpt, tabm.

uv pip install --prerelease=allow -e "./packages/tabarena[benchmark]"
➕ Benchmark + Extended — core models plus the extended model set

The extended extra is experimental and may fail to resolve or install due to incompatible version requirements across model dependencies. Use it only if you specifically need every model in a single environment; otherwise prefer benchmark or benchmark plus one specific model.

Layers the extended model set (modernnca, xrfm, sap-rpt-oss, ...) on top of the core benchmark set.

uv pip install --prerelease=allow -e "./packages/tabarena[benchmark,extended]"

To install only one extended model on top of benchmark (recommended over extended when you only need a single extra model), pass its extra by name — for example, just xrfm:

uv pip install --prerelease=allow -e "./packages/tabarena[benchmark,xrfm]"
🛠️ Developer — editable AutoGluon + editable TabArena

Create a virtual environment in your workspace directory (it spans both repos cloned below, so .venv lives at the workspace root rather than inside either repo):

uv venv --seed --python 3.12 .venv
source .venv/bin/activate

Install editable AutoGluon and TabArena:

git clone https://github.com/autogluon/autogluon.git
./autogluon/full_install.sh

git clone https://github.com/autogluon/tabarena.git
uv pip install --prerelease=allow -e "./tabarena/packages/tabarena[benchmark]"

In PyCharm, mark packages/tabarena/src/ and each autogluon/src/ subdirectory as Sources Root so imports resolve.

🧪 PyPI — experimental pre-releases, no clone needed

tabarena and bencheval are published to PyPI as pre-releases for projects that cannot depend on git URLs, so pass --pre (pip) or --prerelease=allow (uv). The core package and [plot] are complete. Model extras whose upstream package is only available from git (tabfm, sap-rpt-oss, exaone_tabular) are empty on PyPI; the model's install hint tells you what to install by hand. The git checkout above stays the recommended install.

uv pip install --prerelease=allow "tabarena[plot]"   # or: pip install --pre "tabarena[plot]"
uv pip install --prerelease=allow bencheval          # leaderboard engine only
📦 Use TabArena as a dependency

Add one of the following to your project's dependencies:

# TabArena depends on a pre-release of AutoGluon, so allow pre-releases when installing
# (e.g. `uv pip install --prerelease=allow ...` or `pip install --pre ...`).
# Alternatively, pin AutoGluon to a specific pre-release (an exact `==` pin resolves a
# pre-release without the flag), e.g. add `"autogluon.tabular==1.5.1b20260626"`.

# From PyPI (experimental pre-releases; each tabarena release pins its matching bencheval):
"tabarena>=0.1.0a1"
# From git (tip of main; publishable to PyPI only as a source-only extra, see issue #495):
"tabarena @ git+https://github.com/autogluon/tabarena.git#subdirectory=packages/tabarena"

📦 TabArena Artifacts

TabArena caches predictions, results, and leaderboards as downloadable artifacts so you can reproduce or extend any analysis without re-running the benchmark.

Artifact tiers, sizes, and examples

Artifacts download to ~/.cache/tabarena/ by default. Override the location with the TABARENA_CACHE environment variable.

Raw data is ~100 GB per method type. Point TABARENA_CACHE at a large disk before downloading it.

Tier Contents Size / method Example
Raw data Per-child test predictions, full metadata, system info ~100 GB inspect_raw_data_and_verify_splits.py
Processed data Minimal data for HPO simulation, portfolios, leaderboards ~10 GB inspect_processed_data.py
Results Per-config / HPO DataFrames (test error, val error, train time, inference time) <1 MB run_generate_main_leaderboard.py
Leaderboards Aggregated ELO, win-rate, average rank, improvability <1 MB
Figures & Plots Generated from results and leaderboards

📄 Citation

If you use this code in a scientific publication, please cite the relevant paper(s): TabArena for the living IID benchmark, and BeyondArena for the beyond-IID benchmark.

TabArena

TabArena: A Living Benchmark for Machine Learning on Tabular Data Nick Erickson, Lennart Purucker, Andrej Tschalzev, David Holzmüller, Prateek Mutalik Desai, David Salinas, Frank Hutter NeurIPS 2025, Datasets and Benchmarks Track

📄 arXiv · 🎤 NeurIPS poster & video

BibTeX

The entry uses year=2026 because NeurIPS'25 proceedings are published in 2026.

@article{erickson2026tabarena,
  title   = {TabArena: A Living Benchmark for Machine Learning on Tabular Data},
  author  = {Erickson, Nick and Purucker, Lennart and Tschalzev, Andrej and Holzm{\"u}ller, David and Desai, Prateek and Salinas, David and Hutter, Frank},
  journal = {Advances in Neural Information Processing Systems},
  volume  = {38},
  year    = {2026}
}

BeyondArena

Beyond IID: How General Are Tabular Foundation Models, Really? Lennart Purucker, Andrej Tschalzev, Nick Erickson, Gioia Blayer, David Holzmüller, Alan Arazi, Alexander Pfefferle, Mustafa Tajjar, Gaël Varoquaux, Frank Hutter

📄 arXiv

BibTeX
@misc{purucker2026beyondiid,
  title         = {Beyond IID: How General Are Tabular Foundation Models, Really?},
  author        = {Purucker, Lennart and Tschalzev, Andrej and Erickson, Nick and Blayer, Gioia and Holzm{\"u}ller, David and Arazi, Alan and Pfefferle, Alexander and Tajjar, Mustafa and Varoquaux, Ga{\"e}l and Hutter, Frank},
  year          = {2026},
  eprint        = {2606.30410},
  archivePrefix = {arXiv},
  primaryClass  = {cs.LG},
  url           = {https://arxiv.org/abs/2606.30410}
}

Relation to TabRepo

TabArena was built upon and now replaces TabRepo. To see details about TabRepo, the portfolio simulation repository, refer to tabrepo.md.

Research code

This repository contains research code intended for academic research and experimentation. It is not production-ready and should be reviewed, tested, and secured before use in production.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tabarena-0.1.0.tar.gz (926.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tabarena-0.1.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file tabarena-0.1.0.tar.gz.

File metadata

  • Download URL: tabarena-0.1.0.tar.gz
  • Upload date:
  • Size: 926.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tabarena-0.1.0.tar.gz
Algorithm Hash digest
SHA256 11d93c82c5727f348d2aecff6d5946484e570319ade1d7cd1812d926e86dddf7
MD5 6d52c0999fed4b978fb52ad6c5115a28
BLAKE2b-256 1255e12513e76193d28986f9ee5d97029622c84b0645b8a1d6dbafb96a32b9b5

See more details on using hashes here.

File details

Details for the file tabarena-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tabarena-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tabarena-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b4ff87caacc9f36d37005e1fa4abcef7d19335143adce132ebceffaf7614082f
MD5 e364c169f4b6159dfcc852e01ed92178
BLAKE2b-256 b16802cd1afdbc73aad273174010186216d9d5a67c2f7638d36d6c7b8ce1486f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page