# Storm v Panthers — NRL Round 3 2025 AI Prediction by Alphr

## Full Time: Storm 30 – 24 Panthers

_Storm blow away Panthers in a tight one._

Half time: 14 – 10 · Alphr AI pre-game win probability: Storm 72% / Panthers 28% · AAMI Park, Melbourne · Thu, 20 Mar, 08:00 pm AEDT

**Try Scorers** — Storm: Grant Anderson (5' 1st), Eliesa Katoa (11' Tipped ⚡), Xavier Coates (48' Tipped ⚡), Tyran Wishart (58'), Ryan Papenhuyzen (73' Tipped ⚡) · Panthers: Paul Alamoti (27' Tipped ⚡), Paul Alamoti (32' Tipped ⚡), Casey McLean (44'), Brian To'o (69' Tipped ⚡), Brian To'o (76' Tipped ⚡)

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Storm | 72% | Won |
| Panthers | 28% | Lost |

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

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

### Full-Time Report

**Melbourne Storm vs Penrith Panthers Prediction & Tips | NRL Round 3 2025**

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

Storm 30–24 Panthers in NRL Round 3 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.

Panthers did more with the ball than Storm did all night, and still walked away with nothing to show for it. They had 53% of possession, completed at 88% to Storm's scrappy 74%, and cut the line seven times to Storm's three. Brian To'o crossed twice, Paul Alamoti crossed twice, Casey McLean got one too. Four different names on the scoresheet. None of it was enough.

Storm won 30-24 at AAMI Park, and the story of how is really the story of what Panthers couldn't quite finish off.

The arm-wrestle was there from the start. Grant Anderson opened it up in the 4th minute, Eliesa Katoa made it 10-0 by the 10th, and it looked like it might get away from Panthers early. It didn't. Alamoti scored either side of the half-hour to drag it back to 14-8, then Casey McLean levelled it up at 14-14 in the 44th. Panthers had clawed level after being down ten. That's the bit that should have mattered more than it did.

Instead Storm answered every time. Xavier Coates went over three minutes into the second half to make it 18-16. Tyran Wishart stretched it to 24-16 just after the hour. To'o hit back at 69 minutes to get Panthers within four, but Ryan Papenhuyzen restored the buffer at 28-20, and even a second To'o try in the 75th, 30-24, arrived too late to do anything but tighten the final margin.

So where did it slip. Panthers moved the ball better, no argument, out-gaining Storm 1,539 metres to 1,394 and racking up more tackle breaks, 29 to 23, and more offloads, 8 to 6. But Storm dragged 486 post-contact metres out of just 1,394, over 40 metres more than Panthers managed despite the extra ground gained, which tells you Storm's forwards were doing the damage after first contact even when they weren't winning territory outright. Storm's forward pack rated 1109 to Panthers' 1030 coming in, and on this evidence that gap showed up exactly where you'd expect: in the collision.

Defensively, Storm were the leakier side by the numbers, missing 29 tackles to Panthers' 23 and completing tackles at 89.2% against 91.7%. Normally that costs you. It didn't here, partly because Storm's halves pairing, rated 1283 against Panthers' 1087 pre-match, kept finding the moments that counted, and partly because Storm's own ball control, for all the raw completion numbers looking rough at 74% to 15 errors, still produced five tries to Panthers' four.

Panthers had the boot working too, 519 kicking metres to Storm's 399, and that territorial edge is why the scoreboard stayed close all night rather than turning into a rout. But territory and possession without the tries to match it is just a pretty stat line.

Alphr's model had Storm favourites at 72% and picked the margin at 8 points. The actual result was Storm by 6. Close enough to call it a good read, and on the night, Storm covered the 6.5-point line. Panthers did plenty right. They just didn't do it when it would have hurt Storm most.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Storm | 14 | 16 | 30 |
| Panthers | 10 | 14 | 24 |

**Key Match Stats**

| Storm | Stat | Panthers |
|---|---|---|
| 47% | Possession | **53%** |
| 74% | Completion rate | **88%** |
| 1,394 | Run metres | **1,539** |
| **486** | Post-contact metres | 442 |
| 3 | Line breaks | **7** |
| 23 | Tackle breaks | **29** |
| 6 | Offloads | **8** |
| 89.2% | Effective tackle % | **91.7%** |
| 29 | Missed tackles | **23** |
| 15 | Errors | **8** |
| 8 | Penalties conceded | **6** |
| 399 | Kick metres | **519** |

**Model Report Card**

Our model correctly predicted Storm to win at 72% probability. The margin model was sharp, predicting Storm by 8.0 vs the actual margin of 6 points. The model went 7/16 on this match. Storm covered the 6.5-point line.

