# Storm v Bulldogs — NRL Round 25 2025 AI Prediction by Alphr

## Full Time: Storm 20 – 14 Bulldogs

_Storm blow away Bulldogs in a tight one._

Half time: 12 – 0 · Alphr AI pre-game win probability: Storm 63% / Bulldogs 37% · AAMI Park, Melbourne · Fri, 22 Aug, 08:00 pm AEST

**Try Scorers** — Storm: Eliesa Katoa (16' 1st), Ryan Papenhuyzen (25'), Xavier Coates (51') · Bulldogs: Bailey Hayward (43'), Viliame Kikau (57'), Jacob Kiraz (70')

### Match Winner — AI Prediction Market (resolved)

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Storm | 63% | Won |
| Bulldogs | 37% | Lost |

Model call: **Correct** · Margin: 7.1 predicted → 6 actual · Markets hit: 3/3

_AI win probability priced pre-game · Markets hit = core betting markets._

### Full-Time Report

**Melbourne Storm vs Canterbury Bulldogs Prediction & Tips | NRL Round 25 2025**

_By Ben Dunlop · Published: 28 Feb 2026, 07:36 pm_

Storm 20–14 Bulldogs in NRL Round 25 at AAMI Park, Melbourne. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Eight errors against fourteen. That gap in ball control is how Storm walked out of AAMI Park with a 20-14 win over the Bulldogs despite getting beaten up everywhere else on the stat sheet.

Because everywhere else, the Bulldogs won going away. More possession (54%), more run metres (1,700 to 1,279), more post-contact metres (498 to 417), ten line breaks to three. On paper that's a beating. On the scoreboard it wasn't, and the reason sits in that completion rate: Storm finished at 90%, the Bulldogs down at 79%. All that yardage and all those line breaks came with the ball on the deck too often to turn into points.

Storm made the fast start count. Eliesa Katoa opened the scoring in the 15th minute, Ryan Papenhuyzen followed it up in the 24th, and by half-time it was 12-0. That's a lead built on discipline as much as ambition. Storm's halves and hooker were rated well clear of their opposite numbers coming in (1218 and 1222 against 1083 and 1004), and it showed in how clean the home side played through that opening stretch.

The Bulldogs didn't fold. Bailey Hayward crossed in the 43rd minute to get them on the board, and Storm immediately gave a sniff back by putting Harry Grant in the bin two minutes later. Xavier Coates answered anyway in the 50th to push it to 16-6, but the Bulldogs kept coming: Viliame Kikau in the 56th, Jacob Kiraz in the 70th, and suddenly it was 20-14 with the visitors very much alive. They just ran out of minutes, and out of the ball control to finish what their metres were setting up.

The forward and back pack ratings favoured Storm going in (1117 to 988 up front, 1138 to 941 in the backs), and the penalty count backs that up. Storm conceded three, the Bulldogs six, and territory told the same story with Storm's 797 kicking metres well clear of the Bulldogs' 676. Field position mattered in a game this tight.

Form lines had this roughly right too. Storm arrived on four wins from five, conceding an average of 15.6 points a game, and that defensive discipline held up when it counted. The Bulldogs came in leaking 19.2 a game on average, and they shipped 20 here, right on script.

Alphr's model had Storm at 63% and predicted a 7.1-point win in a 38-point game. The actual margin was 6, the actual total 34. Three from three on the picks that mattered, margin included, which is about as clean a read as this model gets.

Fourteen errors from the Bulldogs against Storm's eight. That's not a huge margin on a stat sheet, but with everything else running the visitors' way, it was the one column that mattered.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Storm | 12 | 8 | 20 |
| Bulldogs | 0 | 14 | 14 |

**Key Match Stats**

| Storm | Stat | Bulldogs |
|---|---|---|
| 46% | Possession | **54%** |
| **90%** | Completion rate | 79% |
| 1,279 | Run metres | **1,700** |
| 417 | Post-contact metres | **498** |
| 3 | Line breaks | **10** |
| **29** | Tackle breaks | 28 |
| 5 | Offloads | **15** |
| 86.6% | Effective tackle % | **89.9%** |
| **28** | Missed tackles | 29 |
| **8** | Errors | 14 |
| **3** | Penalties conceded | 6 |
| **797** | Kick metres | 676 |

