# Roosters v Sharks — NRL Round 12 2025 AI Prediction by Alphr

## Full Time: Roosters 42 – 16 Sharks

_Roosters put Sharks to the sword._

Half time: 20 – 6 · Alphr AI pre-game win probability: Roosters 36% / Sharks 64% · Polytec Stadium, Gosford · Sat, 24 May, 07:35 pm AEST

**Try Scorers** — Roosters: Daniel Tupou (3' 1st), Daniel Tupou (11' 1st), Hugo Savala (25'), Mark Nawaqanitawase (50' Tipped ⚡), Xavier Va'a (54'), James Tedesco (77'), Dominic Young (79' Tipped ⚡) · Sharks: Cameron McInnes (14'), KL Iro (59'), Ronaldo Mulitalo (67' Tipped ⚡)

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Sharks | 64% | Lost |
| Roosters | 36% | Won |

Model call: **Missed** · Margin: 4.8 predicted → 26 actual · Markets hit: 1/3

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

### Full-Time Report

**Sydney Roosters vs Cronulla Sharks Prediction & Tips | NRL Round 12 2025**

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

Roosters 42–16 Sharks in NRL Round 12 at Polytec Stadium, Gosford. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Roosters led from the third minute and never gave it back, but the game still had a pressure point: could the Sharks find a way back before the margin became unmanageable? By half-time it already looked shaky for them, and by full-time it wasn't close. Roosters won 42-16 at Polytec Stadium.

Daniel Tupou set the tone early, scoring in the 3rd minute and again in the 10th to make it 12-0 before the Sharks had a look in. Cameron McInnes hit back in the 14th to trim it to 14-4, but Hugo Savala restored the buffer in the 24th minute, and Roosters went to the sheds up 20-6. Ronaldo Mulitalo then spent ten minutes in the bin from the 26th, and the Sharks got through that patch without further bleeding before the break. It didn't matter much. The gap was already the story.

The second half was where it became safe. Mark Nawaqanitawase scored in the 49th minute, Xavier Va'a followed in the 54th, and suddenly it was 30-6. Sharks had a real response in them, KL Iro crossing in the 59th and Mulitalo again in the 67th to get it back to 32-16, a 16-point game with time still on the clock. But Roosters shut the door late. James Tedesco scored in the 76th minute and Dominic Young added one in the 79th to make the final margin 26 points.

The numbers back up what the scoreboard showed. Roosters ran for 1,702 metres to the Sharks' 1,564, made six line breaks to four, and offloaded eleven times to the Sharks' five. Their effective tackle rate sat at 89.1% against the Sharks' 86.4%, and they missed only 28 tackles to the Sharks' 33. That's a side finding more space and holding onto the ball better in contact, which is exactly the sort of gap that turns a 20-6 half-time lead into a 26-point win.

Sharks were actually the tidier side with the ball. They completed at 80% to the Roosters' 75%, made fewer errors (11 to 13), and out-muscled Roosters through the middle with 533 post-contact metres to 503. They also held the discipline edge, conceding seven penalties to eight. None of it changed the outcome, because the areas where Roosters dominated, go-forward, line breaks, offloads, mattered more on this occasion.

Going in, Alphr's model had this one wrong. The pre-match ratings had Sharks stronger overall, 1609 to 1486, and gave them a 64% chance to win by 4.8 points. Instead Roosters won by 26, a 30-point-plus miss on the margin.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Roosters | 20 | 22 | 42 |
| Sharks | 6 | 10 | 16 |

**Key Match Stats**

| Roosters | Stat | Sharks |
|---|---|---|
| 50% | Possession | 50% |
| 75% | Completion rate | **80%** |
| **1,702** | Run metres | 1,564 |
| 503 | Post-contact metres | **533** |
| **6** | Line breaks | 4 |
| **33** | Tackle breaks | 28 |
| **11** | Offloads | 5 |
| **89.1%** | Effective tackle % | 86.4% |
| **28** | Missed tackles | 33 |
| 13 | Errors | **11** |
| 8 | Penalties conceded | **7** |
| 445 | Kick metres | **469** |

**Model Report Card**

Roosters defied the model's 64% prediction for Sharks, a notable upset. The margin model missed here, predicting 4.8 but the actual margin was 26 points. Roosters led 20–6 at the break and pulled away in the second half to win by 26. The model went 4/16 on this match. The over 44.5 total call was correct.

**Referee Watch**

Grant Atkins officiated this match (336 career games). The combined score of 58 points was 15 points above Grant Atkins's career average of 43. Roosters's victory aligns with Grant Atkins's historical trend, Roosters have a 63% win rate under this referee. Grant Atkins averaged 12.7 penalties per game heading in, a whistle-heavy referee profile.

**Key moments (momentum model)**

- 3' Try — Daniel Tupou (Roosters) — 4-0 · win-prob swing +5 pts
- 10' Try — Daniel Tupou (Roosters) — 12-0 · win-prob swing +5 pts
- 14' Try — Cameron McInnes (Sharks) — 14-4 · win-prob swing -7 pts
- 24' Try — Hugo Savala (Roosters) — 18-6 · win-prob swing +14 pts
- 26' Sin Bin — Ronaldo Mulitalo (Sharks) — 18-6 · win-prob swing +4 pts
- 49' Try — Mark Nawaqanitawase (Roosters) — 24-6 · win-prob swing +2 pts
- 54' Try — Xavier Va'a (Roosters) — 30-6 · win-prob swing +1 pts
- 59' Try — KL Iro (Sharks) — 32-10 · win-prob swing -0 pts
- 67' Try — Ronaldo Mulitalo (Sharks) — 32-16 · win-prob swing -1 pts
- 76' Try — James Tedesco (Roosters) — 36-16 · win-prob swing +1 pts
- 79' Try — Dominic Young (Roosters) — 42-16 · 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:** Sharks to win @ $1.50 (edge -12.4%) — model probability 64.5% — result: LOST
- **Line / Spread:** Sharks +8.5 @ $1.91 (edge -12.4%) — result: LOST
- **Total (Over/Under):** Over 44.5 @ $1.91 (edge +19.3%) — result: WON
- Predicted margin: Sharks by 5 · Predicted total: 51

### Match Preview (pre-match read)

Sharks are the call at 64%, but Roosters stay live at 36%. The heaviest factor is the ratings gap: Sharks sit 123 ELO points clear, 1609 to 1486. Form leans Sharks' way: 4 from their last 5, against 3 for Roosters.

Sharks own the matchup too, leading 3 of 7 factors including ELO Difference, Forward Pack and Recent Win Rate. The margin model has Sharks by 4.8, with the two sides combining for about 51. Lean Sharks, but it shapes as a genuine contest.

Roosters have won 6 of the last 10 between these two, and Roosters took the most recent meeting 46-10 in 2026 Round 29.

On the ladder it's Roosters 11th against Sharks 5th.

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Roosters 6 · Sharks 4 |
| Last meeting | Roosters 46-10 |
| Roosters last 4 | LWWL · 96 for, 66 against |
| Roosters at home | 6-6 this season |
| Sharks last 4 | WWWL · 90 for, 50 against |
| Sharks away | 6-8 this season |
| Ladder | Roosters 11th · Sharks 5th |
| Finals odds | Both locked into the eight |

_Pre-match read · Alphr model_

### Referee Indicator — Favours Roosters

**Grant Atkins** — 336 career games since 2013.

| Team | Record under Grant Atkins | Win rate |
|---|---|---|
| Roosters | 37W–22L | 63% |
| Sharks | 19W–15L | 56% |

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

Roosters hold a 7-point edge: 37W–22L (63%) vs Sharks's 19W–15L (56%).

Grant Atkins averages 12.7 penalties per game, above the league norm. Expect frequent stoppages. Penalises away teams more, 6 against home vs 6.8 against away.

### Recent Form (Last 5)

| Roosters | Stat | Sharks |
|---|---|---|
| 3.0 | Wins (Last 5) | 4.0 |
| 28.0pts | Avg Score | 28.2pts |
| 24.8pts | Avg Conceded | 18.4pts |
| 3.2pts | Avg Margin | 9.8pts |
| 1673.2m | Run Metres | 1744.4m |
| 5.8 | Line Breaks | 4.2 |
| 317.8 | Tackles | 318.0 |
| 13.0 | Errors | 11.0 |

### Form & History

| Team | Last 5 | Avg Pts |
|---|---|---|
| Roosters | 3W–2L | 28.0 |
| Sharks | 4W–1L | 28.2 |

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

| Season | Round | Home | Score | Away |
|---|---|---|---|---|
| 2026 | SF | Roosters | 46 – 10 | Sharks |
| 2026 | R16 | Roosters | 27 – 8 | Sharks |
| 2026 | R6 | Sharks | 22 – 34 | Roosters |
| 2025 | FW1 | Sharks | 20 – 10 | Roosters |
| 2025 | R20 | Sharks | 31 – 18 | 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:
- Roosters' best path is the left edge: NRL's 5th-ranked left edge attack (1.4 tries/game) runs at a Sharks defence ranked 10th there (1.27 conceded/game). Key man: Young, 5 tries in that channel this season.
- Sharks' best path is the left edge: NRL's 2nd-ranked left edge attack (2 tries/game) runs at a Roosters defence ranked 6th there (1.1 conceded/game). Key man: Iro, 8 tries in that channel this season.

| Channel | Roosters | Sharks |
|---|---|---|
| Left | 1.4/g (att 5th (strong)) · concedes 1.1/g (def 6th (strong)) | 2/g (att 2nd (strong)) · concedes 1.27/g (def 10th) |
| Middle | 1.7/g (att 4th (strong)) · concedes 2.2/g (def 16th (weak)) | 1.55/g (att 8th) · concedes 0.91/g (def 1st (strong)) |
| Right | 0.7/g (att 15th (weak)) · concedes 1.2/g (def 13th (weak)) | 0.91/g (att 11th) · concedes 1.09/g (def 11th) |

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

|  | Roosters | Sharks |
|---|---|---|
| Attack rank | 3rd (strong) | 17th (weak) |
| Defence rank | 17th (weak) | 5th (strong) |
| Tries scored · conceded | 9 · 11 | 3 · 5 |
| Try Assists | 0.8/g | 2.2/g |
| Run Metres | 194m/g | 162m/g |
| Tackle Breaks | 3.4/g | 2.1/g |
| Line Breaks | 0.6/g | 0.2/g |
| Tackle Efficiency | 88.7% | 86.8% |

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

|  | Roosters | Sharks |
|---|---|---|
| Attack rank | 10th | 4th (strong) |
| Defence rank | 15th (weak) | 3rd (strong) |
| Tries scored · conceded | 23 · 28 | 29 · 22 |
| Try Assists | 1.5/g | 1.1/g |
| Run Metres | 697m/g | 731m/g |
| Tackle Breaks | 19.4/g | 17/g |
| Line Breaks | 4.1/g | 2.9/g |
| Tackle Efficiency | 82.8% | 81.5% |

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

|  | Roosters | Sharks |
|---|---|---|
| Attack rank | 9th | 3rd (strong) |
| Defence rank | 3rd (strong) | 5th (strong) |
| Tries scored · conceded | 5 · 4 | 14 · 6 |
| Try Assists | 0.4/g | 0.3/g |
| Run Metres | 531m/g | 558m/g |
| Tackle Breaks | 10/g | 9.5/g |
| Line Breaks | 0.8/g | 1.2/g |
| Tackle Efficiency | 89.8% | 90.3% |

**Who scores on Sharks** — Locks 0.13/g (lg 0.1) +30% · Hookers 0.17/g (lg 0.14) +21% · Centres 0.75/g (lg 0.67) +12%
**Who scores on Roosters** — Five-Eighths 0.4/g (lg 0.27) +48% · Locks 0.13/g (lg 0.1) +30% · Halfbacks 0.25/g (lg 0.21) +19%

_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 Polytec Stadium. ⚡ = 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._

**Roosters** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | James Tedesco | FB | 2 in 10g | 2/10g (0·0·0·0·0·0·0·2·0·0) | 6/14g | 0/0g | 34% | — | 🏉 77' |
| 2 | Daniel Tupou | WG | 3 in 10g | 3/10g (0·2·0·0·0·0·1·0·0·0) | 11/14g | 0/0g | 46% | — | 🏉 3' 11' |
| 3 | Billy Smith | CE | 3 in 6g | 4/10g (0·0·1·0·0·1·2·0·0·0) | 0/1g | 0/0g | 29% | ⚡ Anytime Try $3.80 AI 38% ✗ No try; 🎯 First Try $18.00 AI 6% ✗ Not first | — |
| 4 | Mark Nawaqanitawase | CE | 7 in 9g | 8/10g (1·0·1·0·1·0·0·1·2·2) | 0/0g | 0/0g | 60% | ⚡ Anytime Try $3.40 AI 58% ✓ Scored; 🎯 First Try $14.00 AI 11% ✗ Not first | 🏉 50' |
| 5 | Dominic Young | WG | 5 in 7g | 6/10g (0·1·0·2·1·0·1·1·0·0) | 5/5g | 0/0g | 60% | ⚡ Anytime Try $2.45 AI 41% ✓ Scored; 🎯 First Try $12.00 AI 7% ✗ Not first | 🏉 79' |
| 6 | Sandon Smith | 5/8 | 5 in 10g | 5/10g (1·1·0·0·1·0·0·2·0·0) | 0/1g | 0/0g | 18% | — | — |
| 7 | Hugo Savala | HB | 1 in 10g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/0g | 0/0g | 10% | — | 🏉 25' |
| 8 | Makahesi Makatoa | PR | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/3g | 0/0g | 2% | — | — |
| 9 | Zach Dockar-Clay | INT | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/3g | 0/0g | 2% | — | — |
| 10 | Salesi Foketi | PR | 0 in 7g | 0/7g (0·0·0·0·0·0·0) | 0/0g | 0/0g | 0% | — | — |
| 11 | Egan Butcher | 2R | 0 in 3g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/3g | 0/0g | 10% | — | — |
| 12 | Siua Wong | 2R | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/1g | 0/0g | 8% | — | — |
| 13 | Victor Radley | LK | 2 in 8g | 3/10g (1·0·0·0·0·0·0·0·2·0) | 0/7g | 0/0g | 22% | — | — |
| 14 | Benaiah Ioelu | HK | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| 15 | Taylor Losalu | INT | 0 in 3g | 0/3g (0·0·0) | 0/0g | 0/0g | 0% | — | — |
| 16 | Blake Steep | INT | 1 in 10g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/0g | 0/0g | 13% | — | — |

**Sharks** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | William Kennedy | FB | 4 in 11g | 4/10g (0·1·0·0·1·1·1·0·0·0) | 2/5g | 0/0g | 28% | ⚡ Anytime Try $2.90 AI 41% ✗ No try | — |
| 2 | Mawene Hiroti | WG | 3 in 4g | 4/10g (0·0·0·0·1·0·1·1·1·0) | 1/2g | 0/0g | 30% | ⚡ Anytime Try $1.88 AI 48% ✗ No try; 🎯 First Try $8.50 AI 5% ✗ Not first | — |
| 3 | Jesse Ramien | CE | 1 in 11g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/8g | 0/0g | 18% | — | — |
| 4 | KL Iro | CE | 8 in 7g | 8/10g (0·0·0·1·2·1·1·1·1·1) | 0/2g | 0/0g | 42% | — | 🏉 59' |
| 5 | Ronaldo Mulitalo | WG | 5 in 11g | 5/10g (1·0·0·0·0·0·1·0·2·1) | 5/6g | 0/0g | 50% | ⚡ Anytime Try $1.69 AI 62% ✓ Scored; 🎯 First Try $8.00 AI 8% ✗ Not first | 🏉 67' |
| 6 | Braydon Trindall | 5/8 | 2 in 11g | 2/10g (0·1·0·0·0·0·0·0·1·0) | 0/4g | 0/0g | 32% | — | — |
| 7 | Nicho Hynes | HB | 1 in 11g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 1/7g | 0/0g | 16% | — | — |
| 8 | Addin Fonua-Blake | PR | 4 in 11g | 3/10g (0·0·0·0·0·1·0·0·1·1) | 3/9g | 0/0g | 34% | ⚡ Anytime Try $3.80 AI 47% ✗ No try | — |
| 9 | Blayke Brailey | HK | 0 in 11g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/7g | 0/0g | 6% | — | — |
| 10 | Oregon Kaufusi | PR | 1 in 11g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/10g | 0/0g | 8% | — | — |
| 11 | Briton Nikora | 2R | 6 in 11g | 5/10g (1·1·0·2·0·0·0·1·0·0) | 1/6g | 0/0g | 36% | ⚡ Anytime Try $2.75 AI 41% ✗ No try | — |
| 12 | Billy Burns | 2R | 1 in 7g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 0/4g | 0/0g | 12% | — | — |
| 13 | Cameron McInnes | LK | 1 in 11g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 2/14g | 0/0g | 8% | — | 🏉 14' |
| 14 | Daniel Atkinson | INT | 2 in 11g | 2/10g (0·0·0·0·0·0·0·0·0·2) | 0/1g | 0/0g | 15% | — | — |
| 15 | Jesse Colquhoun | INT | 0 in 4g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/0g | 0% | — | — |
| 16 | Siosifa Talakai | INT | 0 in 9g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 2/6g | 0/0g | 12% | — | — |
| 17 | Braden Uele | INT | 0 in 6g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/5g | 0/0g | 4% | — | — |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Roosters 1486 · Sharks 1609 · ELO difference: 123 in favour of Sharks

**Positional Matchups** — lineup ELO by unit

| Unit | Roosters | Sharks | Edge |
|---|---|---|---|
| Forwards | 939 (best 1180) | 1094 (best 1320) | Sharks +154 |
| Backs | 1010 (best 1102) | 930 (best 1092) | Roosters +80 |
| Halves | 1185 (best 1185) | 1153 (best 1153) | Roosters +32 |
| Hooker | 1000 | 972 | Roosters +28 |

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

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

**Model Confidence: 64%** — Sharks predicted to win by 5 points · Predicted total: 51 pts

**Record:** 1/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-r12-roosters-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)