# Storm v Sharks — NRL Preliminary Finals 2025 AI Prediction by Alphr

## Full Time: Storm 22 – 14 Sharks

_Storm thunder past Sharks._

Half time: 16 – 8 · Alphr AI pre-game win probability: Storm 73% / Sharks 27% · AAMI Park, Melbourne · Fri, 26 Sept, 07:50 pm AEST

**Try Scorers** — Storm: Will Warbrick (7' 1st Tipped 🎯), Jahrome Hughes (15'), Ryan Papenhuyzen (35' Tipped ⚡), Xavier Coates (74' Tipped ⚡) · Sharks: Sione Katoa (12' Tipped ⚡), Sione Katoa (30' Tipped ⚡), KL Iro (80')

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Storm | 73% | Won |
| Sharks | 27% | Lost |

Model call: **Correct** · Margin: 9.0 predicted → 8 actual · Markets hit: 3/3

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

### Full-Time Report

**Melbourne Storm vs Cronulla Sharks Prediction & Tips | NRL Preliminary Finals 2025**

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

Storm 22–14 Sharks in NRL Preliminary Finals 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.

Storm 22, Sharks 14, but the game actually turned inside a six-minute window either side of the half-hour mark. Sione Katoa's second try, in the 29th minute, had the Sharks within two at 10-8 and looking like they'd wrestled control back after Jahrome Hughes had put Storm out to 8-4. Ryan Papenhuyzen shut that down almost immediately, scoring in the 35th to push it back to 14-8, and Storm went to the break at 16-8. That's the passage that mattered. Every time the Sharks found a foothold, Storm had an answer within minutes.

From there it went quiet for a long stretch. No more points until the 74th minute, when Xavier Coates crossed to make it 22-10 and put the result out of reach. KL Iro's try at the death, right on the buzzer, tidied up the scoreline but changed nothing.

The shape of that first half tells you most of what you need to know about how this was won. Will Warbrick opened the scoring inside six minutes, then finished it off late as well, and in between Storm's forwards did the sort of donkey work that doesn't always show on the scoreboard but shows up everywhere else. Storm ran for 1,752 metres to the Sharks' 1,582, and ground out 545 post-contact metres. That's a pack asserting itself, and it lines up with the pre-match numbers, Storm's forward pack rated at 1125 against the Sharks' 1008.

Where Storm really pulled ahead was in the collision and in the little moments after it. Sixteen offloads to ten, 36 tackle breaks to 31, four line breaks to three. None of those are the kind of stat that wins you a highlights package, but stack them up over eighty minutes and they're the difference between a side that's building pressure and one that's absorbing it.

The Sharks weren't sloppy, to be fair. They completed at 87%, same as Storm, and actually made fewer errors, six to seven. But their halves and hooker were rated well above Storm's coming in, 1339 and 1181 against 1048 and 946, and that class in the spine never quite turned into enough points on the board. Missing 36 tackles to Storm's 31 didn't help either. When your forwards are getting out-muscled and your kick game is going backwards, 570 metres to Storm's 678, the halves need to conjure something extra, and on this occasion it wasn't enough to close an eight-point gap.

Form lines going in had the Sharks well on top, five wins from five compared to Storm's three, and an average margin of plus-20.8 against Storm's minus-5.6. None of that showed up on the day. Storm were the better side where it counted, in the middle and around the ruck, and that flipped the formbook on its head.

Alphr's model had Storm favourites at 73% and picked the margin at nine points. The actual gap was eight. The total score prediction of 41 landed within five of the real number, and Storm covered the 7.5-point line with the under on 41.5 also paying off. A tidy read, and one the game backed up almost point for point.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Storm | 16 | 6 | 22 |
| Sharks | 8 | 6 | 14 |

**Key Match Stats**

| Storm | Stat | Sharks |
|---|---|---|
| **53%** | Possession | 47% |
| 87% | Completion rate | 87% |
| **1,752** | Run metres | 1,582 |
| **545** | Post-contact metres | 505 |
| **4** | Line breaks | 3 |
| **36** | Tackle breaks | 31 |
| **16** | Offloads | 10 |
| **87.3%** | Effective tackle % | 86.1% |
| **31** | Missed tackles | 36 |
| 7 | Errors | **6** |
| 9 | Penalties conceded | 9 |
| **678** | Kick metres | 570 |

**Model Report Card**

Our model correctly predicted Storm to win at 73% probability. The margin model was sharp, predicting Storm by 9.0 vs the actual margin of 8 points. Total score prediction of 41 was close to the actual 36, within 5 points. The model went 8/16 on this match. Storm covered the 7.5-point line. The under 41.5 total call was correct.

**Referee Watch**

Ashley Klein officiated this match (422 career games). The combined score of 36 points was 7 points below Ashley Klein's career average of 43. Storm's victory aligns with Ashley Klein's historical trend, Storm have a 60% win rate under this referee. Storm's home victory fits Ashley Klein's profile, home teams win 60% of the time under this referee.

**Key moments (momentum model)**

- 6' Try — Will Warbrick (Storm) — 4-0 · win-prob swing +4 pts
- 11' Try — Sione Katoa (Sharks) — 4-4 · win-prob swing -6 pts
- 15' Try — Jahrome Hughes (Storm) — 8-4 · win-prob swing +5 pts
- 29' Try — Sione Katoa (Sharks) — 10-8 · win-prob swing -4 pts
- 35' Try — Ryan Papenhuyzen (Storm) — 14-8 · win-prob swing +5 pts
- 74' Try — Xavier Coates (Storm) — 22-10 · win-prob swing +3 pts
- 80' Try — KL Iro (Sharks) — 22-14 · win-prob swing -13 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.46 (edge -1.6%) — model probability 72.5% — result: WON
- **Line / Spread:** Storm -7.5 @ $1.91 (edge -1.6%) — result: WON
- **Total (Over/Under):** Under 41.5 @ $1.91 (edge -0.9%) — result: WON
- Predicted margin: Storm by 9 · Predicted total: 41

### Match Preview (pre-match read)

The model is firm on Storm here: 73% to see off Sharks. Form leans Sharks' way: 5 from their last 5, against 3 for Storm.

Storm own the matchup too, leading 3 of 7 factors including Forward Pack, Referee Tendency and Venue Advantage. The margin model has Storm by 9.0, with the two sides combining for about 41. Storm to win, and win clearly. The model isn't hedging.

Storm have won 7 of the last 10 between these two, and Storm took the most recent meeting 24-20 in 2026 Round 27.

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

Storm come in fresher, 14 days between games against 6.

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Storm 7 · Sharks 3 |
| Last meeting | Storm 24-20 |
| Storm last 4 | LWWL · 84 for, 88 against |
| Storm at home | 11-4 this season |
| Sharks last 4 | WWWL · 90 for, 50 against |
| Sharks away | 6-8 this season |
| Rest gap | Storm 14d · Sharks 6d |

_Pre-match read · Alphr model_

### Referee Indicator — Favours Storm

**Ashley Klein** — 422 career games since 2010.

| Team | Record under Ashley Klein | Win rate |
|---|---|---|
| Storm | 41W–27L | 60% |
| Sharks | 26W–34L | 43% |

Avg total: 43.4 pts · Home win %: 60% · Home bias: Leans home

When Ashley Klein officiates, Storm have won 41 of 68 games (60%), significantly stronger than Sharks's 26 from 60 (43%). Home teams win 60% of his matches (vs ~52% league avg).

### Recent Form (Last 5)

| Storm | Stat | Sharks |
|---|---|---|
| 3.0 | Wins (Last 5) | 5.0 |
| 18.4pts | Avg Score | 34.0pts |
| 24.0pts | Avg Conceded | 13.2pts |
| -5.6pts | Avg Margin | 20.8pts |
| 1495.6m | Run Metres | 1680.0m |
| 3.8 | Line Breaks | 5.0 |
| 357.8 | Tackles | 329.0 |
| 9.8 | Errors | 10.8 |

### Form & History

| Team | Last 5 | Avg Pts |
|---|---|---|
| Storm | 3W–2L | 18.4 |
| Sharks | 5W–0L | 34.0 |

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

| Season | Round | Home | Score | Away |
|---|---|---|---|---|
| 2026 | R27 | Sharks | 20 – 24 | Storm |
| 2025 | R17 | Storm | 30 – 6 | Sharks |
| 2025 | R11 | Sharks | 31 – 26 | Storm |
| 2024 | FW1 | Storm | 37 – 10 | Sharks |
| 2024 | R10 | Storm | 18 – 25 | Sharks |

### 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 right edge: NRL's 7th-ranked right edge attack (1.2 tries/game) runs at a Sharks defence ranked 8th there (1.08 conceded/game). Key man: Katoa, 13 tries in that channel this season.
- Sharks' best path is the left edge: NRL's 1st-ranked left edge attack (1.62 tries/game) runs at a Storm defence ranked 1st there (1 conceded/game). Key man: Mulitalo, 17 tries in that channel this season.

| Channel | Storm | Sharks |
|---|---|---|
| Left | 1.4/g (att 7th) · concedes 1/g (def 1st (strong)) | 1.62/g (att 1st (strong)) · concedes 1.04/g (def 3rd (strong)) |
| Middle | 2.08/g (att 3rd (strong)) · concedes 1.24/g (def 6th (strong)) | 1.85/g (att 5th (strong)) · concedes 1.23/g (def 5th (strong)) |
| Right | 1.2/g (att 7th) · concedes 1/g (def 4th (strong)) | 0.81/g (att 15th (weak)) · concedes 1.08/g (def 8th) |

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

|  | Storm | Sharks |
|---|---|---|
| Attack rank | 9th | 3rd (strong) |
| Defence rank | 1st (strong) | 7th |
| Tries scored · conceded | 15 · 6 | 19 · 13 |
| Try Assists | 2.4/g | 2.1/g |
| Run Metres | 229m/g | 181m/g |
| Tackle Breaks | 5.7/g | 3/g |
| Line Breaks | 0.8/g | 0.4/g |
| Tackle Efficiency | 86% | 87.3% |

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

|  | Storm | Sharks |
|---|---|---|
| Attack rank | 4th (strong) | 11th |
| Defence rank | 8th | 3rd (strong) |
| Tries scored · conceded | 67 · 58 | 59 · 52 |
| Try Assists | 1.2/g | 1.1/g |
| Run Metres | 701m/g | 735m/g |
| Tackle Breaks | 14.7/g | 17.7/g |
| Line Breaks | 2.7/g | 2.9/g |
| Tackle Efficiency | 79.7% | 80.3% |

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

|  | Storm | Sharks |
|---|---|---|
| Attack rank | 3rd (strong) | 3rd (strong) |
| Defence rank | 1st (strong) | 10th |
| Tries scored · conceded | 25 · 6 | 26 · 18 |
| Try Assists | 0.4/g | 0.3/g |
| Run Metres | 531m/g | 514m/g |
| Tackle Breaks | 8.6/g | 8.8/g |
| Line Breaks | 0.8/g | 1.1/g |
| Tackle Efficiency | 91.8% | 90% |

**Who scores on Sharks** — Locks 0.14/g (lg 0.1) +40% · Hookers 0.17/g (lg 0.14) +21% · Centres 0.74/g (lg 0.69) +7%
**Who scores on Storm** — Wingers 1.33/g (lg 1.25) +6% · Centres 0.59/g (lg 0.69) -14% · 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 19g | 2/10g (0·0·0·0·0·0·1·1·0·0) | 5/9g | 39/45g | 44% | ⚡ Anytime Try $2.25 AI 28% ✓ Scored; 🎯 First Try $10.00 AI 5% ✗ Not first | 🏉 35' |
| 2 | Will Warbrick | WG | 3 in 5g | 8/10g (0·3·2·0·0·1·0·0·1·1) | 3/3g | 13/24g | 46% | ⚡ Anytime Try $2.20 AI 41% ✓ Scored; 🎯 First Try $10.00 AI 7% ✓ Scored first | 🏉 7' |
| 3 | Jack Howarth | CE | 2 in 14g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/2g | 4/17g | 16% | — | — |
| 4 | Nick Meaney | CE | 9 in 20g | 4/10g (2·0·0·1·0·0·0·0·1·0) | 5/11g | 19/43g | 28% | — | — |
| 5 | Xavier Coates | WG | 19 in 20g | 9/10g (0·0·3·0·1·2·2·1·0·0) | 7/8g | 41/38g | 52% | ⚡ Anytime Try $1.77 AI 54% ✓ Scored; 🎯 First Try $7.50 AI 11% ✗ Not first | 🏉 74' |
| 6 | Cameron Munster | 5/8 | 2 in 22g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 4/18g | 34/100g | 12% | — | — |
| 7 | Jahrome Hughes | HB | 6 in 18g | 4/10g (0·0·2·1·1·0·0·0·0·0) | 3/12g | 30/67g | 32% | — | 🏉 15' |
| 8 | Stefano Utoikamanu | PR | 2 in 23g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 0/6g | 0/13g | 10% | — | — |
| 9 | Harry Grant | HK | 5 in 17g | 3/10g (1·0·0·0·1·0·0·1·0·0) | 7/9g | 17/46g | 32% | — | — |
| 10 | Josh King | PR | 5 in 24g | 2/10g (0·0·0·2·0·0·0·0·0·0) | 2/13g | 7/45g | 16% | — | — |
| 11 | Ativalu Lisati | INT | 1 in 14g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/0g | 1/6g | 12% | — | — |
| 12 | Eliesa Katoa | 2R | 13 in 24g | 7/10g (1·2·0·0·1·0·0·1·1·1) | 2/9g | 14/33g | 50% | ⚡ Anytime Try $2.60 AI 38% ✗ No try; 🎯 First Try $10.00 AI 7% ✗ Not first | — |
| 13 | Trent Loiero | LK | 4 in 23g | 3/10g (1·2·0·0·0·0·0·0·0·0) | 1/7g | 4/46g | 10% | — | — |
| 14 | Tyran Wishart | INT | 7 in 25g | 2/10g (0·0·0·0·1·0·0·0·0·1) | 1/7g | 11/40g | 28% | — | — |
| 15 | Shawn Blore | 2R | 2 in 22g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 1/6g | 4/22g | 8% | — | — |
| 16 | Tui Kamikamica | INT | 1 in 22g | 1/10g (0·0·0·0·1·0·0·0·0·0) | 3/10g | 5/51g | 6% | — | — |
| 17 | Alec MacDonald | INT | 0 in 18g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/5g | 1/31g | 4% | — | — |

**Sharks** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | William Kennedy | FB | 8 in 26g | 2/10g (0·1·0·0·0·1·0·0·0·0) | 0/10g | 0/6g | 22% | — | — |
| 2 | Sione Katoa | WG | 5 in 14g | 3/10g (1·0·0·0·0·2·0·0·0·0) | 5/8g | 1/4g | 42% | ⚡ Anytime Try $2.90 AI 32% ✓ Scored | 🏉 12' 30' |
| 3 | Jesse Ramien | CE | 3 in 23g | 2/10g (0·0·0·1·0·0·0·1·0·0) | 4/12g | 1/7g | 18% | — | — |
| 4 | KL Iro | CE | 11 in 13g | 7/10g (1·1·1·1·1·1·0·0·0·1) | 1/3g | 0/2g | 46% | — | 🏉 80' |
| 5 | Ronaldo Mulitalo | WG | 17 in 25g | 11/10g (0·0·1·2·0·2·3·0·2·1) | 5/8g | 3/5g | 48% | ⚡ Anytime Try $2.10 AI 74% ✗ No try; 🎯 First Try $9.00 AI 12% ✗ Not first | — |
| 6 | Braydon Trindall | 5/8 | 7 in 25g | 3/10g (1·0·0·0·1·0·1·0·0·0) | 1/7g | 1/4g | 34% | ⚡ Anytime Try $5.80 AI 23% ✗ No try | — |
| 7 | Nicho Hynes | HB | 8 in 26g | 6/10g (2·1·0·0·0·2·0·0·0·1) | 0/5g | 1/8g | 24% | — | — |
| 8 | Addin Fonua-Blake | PR | 6 in 26g | 2/10g (0·0·0·1·0·0·1·0·0·0) | 3/17g | 1/7g | 24% | — | — |
| 9 | Blayke Brailey | HK | 3 in 26g | 2/10g (0·0·1·0·0·0·0·1·0·0) | 1/12g | 0/7g | 10% | — | — |
| 10 | Toby Rudolf | PR | 1 in 16g | 1/10g (0·0·0·0·0·0·0·0·1·0) | 0/6g | 0/4g | 6% | — | — |
| 11 | Billy Burns | 2R | 4 in 21g | 3/10g (0·1·0·0·0·0·0·1·0·1) | 2/5g | 0/1g | 18% | ⚡ Anytime Try $6.75 AI 29% ✗ No try | — |
| 12 | Teig Wilton | 2R | 4 in 20g | 3/10g (0·1·0·0·1·0·0·0·0·1) | 1/8g | 1/6g | 20% | — | — |
| 13 | Jesse Colquhoun | LK | 1 in 18g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/3g | 0/1g | 5% | — | — |
| 14 | Briton Nikora | INT | 7 in 22g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 3/10g | 2/6g | 30% | — | — |
| 15 | Siosifa Talakai | INT | 2 in 23g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 2/7g | 2/5g | 16% | — | — |
| 16 | Oregon Kaufusi | INT | 1 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/12g | 1/6g | 6% | — | — |
| 17 | Braden Uele | INT | 2 in 20g | 2/10g (0·0·0·0·0·1·1·0·0·0) | 1/11g | 0/6g | 12% | — | — |

### Prediction Breakdown — Pure Alpha Model

**ELO–Market Disagreement:** Sharks hold the ELO advantage (1661 vs 1654), but the market favours Storm (@1.46). The model sides with the market, other factors override the ELO gap.

**Team ELO Ratings** — Storm 1654 · Sharks 1661 · ELO difference: 7 in favour of Sharks

**Positional Matchups** — lineup ELO by unit

| Unit | Storm | Sharks | Edge |
|---|---|---|---|
| Forwards | 1125 (best 1302) | 1008 (best 1264) | Storm +117 |
| Backs | 955 (best 1072) | 966 (best 1044) | Sharks +11 |
| Halves | 1048 (best 1048) | 1339 (best 1339) | Sharks +291 |
| Hooker | 946 | 1181 | Sharks +235 |

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

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

**Model Confidence: 73%** — Storm predicted to win by 9 points · Predicted total: 41 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-pf-storm-v-sharks
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)