# North Melbourne v Richmond — AFL Round 23 2025 AI Prediction by Alphr

## Full Time: North Melbourne 135 – 87 Richmond

_North Melbourne run riot over Richmond._

Half time: 47 – 39 · Alphr AI pre-game win probability: North Melbourne 90% / Richmond 10% · Ninja Stadium · Tue, 24 Feb, 10:45 pm AEDT

**Goal Kickers** — North Melbourne: Cameron Zurhaar (2' 1st Tipped ⚡), Jy Simpkin (18'), Paul Curtis (38' ×4 Tipped ⚡), Geordie Payne (52' ×2), Harry Sheezel (61' ×2), Jack Darling (77' Tipped ⚡), Jacob Konstanty (81'), Cooper Trembath (84' ×3 Tipped ⚡), Tom Powell (90'), Luke Davies-Uniacke (99'), Matt Whitlock (79'), Griffin Logue (83') · Richmond: Tom Lynch (7' ×3 Tipped ⚡), Rhyan Mansell (11' Tipped ⚡), James Trezise (24'), Maurice Rioli (48'), Noah Balta (60' ×2), Seth Campbell (87' ×3), Steely Green (76'), Kamdyn McIntosh (96')

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| North Melbourne | 90% | Won |
| Richmond | 10% | Lost |

Model call: **Correct** · Margin: 37.2 predicted → 48 actual · Markets hit: 3/3

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

### Full-Time Report

**North Melbourne Kangaroos vs Richmond Tigers Prediction & Tips | AFL Round 23 2025**

_By Ben Dunlop · Published: 24 Feb 2026, 10:45 pm_

North Melbourne 135–87 Richmond in AFL Round 23 at Ninja Stadium. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Richmond had the better of the opening term. At quarter time it was Richmond 26, North Melbourne 19, and for twenty minutes the form guide looked shaky. Richmond's ruck edge, 1014 to 908 in the pre-match ratings, showed up early, and the hit-out count finished near enough level, 42 to 41. That part of the plan held up all day.

It just didn't matter much after that. North Melbourne scored 28 to Richmond's 13 in the second term to lead 47–39 at the main break, then piled on another 50 points to Richmond's 12 in the third to make it 97–51 at three-quarter time. From a four-point deficit to a 46-point lead inside two quarters is not a slow bleed, it's a collapse.

Richmond's one clear on-field win was the pressure count. They out-tackled North Melbourne 71 to 64, which says the willingness was there even as the scoreboard ran away. But you can't tackle a side into submission if you're not getting the ball back to use it. Richmond finished with 297 disposals to 431, and touched it at only 67.7% efficiency against North Melbourne's 76.9%. Effort without execution, and it showed everywhere else on the sheet: 40 clearances to 49, 42 inside 50s to 62, 57 marks to 81.

North Melbourne's forward setup did the rest. Sixteen marks inside 50 to Richmond's 10 meant the home side wasn't just getting it forward more often, they were controlling it once it arrived. Sixty-eight intercepts to 53 tells the other half of the story: North Melbourne's defence, rated 1018 against Richmond's 944 pre-match, kept picking off Richmond's forward entries and turning them straight back into scoreboard pressure.

None of this should shock anyone who looked at the form line. North Melbourne came in averaging 106.4 points a game and conceding just 65.3, a margin of plus-6 across their last five. Richmond, despite a marginally better win record over that stretch, were averaging 72.1 for and 90.8 against, sitting at minus-7.4. Two sides trending in opposite directions, and Sunday's result just kept following that road.

Alphr's model had North Melbourne at 90% to win, with a 37.2-point margin off ratings of 1461 to 1455. The actual margin came in at 48, so the model undercooked it slightly, but the call itself was never in doubt. It also picked a combined total of 176; the game produced 222, a full 47 points above forecast, which tells you this was a shootout dressed up as a mismatch rather than a defensive arm-wrestle. All three of the model's picks landed clean.

North Melbourne 135, Richmond 87 in the end, but the shape of it matters more than the gap. Richmond had the first quarter and the tackle count. North Melbourne had the other three quarters and everything else.

**Scoring by Quarter**

| Team | Q1 | Q2 | Q3 | Q4 | T |
|---|---|---|---|---|---|
| North Melbourne | 19 | 28 | 50 | 38 | 135 |
| Richmond | 26 | 13 | 12 | 36 | 87 |

**Key Match Stats**

