# Storm v Roosters — NRL Round 26 2025 AI Prediction by Alphr

## Full Time: Storm 10 – 40 Roosters

_Roosters roar back to rule the roost over Storm from 10 down._

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

**Try Scorers** — Storm: Shawn Blore (22' 1st), Grant Anderson (37') · Roosters: Mark Nawaqanitawase (45' Tipped ⚡), Siua Wong (53'), Mark Nawaqanitawase (63' Tipped ⚡), Mark Nawaqanitawase (67' Tipped ⚡), Mark Nawaqanitawase (71' Tipped ⚡), Robert Toia (76'), James Tedesco (78' Tipped ⚡)

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

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

Model call: **Missed** · Margin: 1.4 predicted → 30 actual · Markets hit: 0/3

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

### Full-Time Report

**Melbourne Storm vs Sydney Roosters Prediction & Tips | NRL Round 26 2025**

_By Ben Dunlop · Published: 28 Feb 2026, 07:36 pm · Last updated: 24 July 2026, 12:42 pm_

Storm 10–40 Roosters in NRL Round 26 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.

Ten points up at the break and it meant nothing. Storm led 10-0 at half-time at AAMI Park and then watched the Roosters score 40 unanswered points to turn a comfortable lead into a 40-10 hiding.

Shawn Blore got Storm going in the 21st minute, Grant Anderson added a second in the 36th, and at that point Storm looked in control. Then Mark Nawaqanitawase crossed in the 45th minute to open the reply, Siua Wong levelled it up at 10-10 in the 53rd, and from there the Roosters simply didn't stop. Nawaqanitawase scored again in the 63rd, again in the 66th, and again in the 70th for his fourth, before Robert Toia and James Tedesco piled on late tries in the 76th and 78th minutes to turn a contest into a rout.

Final score: Storm 10, Roosters 40. The gap between those two halves is the whole story.

The stat sheet backs up what the scoreboard did. Roosters ran in 8 line breaks to Storm's 2, and it showed up everywhere else. They busted 40 tackles to Storm's 20, offloaded 14 times to 9, and ground out 562 post-contact metres to Storm's 396. That's not a team stealing a win, that's a team that kept finding go-forward every time the ball got played the back.

Storm's defence didn't hold up its end either. 40 missed tackles against an effective rate of just 86.5% left too many gaps for a backline that was rated well below the Roosters coming in, 856 to 1,106. The Roosters' 1,063-rated forward pack also had the edge on Storm's 954, and with 1,645 run metres to 1,159 they simply had more territory to work with all night.

Ball control told the same story. Roosters completed at 88% against Storm's 74%, coughing up just 5 errors to Storm's 12. With 58% of the possession and 610 kick metres to Storm's 456, they had the ball more and used it better, which is about as complete a description of a 30-point win as you'll find.

Storm's one edge on paper, a big one at that, was the halves matchup, 1,329 to 1,052 in their favour, and for 40 minutes that showed. Storm's hooker rating of 690 against the Roosters' 1,161 was always going to be a problem, though, and once the middle of the field opened up after half-time, that gap in class told.

Form lines pointed to something like this being on the cards even if the scale wasn't. The Roosters came in averaging 31.2 points and 13.4 errors a game against Storm's tighter 8.6, and once they settled, that higher-ceiling, higher-error profile flipped into a night where the ceiling showed up and the errors didn't.

Alphr's model had Storm as 63% favourites and picked them by 1.4 points. Instead, they lost by 30, and the model finished 2 from 16 on this one. Wins and misses, all of it, and this was a miss that's hard to miss.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Storm | 10 | 0 | 10 |
| Roosters | 0 | 40 | 40 |

**Key Match Stats**

| Storm | Stat | Roosters |
|---|---|---|
| 42% | Possession | **58%** |
| 74% | Completion rate | **88%** |
| 1,159 | Run metres | **1,645** |
| 396 | Post-contact metres | **562** |
| 2 | Line breaks | **8** |
| 20 | Tackle breaks | **40** |
| 9 | Offloads | **14** |
| 86.5% | Effective tackle % | **88.9%** |
| 40 | Missed tackles | **20** |
| 12 | Errors | **5** |
| 7 | Penalties conceded | 7 |
| 456 | Kick metres | **610** |

**Model Report Card**

Roosters defied the model's 63% prediction for Storm, a notable upset. The margin model missed here, predicting 1.4 but the actual margin was 30 points. Roosters trailed 10–0 at half-time before staging a second-half comeback to win 10–40. The model went 2/16 on this match.

**Referee Watch**

Todd Smith officiated this match (121 career games). The 50-point combined total was right in line with Todd Smith's career average of 47. Roosters bucked the trend, Storm historically win 73% of games under Todd Smith, but couldn't convert that edge today.

**Key moments (momentum model)**

- 21' Try — Shawn Blore (Storm) — 4-0 · win-prob swing +5 pts
- 36' Try — Grant Anderson (Storm) — 10-0 · win-prob swing +4 pts
- 45' Try — Mark Nawaqanitawase (Roosters) — 10-4 · win-prob swing -4 pts
- 53' Try — Siua Wong (Roosters) — 10-10 · win-prob swing -5 pts
- 63' Try — Mark Nawaqanitawase (Roosters) — 10-16 · win-prob swing -5 pts
- 66' Try — Mark Nawaqanitawase (Roosters) — 10-22 · win-prob swing -4 pts
- 70' Try — Mark Nawaqanitawase (Roosters) — 10-26 · win-prob swing -1 pts
- 76' Try — Robert Toia (Roosters) — 10-32 · win-prob swing -1 pts
- 78' Try — James Tedesco (Roosters) — 10-38 · win-prob swing -0 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.48 (edge +7.7%) — model probability 63.0% — result: LOST
- **Line / Spread:** Storm -6.5 @ $1.91 (edge +7.7%) — result: LOST
- **Total (Over/Under):** Under 44.5 @ $1.91 (edge +7.8%) — result: LOST
- Predicted margin: Storm by 1 · Predicted total: 41

### Match Preview (pre-match read)

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

Storm own the matchup too, leading 4 of 7 factors including ELO Difference, Halves Control and Recent Win Rate. The margin model has Storm by 1.4, with the two sides combining for about 41. Lean Storm, but it shapes as a genuine contest.

Storm have won 8 of the last 10 between these two, and Roosters took the most recent meeting 14-6 in 2026 Round 20.

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

On the ladder it's Storm 2nd against Roosters 8th.

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Storm 8 · Roosters 2 |
| Last meeting | Roosters 14-6 |
| Storm last 4 | LWWL · 84 for, 88 against |
| Storm at home | 11-4 this season |
| Roosters last 4 | LWWL · 96 for, 66 against |
| Roosters away | 7-6 this season |
| Ladder | Storm 2nd · Roosters 8th |
| Finals odds | Both locked into the eight |

_Pre-match read · Alphr model_

### Referee Indicator — Favours Storm

**Todd Smith** — 121 career games since 2019.

| Team | Record under Todd Smith | Win rate |
|---|---|---|
| Storm | 11W–4L | 73% |
| Roosters | 8W–8L | 50% |

Avg total: 46.6 pts · Home win %: 53% · Home bias: Neutral

When Todd Smith officiates, Storm have won 11 of 15 games (73%), significantly stronger than Roosters's 8 from 16 (50%). Games average 46.6 pts, above the league norm, suggesting a free-flowing style.

### Recent Form (Last 5)

| Storm | Stat | Roosters |
|---|---|---|
| 5.0 | Wins (Last 5) | 3.0 |
| 22.8pts | Avg Score | 31.2pts |
| 14.8pts | Avg Conceded | 18.4pts |
| 8.0pts | Avg Margin | 12.8pts |
| 1606.0m | Run Metres | 1473.4m |
| 3.2 | Line Breaks | 3.8 |
| 351.2 | Tackles | 317.6 |
| 8.6 | Errors | 13.4 |

### Form & History

| Team | Last 5 | Avg Pts |
|---|---|---|
| Storm | 5W–0L | 22.8 |
| Roosters | 3W–2L | 31.2 |

### H2H History (Last 5) — Storm lead 4-1

| Season | Round | Home | Score | Away |
|---|---|---|---|---|
| 2026 | R20 | Roosters | 14 – 6 | Storm |
| 2026 | R13 | Storm | 18 – 4 | Roosters |
| 2025 | R21 | Roosters | 30 – 34 | Storm |
| 2024 | PF | Storm | 48 – 18 | Roosters |
| 2024 | R20 | Storm | 24 – 8 | Roosters |

### 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 middle: NRL's 2nd-ranked middle attack (2.32 tries/game) runs at a Roosters defence ranked 13th there (1.86 conceded/game). Key man: Papenhuyzen, 14 tries in that channel this season.
- Roosters' best path is the right edge: NRL's 5th-ranked right edge attack (1.27 tries/game) runs at a Storm defence ranked 9th there (1.09 conceded/game). Key man: Tupou, 18 tries in that channel this season.

| Channel | Storm | Roosters |
|---|---|---|
| Left | 1.41/g (att 5th (strong)) · concedes 0.86/g (def 1st (strong)) | 1.32/g (att 6th (strong)) · concedes 1.09/g (def 5th (strong)) |
| Middle | 2.32/g (att 2nd (strong)) · concedes 1.14/g (def 4th (strong)) | 1.86/g (att 4th (strong)) · concedes 1.86/g (def 13th (weak)) |
| Right | 1.18/g (att 7th) · concedes 1.09/g (def 9th) | 1.27/g (att 5th (strong)) · concedes 0.82/g (def 1st (strong)) |

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

|  | Storm | Roosters |
|---|---|---|
| Attack rank | 5th (strong) | 8th |
| Defence rank | 1st (strong) | 15th (weak) |
| Tries scored · conceded | 15 · 5 | 13 · 17 |
| Try Assists | 2.5/g | 1.5/g |
| Run Metres | 240m/g | 161m/g |
| Tackle Breaks | 5.6/g | 3.3/g |
| Line Breaks | 0.9/g | 0.5/g |
| Tackle Efficiency | 85.9% | 88.8% |

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

|  | Storm | Roosters |
|---|---|---|
| Attack rank | 3rd (strong) | 2nd (strong) |
| Defence rank | 6th (strong) | 6th (strong) |
| Tries scored · conceded | 63 · 48 | 64 · 48 |
| Try Assists | 1.2/g | 1.6/g |
| Run Metres | 708m/g | 715m/g |
| Tackle Breaks | 14.8/g | 19.6/g |
| Line Breaks | 2.9/g | 3.5/g |
| Tackle Efficiency | 80.5% | 82.2% |

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

|  | Storm | Roosters |
|---|---|---|
| Attack rank | 3rd (strong) | 7th |
| Defence rank | 1st (strong) | 7th |
| Tries scored · conceded | 22 · 5 | 15 · 14 |
| Try Assists | 0.4/g | 0.4/g |
| Run Metres | 543m/g | 503m/g |
| Tackle Breaks | 8.5/g | 9.6/g |
| Line Breaks | 0.7/g | 0.6/g |
| Tackle Efficiency | 91.9% | 90.7% |

**Who scores on Roosters** — Five-Eighths 0.36/g (lg 0.26) +38% · Locks 0.12/g (lg 0.1) +20% · Halfbacks 0.25/g (lg 0.21) +19%
**Who scores on Storm** — Wingers 1.3/g (lg 1.25) +4% · 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 | Ryan Papenhuyzen | FB | 14 in 17g | 7/10g (1·4·0·0·0·0·0·0·1·1) | 4/9g | 39/44g | 50% | ⚡ Anytime Try $1.96 AI 44% ✗ No try; 🎯 First Try $9.00 AI 8% ✗ Not first | — |
| 2 | Kane Bradley | WG | 4 in 8g | 4/10g (0·0·0·0·2·0·0·0·2·0) | 0/1g | 0/10g | 18% | ⚡ Anytime Try $2.40 AI 32% ✗ No try | — |
| 3 | Marion Seve | CE | 1 in 3g | 3/10g (1·0·0·0·1·0·0·0·1·0) | 3/3g | 4/16g | 22% | — | — |
| 4 | Grant Anderson | CE | 10 in 22g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 4/7g | 5/23g | 30% | — | 🏉 37' |
| 5 | Siulagi Tuimalatu-Brown | Replacement | 0 in 2g | 0/2g (0·0) | 0/1g | 0/0g | 0% | — | — |
| 6 | Cameron Munster | 5/8 | 2 in 19g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 5/20g | 34/98g | 12% | — | — |
| 7 | Tyran Wishart | HB | 6 in 22g | 2/10g (1·0·0·0·0·0·0·1·0·0) | 1/6g | 10/38g | 28% | — | — |
| 8 | Stefano Utoikamanu | PR | 2 in 21g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 1/4g | 0/11g | 10% | — | — |
| 9 | Bronson Garlick | HK | 2 in 19g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/3g | 1/19g | 4% | — | — |
| 10 | Alec MacDonald | INT | 0 in 15g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/5g | 1/29g | 4% | — | — |
| 11 | Shawn Blore | 2R | 1 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/5g | 3/21g | 4% | — | 🏉 22' |
| 12 | Joe Chan | 2R | 1 in 15g | 1/10g (0·0·0·0·0·0·0·0·1·0) | 0/3g | 1/12g | 8% | — | — |
| 13 | Trent Loiero | LK | 4 in 20g | 3/10g (0·0·0·1·2·0·0·0·0·0) | 0/10g | 4/44g | 10% | — | — |
| 14 | Jonah Pezet | INT | 0 in 6g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 1/6g | 8% | — | — |
| 15 | Ativalu Lisati | INT | 0 in 11g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/4g | 4% | — | — |
| 16 | Lazarus Vaalepu | INT | 0 in 5g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/1g | 0/4g | 9% | — | — |
| 17 | Nelson Asofa-Solomona | PR | 3 in 11g | 3/10g (1·0·0·1·0·0·1·0·0·0) | 2/18g | 14/91g | 18% | — | — |

**Roosters** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | James Tedesco | FB | 10 in 22g | 6/10g (0·1·1·0·1·0·0·2·0·1) | 6/22g | 3/8g | 46% | ⚡ Anytime Try $2.55 AI 40% ✓ Scored; 🎯 First Try $12.00 AI 6% ✗ Not first | 🏉 78' |
| 2 | Daniel Tupou | WG | 18 in 21g | 13/10g (1·0·1·1·2·1·2·0·2·3) | 14/25g | 4/9g | 64% | ⚡ Anytime Try $1.84 AI 70% ✗ No try; 🎯 First Try $8.50 AI 13% ✗ Not first | — |
| 3 | Billy Smith | CE | 8 in 16g | 5/10g (0·0·0·2·1·0·1·1·0·0) | 0/2g | 0/0g | 28% | ⚡ Anytime Try $3.15 AI 32% ✗ No try | — |
| 4 | Robert Toia | CE | 6 in 19g | 3/10g (0·1·0·1·0·0·0·0·0·1) | 0/1g | 0/0g | 28% | — | 🏉 76' |
| 5 | Mark Nawaqanitawase | WG | 16 in 21g | 7/10g (0·2·2·0·0·0·0·3·0·0) | 0/1g | 0/0g | 44% | ⚡ Anytime Try $1.88 AI 44% ✓ Scored; 🎯 First Try $8.50 AI 7% ✗ Not first | 🏉 45' 63' 67' 71' |
| 6 | Sandon Smith | 5/8 | 5 in 16g | 2/10g (0·2·0·0·0·0·0·0·0·0) | 0/5g | 0/3g | 12% | — | — |
| 7 | Hugo Savala | HB | 4 in 20g | 3/10g (1·0·0·0·1·0·0·1·0·0) | 0/0g | 0/0g | 23% | — | — |
| 8 | Spencer Leniu | PR | 1 in 17g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/10g | 0/2g | 6% | — | — |
| 9 | Connor Watson | INT | 4 in 18g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/13g | 0/6g | 12% | — | — |
| 10 | Lindsay Collins | PR | 3 in 13g | 3/10g (1·0·1·0·0·1·0·0·0·0) | 2/15g | 1/7g | 16% | — | — |
| 11 | Angus Crichton | 2R | 3 in 18g | 2/10g (0·0·0·0·1·0·1·0·0·0) | 1/18g | 1/9g | 24% | — | — |
| 12 | Victor Radley | 2R | 4 in 17g | 2/10g (0·0·0·0·1·0·0·1·0·0) | 0/13g | 0/7g | 24% | — | — |
| 13 | Naufahu Whyte | LK | 3 in 20g | 2/10g (0·0·0·0·0·0·0·0·2·0) | 0/6g | 0/3g | 8% | ⚡ Anytime Try $11.50 AI 22% ✗ No try | — |
| 14 | Benaiah Ioelu | HK | 0 in 9g | 0/9g (0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 0% | — | — |
| 15 | Egan Butcher | INT | 1 in 14g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 0/7g | 0/3g | 10% | — | — |
| 17 | Siua Wong | INT | 2 in 18g | 2/10g (0·0·0·0·1·0·1·0·0·0) | 2/3g | 0/1g | 15% | — | 🏉 53' |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Storm 1743 · Roosters 1574 · ELO difference: 169 in favour of Storm

**Positional Matchups** — lineup ELO by unit

| Unit | Storm | Roosters | Edge |
|---|---|---|---|
| Forwards | 954 (best 1197) | 1063 (best 1202) | Roosters +109 |
| Backs | 856 (best 990) | 1106 (best 1188) | Roosters +249 |
| Halves | 1329 (best 1329) | 1052 (best 1052) | Storm +278 |
| Hooker | 690 | 1161 | Roosters +471 |

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

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

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

**Record:** 0/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-r26-storm-v-roosters
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-07-24 02:42 UTC (latest tip update)