Business Glossary
Acronyms, model labels, and technical terms used across this dashboard.
Betting & Markets
- H2H
- Head-to-Head. Win/loss market — punter bets on which team wins outright with no handicap. Prices are expressed as decimal odds (e.g. 1.85 = $1.85 returned per $1 staked including stake).
- Line / Spread
- Handicap market. One team is given a head-start (e.g. −6.5 points). The bet wins if the favoured team wins by more than the handicap, or the underdog loses by less.
- Total / Over-Under
- Combined points-scored market. Punter bets whether the total points in the match will be over or under the bookmaker's line.
- EV
- Expected Value. Average profit per unit staked if the bet were placed many times. Positive EV = model estimates a long-run edge. Formula: EV = (model_prob × decimal_odds) − 1.
- CLV
- Closing-Line Value. Difference between the price you obtained (open or refresh) and the closing price just before kickoff. Positive CLV indicates you beat the sharpest market consensus — historically the strongest predictor of long-run betting profitability.
- CLA
- Closing-Line Agreement. Fraction of model signals where the market moved in the predicted direction by close. CLA ≥ 53% with |z| ≥ 2 suggests the model holds information the market later confirms. ~50% = signals are noise.
- Kelly / Shrunk Kelly
- Kelly Criterion. Stake-sizing formula that maximises long-run bankroll growth: stake = (edge) / (decimal_odds − 1). Shrunk Kelly scales the stake by a fraction (typically ¼–½) to reduce variance — used here as a conservative sizing policy in backtests.
- ROI
- Return on Investment. Net profit divided by total staked, expressed as a fraction. ROI = 0.05 means 5 cents profit per dollar staked on average. Reported here with season-bootstrap confidence intervals — never interpreted in isolation.
- λ (lambda)
- Walk-forward market-blend weight. The single number that says whether a model carries information the market lacks. Estimated by a ridge regression of model implied-probability vs. opening-market probability → margin outcome. λ ≥ 0.10 is the promotion gate for H2H models.
- GO / WATCH
- Signal labels on match cards. GO = model edge exceeds threshold, bet is recommended for paper-trading. WATCH = edge is borderline; monitor but don't act yet.
- Open / Refresh / Close
- Odds snapshot labels. Open = first price when the market opens (typically Mon/Tue). Refresh = mid-week update. Close = final price collected ≈ 60 min before kickoff. CLV is always measured open-to-close.
Models & Statistics
- Elo
- Elo rating system (named after Arpad Elo). Team strength estimated from win/loss history, updated after each match proportional to the surprise of the result. Used here as the baseline H2H model.
- Logit
- Logistic regression. Linear model that maps feature scores to a probability (0–1) via the sigmoid function. Used here to blend Elo, RAPM, and market features into a single H2H probability.
- RAPM
- Regularised Adjusted Plus-Minus. Ridge-regression estimate of each player's individual contribution to team scoring margin, controlling for teammates and opponents faced. Players are rated in points-per-80-minutes. Lineup delta = sum of home RAPM − sum of away RAPM for the 13 named starters each side.
- xRAPM
- Extended RAPM with stats prior. RAPM variant where each player's ridge prior is shifted toward a prediction from their historical box-score stats (run metres, tackles, line breaks, etc.) rather than shrunk to zero. Requires ≥ 400 career minutes of historical data.
- cpois
- Correlated Poisson model. Scores home and away points as correlated Poisson random variables. Generates full score-distribution forecasts for line and total markets, beyond just win probability.
- MAE
- Mean Absolute Error. Average absolute difference between predicted and actual margin/total across all matches. Lower is better. Used to gate line and total models (G3, G4).
- RMSE
- Root Mean Squared Error. Like MAE but penalises large errors more heavily. Reported alongside MAE for margin/total models.
- Log-loss
- Logarithmic loss. The primary accuracy metric for H2H probability models. Penalises confident wrong predictions heavily. Lower is better. Market baseline ≈ 0.626. G6 gate: model log-loss must beat the open-market log-loss.
- ECE
- Expected Calibration Error. Measures how well predicted probabilities match actual win rates across probability buckets. ECE = 0.02 means the model's 60% predictions win about 60% of the time (well calibrated). Lower is better.
- CI
- Confidence Interval. Range within which the true value falls with a stated probability (here 90%). All ROI figures are reported with season-bootstrap CIs — if the CI crosses zero, the result is not statistically distinguishable from break-even.
- G1 – G7
- Pre-registered gates. Objective pass/fail criteria defined before running each model phase, preventing cherry-picking of results. Key gates: G1 = ss_strength beats Elo baseline; G2 = λ ≥ 0.10 for strength model; G6 = RAPM model log-loss beats market; G7 = RAPM λ ≥ 0.10.
NRL & Competition
- NRL
- National Rugby League. Australia's top-tier rugby league competition, 17 clubs, 26-round regular season, followed by finals.
- SOO
- State of Origin. Annual representative series (NSW Blues vs QLD Maroons). Best players from each state are called up, causing significant team-list disruptions in the rounds around Origin dates.
Data & Infrastructure
- DQ
- Data Quality. Suite of dbt tests that validate row counts, nulls, uniqueness, and business-rule invariants across all staged tables. The DQ gate must pass before model predictions are trusted.
- dbt
- Data Build Tool. SQL-based transformation framework. Defines silver (cleaned) and gold (analytics-ready) models from raw staged data. Handles dependencies, incremental builds, and built-in testing.
- DuckDB
- DuckDB. In-process OLAP database. Reads Parquet files and runs analytical SQL locally with no server. The primary query layer for this dashboard and all model training.
- Parquet
- Apache Parquet. Columnar binary file format. Staged data is written as Parquet for efficient analytical queries — much faster than CSV for column-oriented workloads.
- DO Spaces / Spaces
- DigitalOcean Spaces. S3-compatible object storage. Raw spider outputs (NDJSON, manifests) land here as the immutable source of truth before staging.
- Scrapy
- Scrapy. Python web-scraping framework. Runs the NRL draw, ladder, stats, match-stats, and team-lists spiders that collect raw data from nrl.com.
- NDJSON
- Newline-Delimited JSON. One JSON object per line. Raw spider payloads are stored as gzip-compressed NDJSON in Spaces before staging.
- UTC
- Coordinated Universal Time. All timestamps in this system are stored and displayed in UTC. AEST = UTC+10, AEDT = UTC+11 (daylight saving).
- API
- Application Programming Interface. The
/api/*routes on this dashboard expose match, prediction, and DQ data as JSON for programmatic access. See API Docs. - ETL
- Extract, Transform, Load. The pipeline pattern: Scrapy extracts raw data → dbt transforms it → DuckDB loads it for queries. Here often called the scrape → stage → dbt flow.