| North Melbourne | Stat | Richmond |
|---|---|---|
| **431** | Disposals | 297 |
| **159** | Contested poss. | 124 |
| **49** | Clearances | 40 |
| **62** | Inside 50s | 42 |
| **81** | Marks | 57 |
| **16** | Marks inside 50 | 10 |
| 64 | Tackles | **71** |
| **42** | Hit-outs | 41 |
| **68** | Intercepts | 53 |
| **76.9%** | Disposal eff. | 67.7% |

**Model Report Card**

Our model correctly predicted North Melbourne to win at 90% probability. The predicted margin of 37.2 was reasonable against the actual 48-point result. The game's 222 points came in 47 points higher than the predicted 176. North Melbourne led 47–39 at the break and pulled away in the second half to win by 48. A clean sweep, all 3 model picks hit for this match.

_Official AFL match stats · Generated by Alphr's model_

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

- **Head to Head:** North Melbourne to win @ $1.72 (edge +31.7%) — model probability 89.8% — result: WON
- **Line / Spread:** North Melbourne -5.5 @ $1.91 (edge +31.7%) — result: WON
- **Total (Over/Under):** Over 164.5 @ $1.91 (edge +2.6%) — result: WON
- Predicted margin: North Melbourne by 37 · Predicted total: 176

### Positional Matchup

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

**Forwards** (Key Forwards · Med/Mid Forwards)

|  | North Melbourne | Richmond |
|---|---|---|
| Attack rank | 15th (weak) | 17th (weak) |
| Defence rank | 18th (weak) | 14th (weak) |
| Goals scored · conceded | 131 · 225 | 121 · 183 |
| Goal Assists | 3.3/g | 2.7/g |
| Disposals | 89/g | 80/g |
| Inside 50s | 12.3/g | 15.6/g |
| Marks Inside 50 | 6/g | 6.1/g |
| Disposal Efficiency | 70% | 66.3% |

**Midfield & Ruck** (Midfielders · Rucks)

|  | North Melbourne | Richmond |
|---|---|---|
| Attack rank | 17th (weak) | 16th (weak) |
| Defence rank | 14th (weak) | 16th (weak) |
| Goals scored · conceded | 39 · 69 | 41 · 74 |
| Goal Assists | 2.7/g | 2.1/g |
| Disposals | 134/g | 124/g |
| Inside 50s | 19.7/g | 17.1/g |
| Marks Inside 50 | 1.7/g | 1.7/g |
| Disposal Efficiency | 73.6% | 69.6% |

**Defenders** (Key & Medium Defenders)

|  | North Melbourne | Richmond |
|---|---|---|
| Attack rank | 1st (strong) | 10th |
| Defence rank | 11th | 14th (weak) |
| Goals scored · conceded | 62 · 23 | 20 · 27 |
| Goal Assists | 2.1/g | 1/g |
| Disposals | 130/g | 134/g |
| Inside 50s | 13.1/g | 11/g |
| Marks Inside 50 | 2.5/g | 1.3/g |
| Disposal Efficiency | 78.2% | 78.7% |

**Who scores on Richmond** — Key Forwards 4.54/g (lg 3.63) +25% · Midfielders 2.73/g (lg 2.39) +14% · Rucks 0.58/g (lg 0.51) +14%
**Who scores on North Melbourne** — Rucks 0.7/g (lg 0.51) +37% · Key Forwards 4.78/g (lg 3.63) +32% · Forwards 5.72/g (lg 4.41) +30%

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

### Goal Scorer History — Who Kicks The Goals

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

