How Alphr's NRL Model Works, Evidence, Validation & Track Record

A high-level architecture overview lives on How NRL predictions work. This page is the evidence layer, how the model is validated, why historical numbers can be trusted, how we measure closing line value, and the public proof points that separate Alphr from a self-reported tipping service.

13
Training seasons
2012 – 2023
2024
Validation season
early-stopping only
2025
Blind test season
held-out, unseen
≥7%
Edge filter
published-tip threshold

1. Temporal train / val / test split

Sports betting models are notoriously easy to overfit. A random train/test split would let the model peek at future matches when computing ELO and rolling form. Alphr uses a strict temporal split that mirrors how the model is used in production:

Phase
Used for
Seasons
Train
Model fitting (XGBoost ensembles)
2012 – 2023
Validate
Early stopping, hyperparameter tuning
2024
Blind test
Final performance measurement (unseen)
2025

The 2025 NRL season was never seen during training or tuning. Every accuracy number on the accuracy page for 2025 is a true out-of-sample result.

2. Anti-leakage feature engineering

Every feature is computed with point-in-time logic, the model is only ever shown information that physically existed before kick-off. Concretely:

  • Team and positional ELO ratings are snapshotted before the match is added to the database.
  • Rolling form (last 5/10) uses SQL window functions with ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING , strict prior-only.
  • Weather, lineups, referee, rest days and venue stats use only data published before the match started.
  • Sportsbet odds are stored at lock-in, not at settlement, so the model never sees the closing line during training.

3. The ≥ 7% edge filter, why most matches aren't tipped

Predicting NRL winners is the easy part, Sportsbet's opening line is already a sharp prediction. The hard part is finding bets where the model disagrees enough with the market to overcome the vig. Alphr only publishes a tip when:

edge = model_prob − (1 / odds)
if edge ≥ 0.07 → publish tip

This is why some rounds carry 8 tips and others only 3, the filter is ruthless. See the highest-edge picks of the current round on NRL Best Bets.

4. Closing line value (CLV), the gold standard

Strike rate is volatile in small samples. CLV, the difference between the odds you took and the odds the market settled at, is the long-run signal that distinguishes a real model from a lucky one. Each tip on Alphr records the Sportsbet price at publication. When the market closes on the price below what we tipped at, that's positive CLV, evidence the model genuinely beat the market on that pick.

Most paid tipping services don't publish CLV because it's the one metric they can't fake.

5. 2025 NRL blind-test performance

61.5%
H2H strike rate
131 / 213 tips
60.4%
Margin band SR
all bands combined
+14.8%
Margin ROI
flat $100 stakes
7 / 7
Best round
Round 19 perfect
≥ 7%
Avg edge
published tips only
100%
Public log
every tip on /nrl/accuracy

Full round-by-round numbers update automatically on the NRL accuracy tracker. Every settled tip is one click from this page, nothing is hidden.

6. The stack, built in the open

  • Language: Python 3.11 (model worker), TypeScript / Next.js (this site).
  • Models: XGBoost for win classification + margin regression + dual-score regression.
  • Ratings: custom NRL team ELO with margin-adjusted K and 40% season regression; positional player ELO for forwards, backs and spine.
  • Data: Supabase Postgres, sports_nrl_matches + sports_tips tables, refreshed nightly.
  • Deployment: Railway-hosted Python worker, Vercel ISR front-end (1-hour revalidation on match pages).

7. What the model can't do

Honest disclosure matters. The model has known weaknesses:

  • Round 1 of any season is noisy, ELO has just regressed 40% toward 1500 and rolling form is from the prior year.
  • Late-mail (lineup changes < 2 hours pre-match) is partially captured but not perfectly, Alphr locks in tips at publication time.
  • Edge-betting variance is real. A 60% strike rate model still loses 4 in a row roughly once per season. Bankroll management matters more than any single tip.
See live accuracy
Every settled NRL tip with W/L status →

Latest NRL Tips

See all NRL tips →

No upcoming NRL tips locked in. New picks publish before each round. view the latest →

More NRL Resources

All NRL tips →