CoolFace
Datasetpublic

luxury-lakehouse/scoutgpt-training-data

ScoutGPT Training Data — Player Action Sequences Per-player match-level action sequences unified across StatsBomb Open Data and Wyscout open data. Each row is one player-match's ordered SPADL action sequence with contextual tokens (competition, season, score state, half, opponent), serialized as the token stream that the ScoutGPT transformer consumes during training and at inference. Part of the (Right! Luxury!) Lakehouse soccer analytics platform. Quick Start… See the full description on the dataset page: https://huggingface.co/datasets/luxury-lakehouse/scoutgpt-training-data.

sourceHugging Facecc-by-nc-4.0updated 1mo agoView on Hugging Face
0likes61downloads
Dataset Card

ScoutGPT Training Data — Player Action Sequences

Per-player match-level action sequences unified across StatsBomb Open Data and Wyscout open data. Each row is one player-match's ordered SPADL action sequence with contextual tokens (competition, season, score state, half, opponent), serialized as the token stream that the ScoutGPT transformer consumes during training and at inference.

Part of the (Right! Luxury!) Lakehouse soccer analytics platform.

Quick Start

python
from datasets import load_dataset

ds = load_dataset("luxury-lakehouse/scoutgpt-training-data")
df = ds["train"].to_pandas()
print(f"{len(df):,} player-match sequences, {df['player_id'].nunique():,} unique players")
Explore interactively: Soccer Analytics App

What Is This Dataset?

ScoutGPT is a transformer decoder trained to produce per-player season embeddings by modelling the sequential structure of on-ball actions within a match. Unlike per-action bag-of-features embeddings (Football2Vec v1), ScoutGPT sees the order of actions — so it can capture tempo, build-up patterns, and decision-making over a possession.

This dataset is the serialized per-player-match training corpus produced by `wf-scoutgpt-export` from the gold-layer fct_action_values table.

Schema

ColumnTypeDescription
player_idInt64Canonical player identifier (cross-source resolved)
match_idInt64Provider-native match identifier
data_sourcestringOrigin (statsbomb or wyscout)
competition_idInt64Competition identifier (NULL for Wyscout)
season_idInt64Season identifier (NULL for Wyscout)
team_idInt64Player's team in this match
token_idslist<int32>Tokenized action-sequence for this player in this match
sequence_lengthInt64Number of tokens in the sequence

Data Sources

SourceMatchesLicense
StatsBomb Open Data~3,000CC-BY 4.0
Wyscout Public Dataset~1,900CC-BY-NC 4.0

Inherits the more restrictive CC-BY-NC 4.0 license via Wyscout.

Use Cases

  • —ScoutGPT training: primary training corpus for the ScoutGPT transformer
  • —Sequence-aware embedding research: evaluate new architectures (cross-attention, Fourier position encodings, RoPE) against a common corpus
  • —Downstream fine-tuning: task-specific heads (player-type classification, next-action prediction) on top of pre-trained ScoutGPT checkpoints

Limitations

  • —Open data only: commercial datasets cover additional leagues and seasons
  • —Season-level aggregation: per-match sequences are independent &mdash; cross-match context is not captured in a single row
  • —Derived from SPADL: downstream of the SPADL conversion; any SPADL-adapter issue (see spadl-vaep-action-values) propagates here

Companion Resources

ResourceTypeDescription
ScoutGPTModelTransformer decoder trained on this dataset
ScoutGPT variants (rope)ModelAblation checkpoint with RoPE position encoding
SPADL/VAEP Action ValuesDatasetUpstream source — per-action valuations

License

CC-BY-NC 4.0 (inherited from Wyscout).