**Model Report Card**

Our model correctly predicted Storm to win at 63% probability. The margin model was sharp, predicting Storm by 7.1 vs the actual margin of 6 points. Total score prediction of 38 was close to the actual 34, within 4 points. A clean sweep, all 3 model picks hit for this match.

**Referee Watch**

Adam Gee officiated this match (313 career games). The combined score of 34 points was 9 points below Adam Gee's career average of 43. Storm's victory aligns with Adam Gee's historical trend, Storm have a 68% win rate under this referee. Storm's home victory fits Adam Gee's profile, home teams win 58% of the time under this referee. Adam Gee averaged 12 penalties per game heading in, a whistle-heavy referee profile. 64% of his career sin bins go against away teams, a statistically significant away-team bias.

**Key moments (momentum model)**

- 15' Try — Eliesa Katoa (Storm) — 4-0 · win-prob swing +3 pts
- 24' Try — Ryan Papenhuyzen (Storm) — 10-0 · win-prob swing +3 pts
- 43' Try — Bailey Hayward (Bulldogs) — 12-4 · win-prob swing -3 pts
- 45' Sin Bin — Harry Grant (Storm) — 12-4 · win-prob swing -6 pts
- 50' Try — Xavier Coates (Storm) — 16-6 · win-prob swing +4 pts
- 56' Try — Viliame Kikau (Bulldogs) — 18-10 · win-prob swing -2 pts
- 70' Try — Jacob Kiraz (Bulldogs) — 20-14 · win-prob swing -3 pts

_Official NRL match stats · Generated by Alphr's model_

### Edge Analysis — the model's pre-game markets

- **Head to Head:** Storm to win @ $1.40 (edge -5.2%) — model probability 63.3% — result: WON
- **Line / Spread:** Storm -7.5 @ $1.91 (edge -5.2%) — result: WON
- **Total (Over/Under):** Under 40.5 @ $1.91 (edge +5.4%) — result: WON
- Predicted margin: Storm by 7 · Predicted total: 38

### Match Preview (pre-match read)

Storm are the call at 63%, but Bulldogs stay live at 37%. The heaviest factor is the ratings gap: Storm sit 184 ELO points clear, 1731 to 1547. Form leans Storm's way: 4 from their last 5, against 3 for Bulldogs.

Storm own the matchup too, leading 7 of 7 factors including ELO Difference, Forward Pack and Backline Quality. The margin model has Storm by 7.1, with the two sides combining for about 38. Lean Storm, but it shapes as a genuine contest.

Storm have won 7 of the last 10 between these two, and Bulldogs took the most recent meeting 36-22 in 2026 Round 22.

Bulldogs have lost 3 straight. Storm have won 3 games this season after trailing at half-time.

On the ladder it's Storm 2nd against Bulldogs 3rd.

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Storm 7 · Bulldogs 3 |
| Last meeting | Bulldogs 36-22 |
| Storm last 4 | LWWL · 84 for, 88 against |
| Storm at home | 11-4 this season |
| Bulldogs last 4 | WLLL · 78 for, 100 against |
| Bulldogs away | 7-6 this season |
| Ladder | Storm 2nd · Bulldogs 3rd |
| Finals odds | Both locked into the eight |

_Pre-match read · Alphr model_

### Referee Indicator — Favours Storm

**Adam Gee** — 313 career games since 2013.

| Team | Record under Adam Gee | Win rate |
|---|---|---|
| Storm | 30W–14L | 68% |
| Bulldogs | 16W–14L | 53% |

Avg total: 43.2 pts · Home win %: 58% · Home bias: Leans home

When Adam Gee officiates, Storm have won 30 of 44 games (68%), significantly stronger than Bulldogs's 16 from 30 (53%). Home teams win 58% of his matches (vs ~52% league avg).

