FORMIQRugby League
ForecastsFixturesPerformanceResultsResearchModels
FormIQ Racing ↗Sign in

FormIQ Rugby League

Forecasts are probabilities produced by frozen models and locked before kickoff. This is not a betting service.

How the model works

Every published number is a probability produced by a frozen model from information available before kickoff, then measured against what actually happened.

What a probability means

A 65% forecast does not say the favourite will win. It says that across many similar matches, teams in that position win about 65 times in 100. A single result never proves a forecast right or wrong; a long run of them shows whether the stated confidence was honest.

Team ratings

Each team carries a single rating. After each match the rating moves by a fixed factor multiplied by the difference between the result and what the model expected, so beating a strong opponent moves a rating further than beating a weak one. Ratings are carried across seasons at half weight, because past form fades.

M0 — the baseline

M0 compares the two ratings, adds a fixed home advantage, divides by a scale factor, and converts that to a probability with a logistic function. Nothing else enters it. Its parameters are frozen: changing any of them creates a new model version rather than quietly altering this one.

M5 — depth stress

M5 adjusts M0 using verified pre-match team selections: how experienced the named starting side is in those positions. Unknown players, debutants and new signings are treated neutrally — never penalised. When trustworthy pre-match selections are not available, the baseline M0 forecast is shown and labelled as such.

Locking before kickoff

A forecast is locked before kickoff and then cannot change: not its probabilities, its inputs, its model version, nor its data cutoff. This is enforced in the database, not only in the interface. Corrections never overwrite a locked record; they create a new versioned record and the original stays visible.

Brier score and log loss

Brier score is the squared difference between the forecast probability and the outcome, and log loss penalises confident mistakes heavily. For both, lower is better. They measure whether the stated confidence was justified, not merely whether the favourite won.

Why accuracy alone is insufficient

Picking winners is easy in a competition where favourites often win; a model that says 51% for every home side can look accurate while carrying no information. Accuracy is reported as a secondary figure only, always with the number of matches behind it.

Data leakage and validation separation

A result is never used to build the forecast for its own match. State updates run strictly in chronological order. Training data, model-selection data, held-out data and prospective live forecasts are kept distinct, and backtested results are always labelled separately from forecasts published before kickoff.

Model versions

M0 — Baseline Team Strengthproductionv1.0.0NRL

Elo-style team strength rating with fixed home advantage. Frozen specification.

M0 — M0 Team Strength (Super League)researchv0.1.0SL

M0 specification applied to Super League without competition-specific validation.

M2 — Experience / Selectionretiredv0.1.0NRL

Player experience weighting experiment.

M3 — Player Availability / Selection Lossresearchv0.1.0NRL

Availability-loss experiment.

M4 — Structural Continuityretiredv0.1.0NRL

Lineup continuity experiment.

M5 — Team Strength + Depth Stress (Super League)researchv0.0.0SL

Not deployed for Super League.

M5 — Team Strength + Depth Stressproductionv1.0.0NRL

M0 probability adjusted by a standardised team-selection depth-stress feature. Requires verified pre-match team selections.

M6 — Workloadretiredv0.1.0NRL

Short turnaround and travel workload experiment.

M7 — Disciplinecandidatev0.1.0NRL

Penalty and discipline experiment.

M8 — Preseason Squad Strengthresearchv0.1.0NRL

Preseason squad strength experiment.