**North Melbourne** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Cameron Zurhaar | DEF | 37 in 21g | 15/10g (2·0·3·0·2·3·0·3·2·0) | 15/5g | 31/19g | 74% | ⚡ Anytime Goal $1.10 AI 77% ✓ Scored | 🏉 2' |
| – | Paul Curtis | FWD | 30 in 17g | 12/10g (1·3·0·2·1·1·2·0·2·0) | 4/3g | 11/12g | 76% | ⚡ Anytime Goal $1.12 AI 70% ✓ Scored | 🏉 38' 75' 92' 78' |
| – | Jack Darling | KF | 22 in 20g | 11/10g (0·0·1·1·0·3·1·1·1·3) | 32/16g | 5/4g | 68% | ⚡ Anytime Goal $1.21 AI 75% ✓ Scored | 🏉 77' |
| – | Colby McKercher | FWD | 12 in 21g | 6/10g (0·0·2·0·1·0·1·0·1·1) | 1/2g | 1/3g | 34% | — | — |
| – | Jy Simpkin | MID | 11 in 19g | 4/10g (0·1·2·0·0·0·0·0·1·0) | 3/8g | 13/23g | 42% | — | 🏉 18' |
| – | Luke Parker | DEF | 11 in 20g | 4/10g (0·1·2·0·0·0·0·0·0·1) | 10/16g | 3/4g | 38% | — | — |
| – | Jacob Konstanty | FWD | 10 in 21g | 2/10g (0·1·0·1·0·0·0·0·0·0) | 1/1g | 1/1g | 36% | — | 🏉 81' |
| – | Cooper Harvey | DEF | 9 in 5g | 10/8g (1·0·0·1·4·2·0·2) | 0/0g | 0/0g | 63% | — | — |
| – | Harry Sheezel | MID | 6 in 21g | 5/10g (0·1·1·0·1·0·1·0·1·0) | 0/3g | 4/9g | 42% | — | 🏉 61' 82' |
| – | Luke Davies-Uniacke | MID | 6 in 20g | 2/10g (0·0·1·0·0·0·0·0·1·0) | 4/5g | 8/18g | 30% | — | 🏉 99' |
| – | Dylan Stephens | MID | 4 in 20g | 2/10g (0·0·1·0·0·0·0·0·0·1) | 1/4g | 1/3g | 12% | — | — |
| – | George Wardlaw | MID | 4 in 11g | 3/10g (1·1·0·0·0·0·0·0·1·0) | 0/1g | 3/5g | 32% | — | — |
| – | Tom Powell | FWD | 4 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/4g | 10/13g | 18% | — | 🏉 90' |
| – | Tristan Xerri | RUC | 4 in 18g | 2/10g (0·0·1·0·0·1·0·0·0·0) | 0/3g | 1/13g | 24% | — | — |
| – | Cooper Trembath | KF | 3 in 1g | 3/1g (3) | 0/0g | 0/0g | 100% | ⚡ Anytime Goal $1.32 AI 82% ✓ Scored; 🎯 First Goal $15.00 AI 7% ✗ Not first | 🏉 84' 74' 101' |
| – | Bailey Scott | MID | 2 in 10g | 2/10g (1·1·0·0·0·0·0·0·0·0) | 3/6g | 2/16g | 20% | — | — |
| – | Finn O'Sullivan | MID | 1 in 20g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/1g | 0/1g | 7% | — | — |
| – | Geordie Payne | FWD | 1 in 1g | 1/1g (1) | 0/0g | 0/0g | 100% | — | 🏉 52' 103' |
| – | Caleb Daniel | DEF | 0 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 3/10g | 0/1g | 4% | — | — |
| – | Charlie Comben | DEF | 0 in 18g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 0/5g | 4% | — | — |
| – | Griffin Logue | DEF | 0 in 14g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/3g | 1/4g | 12% | — | 🏉 83' |
| – | Matt Whitlock | KF | 0 in 1g | 0/1g (0) | 0/0g | 0/0g | 0% | — | 🏉 79' |
| – | Toby Pink | DEF | 0 in 15g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 1/3g | 15% | — | — |