Adam Gee averages 12 penalties per game, above the league norm. Expect frequent stoppages. Penalises away teams more, 5.5 against home vs 6.6 against away. 64% of his 124 career sin bins go to away teams.

### Recent Form (Last 5)

| Storm | Stat | Bulldogs |
|---|---|---|
| 4.0 | Wins (Last 5) | 3.0 |
| 22.0pts | Avg Score | 24.0pts |
| 15.6pts | Avg Conceded | 19.2pts |
| 6.4pts | Avg Margin | 4.8pts |
| 1705.8m | Run Metres | 1545.8m |
| 3.4 | Line Breaks | 5.8 |
| 362.0 | Tackles | 338.8 |
| 10.2 | Errors | 9.8 |

### Form & History

| Team | Last 5 | Avg Pts |
|---|---|---|
| Storm | 4W–1L | 22.0 |
| Bulldogs | 3W–2L | 24.0 |

### H2H History (Last 5) — Bulldogs lead 3-2

| Season | Round | Home | Score | Away |
|---|---|---|---|---|
| 2026 | R22 | Storm | 22 – 36 | Bulldogs |
| 2026 | R12 | Bulldogs | 30 – 20 | Storm |
| 2025 | FW1 | Storm | 26 – 18 | Bulldogs |
| 2024 | R6 | Storm | 16 – 14 | Bulldogs |
| 2023 | R2 | Storm | 12 – 26 | Bulldogs |

### Positional Matchup

_Season-to-date production per game with league-wide attack/defence tiers (17 teams)._

**Field Matchup** — where one team attacks vs where the other concedes:
- Storm's best path is the left edge: NRL's 4th-ranked left edge attack (1.43 tries/game) runs at a Bulldogs defence ranked 7th there (1.1 conceded/game). Key man: Coates, 18 tries in that channel this season.
- Bulldogs' best path is the right edge: NRL's 5th-ranked right edge attack (1.24 tries/game) runs at a Storm defence ranked 10th there (1.1 conceded/game). Key man: Xerri, 8 tries in that channel this season.

| Channel | Storm | Bulldogs |
|---|---|---|
| Left | 1.43/g (att 4th (strong)) · concedes 0.86/g (def 1st (strong)) | 1.1/g (att 13th (weak)) · concedes 1.1/g (def 7th) |
| Middle | 2.38/g (att 2nd (strong)) · concedes 1.14/g (def 4th (strong)) | 1.57/g (att 8th) · concedes 0.95/g (def 2nd (strong)) |
| Right | 1.19/g (att 7th) · concedes 1.1/g (def 10th) | 1.24/g (att 5th (strong)) · concedes 0.9/g (def 3rd (strong)) |

**Attack Spine** (Halfback · Five-Eighth · Hooker)

|  | Storm | Bulldogs |
|---|---|---|
| Attack rank | 5th (strong) | 13th (weak) |
| Defence rank | 1st (strong) | 3rd (strong) |
| Tries scored · conceded | 15 · 4 | 9 · 6 |
| Try Assists | 2.5/g | 0.9/g |
| Run Metres | 240m/g | 197m/g |
| Tackle Breaks | 5.4/g | 3.1/g |
| Line Breaks | 0.9/g | 0.5/g |
| Tackle Efficiency | 86.2% | 86.8% |

**Outside Backs** (Fullback · Wingers · Centres)

|  | Storm | Bulldogs |
|---|---|---|
| Attack rank | 2nd (strong) | 14th (weak) |
| Defence rank | 8th | 1st (strong) |
| Tries scored · conceded | 61 · 47 | 41 · 40 |
| Try Assists | 1.2/g | 1.6/g |
| Run Metres | 718m/g | 771m/g |
| Tackle Breaks | 15.1/g | 15.1/g |
| Line Breaks | 2.9/g | 3.1/g |
| Tackle Efficiency | 80.5% | 81.4% |

**Forwards** (Props · 2nd Rows · Lock)

