Club soccer · Methodology

Show the work. Then the limits.

Every Big-5 prop number on this site traces to a logged bake, a held-out calibration row, or a captured sportsbook line, labeled separately.

Player profiles
3,037
Match archive
8,406
Prop markets
13
Season mode
in-season

Ledger refreshed July 17, 2026

The process

  1. 01

    Build the player panel

    Match logs from api-football and Understat join FBref season rates. Every prop row carries minutes, opponent, venue, and rolling hit-rates. The workbench shows measured history, not a forecast.

  2. 02

    Train on temporal holdout

    LGBM prop models fit on Big-5 club data with a strict time split. Isotonic calibration runs before serve. ECE must stay under the publication gate. Base-rate climatology is the skill benchmark.

  3. 03

    Read posted lines

    API-Football player props supply multi-book prices. We headline fair (model-implied American) vs best available decimal, not raw edge %. Injury status scales or suppresses headline reads.

  4. 04

    Validate before publish

    Hub bakes run through validate_soccer_hubs.py fail-closed. Probabilities must be coherent, prop slugs must crosswalk to player pages, and in-season fixture counts must match props slates.

Validation metrics

Log-loss skill

Improvement vs per-player base rates on the temporal holdout. Positive means the model beats guessing the historical rate.

Brier score

Mean squared error on binary prop outcomes. Lower is better, comparable across markets.

ECE

Expected calibration error after isotonic mapping. Publication gate at 8%. Served club props typically run under 3%.

Deploy gate

validate_soccer_hubs.py must pass before JSON reaches Cloudflare Pages. No silent WARN-and-ship.

Known limits

  • 01

    Hit-rates describe past samples. Model % is a calibrated estimate. Neither is a promise.

  • 02

    Model-minus-market gaps are diagnostics. CLV vs closing line is the honest betting metric when captured.

  • 03

    Availability adjustments are heuristic. Out or suspended players may be dropped from headline picks.

  • 04

    Spatial viz (shot maps, radars) is display context, not fed back into LGBM features on publish.

  • 05

    Off-season builds may ship empty fixture hubs while props and player archives remain populated.

  • 06

    NB ladder models for some markets coexist with LGBM. The canonical board picks one family per stat.