**Referee Watch**

Adam Gee officiated this match (313 career games). The combined score of 54 points was 11 points above Adam Gee's career average of 43. 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)**

- 4' Try — Grant Anderson (Storm) — 4-0 · win-prob swing +4 pts
- 10' Try — Eliesa Katoa (Storm) — 10-0 · win-prob swing +3 pts
- 26' Try — Paul Alamoti (Panthers) — 14-4 · win-prob swing -2 pts
- 32' Try — Paul Alamoti (Panthers) — 14-8 · win-prob swing -5 pts
- 44' Try — Casey McLean (Panthers) — 14-14 · win-prob swing -5 pts
- 47' Try — Xavier Coates (Storm) — 18-16 · win-prob swing +5 pts
- 58' Try — Tyran Wishart (Storm) — 24-16 · win-prob swing +4 pts
- 69' Try — Brian To'o (Panthers) — 24-20 · win-prob swing -5 pts
- 72' Try — Ryan Papenhuyzen (Storm) — 28-20 · win-prob swing +5 pts
- 75' Try — Brian To'o (Panthers) — 30-24 · 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.43 (edge -3.2%) — model probability 72.0% — result: WON
- **Line / Spread:** Storm -6.5 @ $1.91 (edge -3.2%) — result: WON
- **Total (Over/Under):** Under 43.5 @ $1.91 (edge +5.9%) — result: LOST
- Predicted margin: Storm by 8 · Predicted total: 41

### Match Preview (pre-match read)

The model is firm on Storm here: 72% to see off Panthers. The heaviest factor is the ratings gap: Storm sit 64 ELO points clear, 1679 to 1615.

Storm own the matchup too, leading 7 of 7 factors including ELO Difference, Forward Pack and Backline Quality. The margin model has Storm by 8.0, with the two sides combining for about 41. Storm to win, and win clearly. The model isn't hedging.

Panthers have won 6 of the last 10 between these two, and Panthers took the most recent meeting 22-14 in 2026 Round 25.

Panthers have put up 124 points in four games. Storm have won 3 games this season after trailing at half-time.

On the ladder it's Storm 1st against Panthers 10th.

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

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Storm 4 · Panthers 6 |
| Last meeting | Panthers 22-14 |
| Storm last 4 | LWWL · 84 for, 88 against |
| Storm at home | 11-4 this season |
| Panthers last 4 | WWWL · 124 for, 70 against |
| Panthers away | 9-6 this season |
| Ladder | Storm 1st · Panthers 10th |
| Finals odds | Both locked into the eight |
| Rest gap | Storm 11d · Panthers 6d |

_Pre-match read · Alphr model_

### Referee Indicator — Balanced

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

| Team | Record under Adam Gee | Win rate |
|---|---|---|
| Storm | 30W–14L | 68% |
| Panthers | 31W–13L | 70% |

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

Both sides have a similar record under Adam Gee, Storm 30W–14L (68%) and Panthers 31W–13L (70%). 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. Panthers get a +1.1 penalty advantage under Adam Gee vs Storm's +0.4. 64% of his 124 career sin bins go to away teams.

### Recent Form (Last 5)

| Storm | Stat | Panthers |
|---|---|---|
| 4.0 | Wins (Last 5) | 4.0 |
| 44.2pts | Avg Score | 26.8pts |
| 19.2pts | Avg Conceded | 17.6pts |
| 25.0pts | Avg Margin | 9.2pts |
| 1881.2m | Run Metres | 1858.8m |
| 8.8 | Line Breaks | 5.0 |
| 282.8 | Tackles | 352.8 |
| 9.8 | Errors | 11.8 |

### Form & History

| Team | Last 5 | Avg Pts |
|---|---|---|
| Storm | 4W–1L | 44.2 |
| Panthers | 4W–1L | 26.8 |

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

| Season | Round | Home | Score | Away |
|---|---|---|---|---|
| 2026 | R25 | Storm | 14 – 22 | Panthers |
| 2026 | R5 | Panthers | 50 – 10 | Storm |
| 2025 | R24 | Panthers | 18 – 22 | Storm |
| 2024 | GF | Storm | 6 – 14 | Panthers |
| 2024 | R24 | Panthers | 22 – 24 | Storm |

### 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 5th-ranked right edge attack (1.41 tries/game) runs at a Panthers defence ranked 2nd there (0.89 conceded/game). Key man: Katoa, 12 tries in that channel this season.
- Panthers' best path is the right edge: NRL's 11th-ranked right edge attack (1.19 tries/game) runs at a Storm defence ranked 13th there (1.33 conceded/game). Key man: Tago, 10 tries in that channel this season.