|  | Storm | Bulldogs |
|---|---|---|
| Attack rank | 3rd (strong) | 2nd (strong) |
| Defence rank | 1st (strong) | 5th (strong) |
| Tries scored · conceded | 21 · 4 | 23 · 12 |
| Try Assists | 0.4/g | 0.5/g |
| Run Metres | 547m/g | 443m/g |
| Tackle Breaks | 8.4/g | 8.1/g |
| Line Breaks | 0.7/g | 0.8/g |
| Tackle Efficiency | 91.9% | 89.4% |

**Who scores on Bulldogs** — 2nd Rows 0.5/g (lg 0.44) +14% · Halfbacks 0.23/g (lg 0.21) +10% · Centres 0.73/g (lg 0.69) +6%
**Who scores on Storm** — Wingers 1.31/g (lg 1.25) +5% · Centres 0.61/g (lg 0.69) -12% · Locks 0.08/g (lg 0.1) -20%

_Tries conceded by position, last 3 seasons; positive = concedes above league average to that position._

### Try Scorer History — Who Crosses The Line

_Last 10 games, career record vs the opponent and at AAMI Park. ⚡ = our AI backs them to score; 🎯 = our AI's first-try pick. 🏉 = scored in this game. Try % = share of games with a try, last 10 weighted double vs the 30 prior — historical frequency, not a market price._

**Storm** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Cameron Munster | 5/8 | 2 in 18g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 1/10g | 34/97g | 14% | — | — |
| 2 | Grant Anderson | WG | 10 in 21g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 0/1g | 5/22g | 30% | — | — |
| 3 | Marion Seve | CE | 1 in 2g | 3/10g (0·1·0·0·0·1·0·0·0·1) | 0/2g | 4/15g | 22% | — | — |
| 4 | Nick Meaney | CE | 8 in 17g | 5/10g (1·0·1·2·0·0·1·0·0·0) | 0/3g | 19/41g | 30% | — | — |
| 5 | Xavier Coates | WG | 18 in 17g | 11/10g (0·0·3·0·0·3·0·1·2·2) | 4/4g | 40/36g | 52% | — | 🏉 51' |
| 6 | Jonah Pezet | INT | 0 in 5g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/0g | 1/5g | 12% | — | — |
| 7 | Tyran Wishart | HB | 6 in 21g | 3/10g (1·1·0·0·0·0·0·0·1·0) | 0/3g | 10/37g | 32% | — | — |
| 8 | Stefano Utoikamanu | PR | 2 in 20g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 0/5g | 0/10g | 12% | — | — |
| 9 | Harry Grant | HK | 5 in 15g | 3/10g (0·0·1·0·0·0·1·0·0·1) | 1/5g | 17/44g | 32% | — | — |
| 10 | Josh King | PR | 5 in 21g | 2/10g (0·0·0·0·0·0·2·0·0·0) | 1/9g | 7/43g | 16% | — | — |
| 11 | Joe Chan | 2R | 1 in 14g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/0g | 1/11g | 8% | — | — |
| 12 | Eliesa Katoa | 2R | 10 in 21g | 6/10g (1·0·1·1·2·0·0·1·0·0) | 1/4g | 12/31g | 44% | — | 🏉 16' |
| 13 | Trent Loiero | LK | 4 in 19g | 3/10g (0·0·0·0·1·2·0·0·0·0) | 0/3g | 4/43g | 10% | — | — |
| 15 | Alec MacDonald | INT | 0 in 14g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/3g | 1/28g | 4% | — | — |
| 16 | Tui Kamikamica | INT | 1 in 19g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 2/4g | 5/49g | 6% | — | — |
| 17 | Ativalu Lisati | INT | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/3g | 5% | — | — |