**Richmond** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Seth Campbell | FWD | 23 in 20g | 6/10g (0·0·2·1·1·0·0·2·0·0) | 4/2g | 0/0g | 46% | — | 🏉 87' 71' 91' |
| – | Tom Lynch | KF | 20 in 14g | 16/10g (2·3·0·2·2·2·0·3·1·1) | 21/12g | 0/0g | 86% | ⚡ Anytime Goal $1.08 AI 88% ✓ Scored; 🎯 First Goal $10.00 AI 8% ✗ Not first | 🏉 7' 9' 88' |
| – | Rhyan Mansell | FWD | 16 in 18g | 10/10g (0·0·0·1·3·0·3·0·1·2) | 1/3g | 0/0g | 60% | ⚡ Anytime Goal $1.24 AI 66% ✓ Scored | 🏉 11' |
| – | Tim Taranto | MID | 15 in 20g | 10/10g (2·2·1·0·0·0·1·3·0·1) | 2/7g | 2/4g | 48% | ⚡ Anytime Goal $1.94 AI 63% ✗ No goal | — |
| – | Steely Green | FWD | 10 in 18g | 5/10g (0·0·0·2·0·1·0·2·0·0) | 1/2g | 0/0g | 38% | — | 🏉 76' |
| – | Kamdyn McIntosh | MID | 7 in 21g | 2/10g (0·0·1·0·0·0·0·0·0·1) | 3/11g | 0/1g | 26% | — | 🏉 96' |
| – | Harry Armstrong | KF | 6 in 6g | 6/6g (0·2·0·2·1·1) | 0/0g | 0/0g | 67% | ⚡ Anytime Goal $1.47 AI 78% ✗ No goal; 🎯 First Goal $18.00 AI 6% ✗ Not first | — |
| – | Jacob Hopper | MID | 6 in 21g | 5/10g (1·0·1·0·0·1·2·0·0·0) | 3/9g | 2/4g | 24% | — | — |
| – | Toby Nankervis | RUC | 6 in 20g | 2/10g (0·0·0·0·1·0·1·0·0·0) | 1/7g | 0/0g | 18% | — | — |
| – | Tom Brown | DEF | 5 in 21g | 1/10g (0·0·0·0·1·0·0·0·0·0) | 1/2g | 0/0g | 16% | — | — |
| – | Jack Ross | MID | 4 in 21g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/2g | 0/0g | 20% | — | — |
| – | Maurice Rioli | FWD | 4 in 11g | 2/10g (1·0·0·0·1·0·0·0·0·0) | 1/2g | 0/0g | 36% | — | 🏉 48' |
| – | Sam Banks | DEF | 4 in 20g | 2/10g (0·0·0·1·0·1·0·0·0·0) | 0/2g | 0/0g | 14% | — | — |
| – | Jayden Short | DEF | 3 in 14g | 3/10g (0·1·0·0·0·1·1·0·0·0) | 1/7g | 0/0g | 14% | — | — |
| – | Taj Hotton | FWD | 3 in 5g | 3/5g (1·0·2·0·0) | 0/0g | 0/0g | 40% | — | — |
| – | Tyler Sonsie | FWD | 3 in 14g | 2/10g (1·0·0·0·0·0·1·0·0·0) | 0/1g | 0/0g | 25% | — | — |
| – | Dion Prestia | MID | 2 in 10g | 2/10g (1·1·0·0·0·0·0·0·0·0) | 4/9g | 0/0g | 26% | — | — |
| – | James Trezise | DEF | 2 in 14g | 2/10g (0·0·0·1·0·0·0·1·0·0) | 0/1g | 0/0g | 13% | — | 🏉 24' |
| – | Noah Balta | DEF | 2 in 11g | 2/10g (0·0·0·0·0·0·0·1·0·1) | 3/6g | 0/0g | 26% | — | 🏉 60' 89' |
| – | Luke Trainor | DEF | 1 in 20g | 1/10g (0·0·0·0·1·0·0·0·0·0) | 0/1g | 0/0g | 7% | — | — |
| – | Ben Miller | DEF | 0 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/3g | 0/0g | 0% | — | — |
| – | Nathan Broad | DEF | 0 in 20g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/7g | 0/0g | 2% | — | — |
| – | Nick Vlastuin | DEF | 0 in 21g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/14g | 0/2g | 0% | — | — |
| – | Tylar Young | DEF | 0 in 5g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/0g | 0% | — | — |

### Player Props — Disposal Counts

_Bookmaker disposal lines vs our model's read. ⚡ = the validated under signal (model ≥10 points past the price) — everything else is market intel, not a tip. The ⚡ under signal's verified record: 57.7% of 1,278 flags in 2025._

**North Melbourne**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Colby McKercher ⚡ Under | 31.5 | $1.84 | 68% | 29 ✓ |
| Harry Sheezel | 30.5 | $1.88 | 55% | 54 ✗ |
| Luke Davies-Uniacke | 26.5 | $1.88 | 62% | 40 ✗ |
| Caleb Daniel | 25.5 | $1.88 | 45% | 25 ✓ |
| Luke Parker | 23.5 | $1.89 | 45% | 30 ✗ |
| George Wardlaw ⚡ Under | 19.5 | $1.87 | 74% | 25 ✗ |
| Tristan Xerri | 17.5 | $1.88 | 58% | 22 ✗ |

**Richmond**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Tim Taranto ⚡ Under | 26.5 | $1.91 | 70% | 19 ✓ |
| Jacob Hopper | 26.5 | $1.77 | 59% | 27 ✗ |
| Jack Ross ⚡ Under | 22.5 | $2.00 | 70% | 19 ✓ |
| Sam Banks ⚡ Under | 22.5 | $1.88 | 68% | 14 ✓ |
| Jayden Short ⚡ Under | 22.5 | $1.80 | 75% | 14 ✓ |
| Dion Prestia | 22.5 | $2.00 | 47% | 14 ✓ |
| Nick Vlastuin | 20.5 | $1.60 | 58% | 2 ✓ |
| Tyler Sonsie ⚡ Under | 19.5 | $1.83 | 73% | 12 ✓ |
| Toby Nankervis | 15.5 | $1.74 | 47% | 21 ✗ |

**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/afl/match/2025-r23-north-melbourne-v-richmond
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-24 11:45 UTC (latest tip update)