| Channel | Storm | Panthers |
|---|---|---|
| Left | 0.85/g (att 13th (weak)) · concedes 0.89/g (def 3rd (strong)) | 1.19/g (att 6th (strong)) · concedes 0.89/g (def 3rd (strong)) |
| Middle | 2.59/g (att 1st (strong)) · concedes 0.93/g (def 2nd (strong)) | 1.7/g (att 10th) · concedes 0.93/g (def 2nd (strong)) |
| Right | 1.41/g (att 5th (strong)) · concedes 1.33/g (def 13th (weak)) | 1.19/g (att 11th) · concedes 0.89/g (def 2nd (strong)) |

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

|  | Storm | Panthers |
|---|---|---|
| Attack rank | 1st (strong) | 10th |
| Defence rank | 2nd (strong) | 3rd (strong) |
| Tries scored · conceded | 38 · 7 | 16 · 8 |
| Try Assists | 1.9/g | 1.7/g |
| Run Metres | 289m/g | 227m/g |
| Tackle Breaks | 8.7/g | 5.4/g |
| Line Breaks | 1.9/g | 0.8/g |
| Tackle Efficiency | 85.5% | 84% |

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

|  | Storm | Panthers |
|---|---|---|
| Attack rank | 7th | 7th |
| Defence rank | 7th | 3rd (strong) |
| Tries scored · conceded | 66 · 57 | 66 · 50 |
| Try Assists | 1.3/g | 1/g |
| Run Metres | 646m/g | 832m/g |
| Tackle Breaks | 15/g | 22.6/g |
| Line Breaks | 3.1/g | 3.4/g |
| Tackle Efficiency | 77.5% | 80.9% |

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

|  | Storm | Panthers |
|---|---|---|
| Attack rank | 7th | 6th (strong) |
| Defence rank | 4th (strong) | 1st (strong) |
| Tries scored · conceded | 22 · 16 | 23 · 12 |
| Try Assists | 0.4/g | 0.4/g |
| Run Metres | 523m/g | 542m/g |
| Tackle Breaks | 7.6/g | 8.9/g |
| Line Breaks | 1.1/g | 0.9/g |
| Tackle Efficiency | 90.3% | 91% |

**Who scores on Panthers** — Fullbacks 0.34/g (lg 0.4) -15% · 2nd Rows 0.38/g (lg 0.46) -17% · Hookers 0.12/g (lg 0.15) -20%
**Who scores on Storm** — Wingers 1.35/g (lg 1.26) +7% · Centres 0.7/g (lg 0.7) +0% · 2nd Rows 0.41/g (lg 0.46) -11%

_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 | 2 in 1g | 6/10g (1·0·1·0·0·0·0·2·0·2) | 2/7g | 31/36g | 54% | ⚡ Anytime Try $1.77 AI 54% ✓ Scored; 🎯 First Try $8.50 AI 6% ✗ Not first | 🏉 73' |
| 2 | Grant Anderson | WG | 0 in 1g | 4/10g (1·1·1·1·0·0·0·0·0·0) | 1/2g | 3/14g | 27% | — | 🏉 5' |
| 3 | Jack Howarth | CE | 0 in 1g | 2/10g (0·0·0·0·1·0·0·1·0·0) | 0/2g | 4/12g | 19% | — | — |
| 4 | Nick Meaney | CE | 1 in 1g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 3/12g | 16/34g | 18% | — | — |
| 5 | Xavier Coates | WG | 2 in 1g | 6/10g (1·0·1·1·0·1·0·0·0·2) | 0/6g | 31/28g | 46% | ⚡ Anytime Try $1.60 AI 49% ✓ Scored | 🏉 48' |
| 6 | Cameron Munster | 5/8 | 0 in 1g | 3/10g (0·0·0·0·0·0·1·2·0·0) | 2/16g | 33/89g | 28% | — | — |
| 7 | Jahrome Hughes | HB | 1 in 1g | 8/10g (0·0·0·0·1·3·0·3·0·1) | 0/12g | 26/60g | 36% | ⚡ Anytime Try $3.05 AI 71% ✗ No try; 🎯 First Try $15.00 AI 9% ✗ Not first | — |
| 8 | Stefano Utoikamanu | PR | 0 in 1g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 2/4g | 0/2g | 8% | — | — |
| 9 | Harry Grant | HK | 1 in 1g | 10/10g (1·2·0·0·1·1·3·0·1·1) | 3/12g | 16/38g | 42% | ⚡ Anytime Try $2.85 AI 65% ✗ No try; 🎯 First Try $13.00 AI 8% ✗ Not first | — |
| 10 | Josh King | PR | 1 in 1g | 2/10g (0·0·0·0·1·0·0·0·0·1) | 0/13g | 5/35g | 14% | — | — |
| 11 | Shawn Blore | 2R | 0 in 1g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/5g | 2/13g | 6% | — | — |
| 12 | Eliesa Katoa | 2R | 1 in 1g | 5/10g (0·0·0·2·1·1·0·0·0·1) | 3/10g | 7/23g | 40% | ⚡ Anytime Try $2.60 AI 47% ✓ Scored | 🏉 11' |
| 13 | Trent Loiero | LK | 0 in 1g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/7g | 2/35g | 4% | — | — |
| 14 | Tyran Wishart | INT | 0 in 1g | 3/10g (0·0·1·0·2·0·0·0·0·0) | 1/8g | 6/29g | 28% | — | 🏉 58' |
| 15 | Alec MacDonald | INT | 0 in 1g | 2/10g (0·0·0·1·1·0·0·0·0·0) | 0/5g | 1/22g | 8% | — | — |
| 16 | Tui Kamikamica | INT | 0 in 1g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/13g | 5/43g | 4% | — | — |