**Bulldogs** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Connor Tracey | FB | 4 in 19g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 2/5g | 1/2g | 18% | — | — |
| 2 | Jacob Kiraz | WG | 8 in 15g | 4/10g (0·0·0·0·0·1·2·1·0·0) | 2/2g | 2/2g | 36% | — | 🏉 70' |
| 3 | Bronson Xerri | CE | 8 in 20g | 2/10g (0·0·0·0·0·0·2·0·0·0) | 0/3g | 0/2g | 32% | — | — |
| 4 | Stephen Crichton | CE | 3 in 17g | 2/10g (0·1·0·0·0·0·0·0·1·0) | 6/11g | 0/1g | 28% | — | — |
| 6 | Matt Burton | 5/8 | 4 in 16g | 3/10g (0·1·0·1·0·0·0·0·0·1) | 0/7g | 0/3g | 26% | — | — |
| 7 | Lachlan Galvin | HB | 3 in 19g | 2/10g (0·1·0·0·0·1·0·0·0·0) | 1/2g | 0/1g | 16% | — | — |
| 8 | Max King | PR | 2 in 18g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/3g | 1/8g | 6% | — | — |
| 9 | Bailey Hayward | HK | 0 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/1g | 2% | — | 🏉 43' |
| 10 | Samuel Hughes | PR | 2 in 7g | 2/10g (0·0·0·0·0·0·2·0·0·0) | 0/1g | 0/1g | 9% | — | — |
| 11 | Viliame Kikau | 2R | 5 in 18g | 3/10g (1·0·0·1·0·0·0·0·1·0) | 2/11g | 0/4g | 26% | — | 🏉 57' |
| 12 | Jacob Preston | 2R | 8 in 17g | 4/10g (1·0·1·0·1·0·0·1·0·0) | 1/1g | 1/1g | 36% | — | — |
| 13 | Jaeman Salmon | LK | 2 in 15g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 0/7g | 0/2g | 10% | — | — |
| 14 | Kurt Mann | INT | 2 in 17g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 3/10g | 6/18g | 12% | — | — |
| 15 | Harry Hayes | INT | 1 in 20g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 7% | — | — |
| 16 | Josh Curran | Replacement | 4 in 17g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/8g | 0/5g | 16% | — | — |
| 17 | Reed Mahoney | INT | 3 in 21g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/10g | 0/5g | 12% | — | — |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Storm 1731 · Bulldogs 1547 · ELO difference: 184 in favour of Storm

**Positional Matchups** — lineup ELO by unit

| Unit | Storm | Bulldogs | Edge |
|---|---|---|---|
| Forwards | 1117 (best 1358) | 988 (best 1196) | Storm +128 |
| Backs | 1138 (best 1205) | 941 (best 1050) | Storm +197 |
| Halves | 1218 (best 1218) | 1083 (best 1083) | Storm +135 |
| Hooker | 1222 | 1004 | Storm +218 |

**Key Prediction Factors** — what the model weighted most

| # | Factor | Weight | Favours |
|---|---|---|---|
| 1 | ELO Difference | 14.0% | Storm |
| 2 | Forward Pack | 12.0% | Storm |
| 3 | Backline Quality | 10.0% | Storm |
| 4 | Halves Control | 9.0% | Storm |
| 5 | Recent Win Rate | 9.0% | Storm |
| 6 | Referee Tendency | 7.0% | Storm |
| 7 | Venue Advantage | 7.0% | Storm |

**Model Confidence: 63%** — Storm predicted to win by 7 points · Predicted total: 38 pts

**Record:** 3/3 match predictions correct

**Prediction by Alphr** (https://alphr.com.au) — free AI predictions for every AFL, NRL & Super League match, published before kick-off and never edited. Verified track record: https://alphr.com.au/accuracy

---
Canonical URL: https://alphr.com.au/nrl/match/2025-r25-storm-v-bulldogs
RSS feed: https://alphr.com.au/feed.xml
Prediction JSON API: today https://alphr.com.au/api/predictions/today · this week https://alphr.com.au/api/predictions/weekly
Markdown view for AI agents. Machine-readable index: https://alphr.com.au/llms.txt · full reference: https://alphr.com.au/llms-full.txt
All predictions are published before kick-off and verified after full time. Free, no login. 18+ gamble responsibly (AU).
Last updated: 2026-02-28 08:36 UTC (latest tip update)