V6 Engine
The Engine Behind Every Prediction
A complete breakdown of how we turn 43,000+ player data points into match predictions you can trust.
Step 1
Player-Level Data
Every prediction starts with raw, per-match player statistics. Not team averages. Not seasonal summaries. Individual performance data for every player in every game since 2020.
The database contains 40 statistical columns per player per match: run metres, post-contact metres, tackle breaks, line breaks, try assists, missed tackles, errors, penalties, kick metres, forced dropouts, and more.
When team lists are announced, the engine profiles each of the 17 players using their last 5 matches. Stats are weighted with exponential decay — recent form matters more than older performance. Attack stats are Elo-adjusted so a good game against the top team counts for more than a good game against the bottom team.
Player-match rows
Stats per player
Players profiled per team
Recent matches weighted
Step 2
4-Phase Match Simulation
Each simulation models a complete NRL game through four sequential phases. Each phase feeds into the next, exactly like a real match.
Forward Dominance
Who wins the ruck battle? Modelled from run metres, post-contact metres, tackle breaks, and offloads. Weighted by jersey — props and second-rowers contribute more than outside backs.
Inputs: Run metres, PCM, tackle breaks, offloads
Possessions
How many effective possessions each team gets. Driven by errors (lost possession), penalties (lost possession), and forced dropouts (gained possession). Modified by who won the forward battle.
Inputs: Errors, penalties, forced dropouts
Zone Try Scoring
Tries are scored by zone — left edge, right edge, middle, and spine. Each zone uses a Poisson distribution derived from line breaks, try assists, and tackle breaks in that zone. This is where individual player talent matters most.
Inputs: Poisson distribution per zone
Defensive Suppression
Good defences prevent tries that would otherwise be scored. Modelled from missed tackle rates — fewer missed tackles means a higher chance of suppressing opponent tries. A strong defence can reduce opponent scoring by 15-20%.
Inputs: Missed tackles, defensive efficiency
Step 3
Contextual Intelligence
Before simulation, real-world factors modify the base probabilities. These adjustments are what separate a spreadsheet from a prediction engine.
Weather Impact
Rain increases handling errors, wind disrupts kicking games. We pull live weather data for every venue and adjust forward/kicking phase distributions accordingly.
Referee Tendencies
Some referees blow more penalties against certain play styles. We track per-referee penalty rates and adjust possession distributions based on the assigned match official.
Home Ground Advantage
Crowd influence on morale, travel fatigue for away teams, and venue familiarity. Our model applies a default 2.5-point home advantage, adjusted per venue.
Fatigue and Recovery
When was their last game? How physical was it? Short turnarounds affect forwards more than backs. We model recovery windows and historical bounce-back performance.
Elo Ratings
Historical team strength ratings updated every round. Provides the base probability before player-level adjustments are layered on. Currently 60.1% accurate standalone.
Lineup Quality
We compare the announced 17-man squad against the team's average lineup strength from the last 10 matches. Key ins and outs shift the probability up to 6%.
The Decision
Why We Abandoned Machine Learning
Versions 1 through 5 of Punt Kingz used LightGBM classifiers — a gradient boosting machine learning model. We trained on historical match data, tuned hyperparameters with Optuna, and built temporal train/test splits.
The result? A ceiling of 60-65% winner accuracy. No matter how many features we engineered, no matter how we structured the training pipeline, the model couldn't break through. The fundamental problem: ML models collapse player-level data into team aggregates. The difference between having the best halfback in the league versus an average one gets averaged away.
The V6 Monte Carlo engine takes the opposite approach. Instead of learning patterns from outcomes, it simulates the process that generates outcomes. Player-level statistical distributions are preserved. Zone-by-zone matchups are modelled. The simulation IS the prediction — not a pattern match, but a mathematical reconstruction of how NRL games actually unfold.
82% winner accuracy. That is what happens when you simulate the game instead of guessing the outcome.
Ready to see the predictions?
Start your 7-day free trial. Full access to every prediction, every round.
Start Free Trial