**Panthers** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 3 | Izack Tago | CE | 1 in 2g | 5/10g (2·1·0·0·0·1·0·0·1·0) | 5/8g | 0/1g | 34% | — | — |
| 4 | Paul Alamoti | CE | 2 in 2g | 6/10g (0·0·1·0·0·0·2·1·1·1) | 1/2g | 0/1g | 34% | ⚡ Anytime Try $2.75 AI 46% ✓ Scored; 🎯 First Try $13.00 AI 7% ✗ Not first | 🏉 27' 32' |
| 5 | Brian To'o | WG | 1 in 1g | 6/10g (0·2·0·0·0·1·1·1·0·1) | 9/12g | 0/1g | 56% | ⚡ Anytime Try $2.00 AI 49% ✓ Scored; 🎯 First Try $10.00 AI 8% ✗ Not first | 🏉 69' 76' |
| 6 | Jack Cole | 5/8 | 0 in 2g | 2/10g (0·0·1·0·0·0·1·0·0·0) | 0/1g | 0/0g | 17% | — | — |
| 7 | Nathan Cleary | HB | 0 in 2g | 4/10g (0·3·1·0·0·0·0·0·0·0) | 2/13g | 0/4g | 26% | — | — |
| 8 | Moses Leota | PR | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/15g | 0/3g | 8% | — | — |
| 9 | Mitch Kenny | HK | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/9g | 0/0g | 6% | — | — |
| 10 | Lindsay Smith | PR | 0 in 2g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 1/6g | 0/1g | 10% | — | — |
| 11 | Scott Sorensen | 2R | 0 in 2g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 1/11g | 0/2g | 14% | — | — |
| 12 | Liam Martin | 2R | 0 in 2g | 2/10g (0·0·0·0·0·0·1·1·0·0) | 2/13g | 0/1g | 24% | — | — |
| 13 | Isaah Yeo | LK | 1 in 2g | 2/10g (0·0·0·1·0·0·0·0·1·0) | 0/17g | 0/5g | 18% | — | — |
| 14 | Bradley Schneider | Replacement | 0 in 2g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 0/4g | 0/1g | 14% | — | — |
| 15 | Isaiah Papali'i | INT | 0 in 1g | 4/10g (0·2·0·1·0·0·0·0·1·0) | 0/11g | 0/4g | 18% | — | — |
| 16 | Liam Henry | INT | 1 in 1g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/3g | 0/1g | 10% | — | — |
| 17 | Luke Garner | INT | 0 in 2g | 4/10g (0·0·0·1·1·2·0·0·0·0) | 1/7g | 0/1g | 18% | ⚡ Anytime Try $10.00 AI 39% ✗ No try | — |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Storm 1679 · Panthers 1615 · ELO difference: 64 in favour of Storm

**Positional Matchups** — lineup ELO by unit

| Unit | Storm | Panthers | Edge |
|---|---|---|---|
| Forwards | 1109 (best 1238) | 1030 (best 1207) | Storm +78 |
| Backs | 1123 (best 1204) | 933 (best 1074) | Storm +190 |
| Halves | 1283 (best 1283) | 1087 (best 1087) | Storm +196 |
| Hooker | 987 | 735 | Storm +252 |

**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: 72%** — Storm predicted to win by 8 points · Predicted total: 41 pts

**Record:** 2/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-r3-storm-v-panthers
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)