silly-kicks

(Ministry of) Silly Kicks

Classify and value on-ball football actions using SPADL and VAEP.

Open-source Python library for soccer analytics — converts raw event and tracking data from multiple providers into a unified SPADL representation, then values every on-ball action using VAEP (Valuing Actions by Estimating Probabilities). The Hugging Face Hub hosts pre-trained model weights that ship with the library.


Models

Model Architecture Description
ghost-gk-v1 RFCDE (HistGBR leaf co-occurrence + 2D KDE) Conditional density estimation for league-average goalkeeper positioning. 26 goal-relative features, 60×64 probability grid output. Two variants: "default" (approx. 9 MB, bundled in wheel) and "full" (approx. 91 MB, downloaded from Hub).

What silly-kicks Does

Event data converters (spadl/): StatsBomb, Opta, Wyscout, Sportec, Metrica, Gradient Sports, SkillCorner, plus a Kloppy gateway. All return standardized SPADL DataFrames with guaranteed columns and dtypes.

Tracking data (tracking/): 20-column long-form schema with native adapters for Sportec, Gradient Sports, and Kloppy gateway (Metrica, SkillCorner). 30+ tracking-derived feature families including pitch control, pressure, defensive line geometry, off-ball runs, team shape, cover shadows, DAS, OBSO, PAUSA, and ghost-GK positioning.

Action valuation (vaep/): Binary classifiers (P(scores), P(concedes)) with XGBoost/CatBoost/LightGBM backends. Hybrid-VAEP removes result leakage. Tracking-aware features integrate seamlessly via composition.

Academic Foundations

Module Foundation
SPADL + VAEP Decroos et al., "Actions Speak Louder than Goals" (2019)
Pitch Control Spearman, "Physics-Based Modeling of Pass Probabilities" (2017)
Ghost-GK Le et al. (2017, ghosting); Dutta et al. (2024, NFL RFCDE); Pospisil & Lee (2018, RFCDE)
Pressure Andrienko et al. (2017, oval zones); Bekkers (2024, π-model)
OBSO Spearman (2018, off-ball scoring opportunity)
DAS Bischofberger & Baca (2026, accessible space)

Links