# St Kilda v Melbourne — AFL Round 20 2025 AI Prediction by Alphr

## Full Time: St Kilda 96 – 90 Melbourne

_St Kilda rally to topple Melbourne from 30 down._

Half time: 28 – 58 · Alphr AI pre-game win probability: St Kilda 67% / Melbourne 33% · Marvel Stadium · Sun, 27 July, 03:15 pm AEST

**Goal Kickers** — St Kilda: Nasiah Wanganeen-Milera (30' ×4), Jack Higgins (55' ×3 Tipped ⚡), Alix Tauru (59'), Final quarter (32m 41s)Jack Higgins (64'), Bradley Hill (68'), Cooper Sharman (69' ×2 Tipped ⚡), Jack Steele (78'), Mason Wood (79') · Melbourne: Harvey Langford (3' 1st), Bayley Fritsch (5' ×3 Tipped ⚡), Jack Viney (10'), Xavier Lindsay (12'), Jake Melksham (37' ×2 Tipped ⚡), Kade Chandler (45' ×2), Christian Petracca (52'), Kysaiah Pickett (74' Tipped ⚡)

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| St Kilda | 67% | Won |
| Melbourne | 33% | Lost |

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

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

### Full-Time Report

**St Kilda vs Melbourne Prediction and Tips - AFL Round 20, 2025**

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

St Kilda 96–90 Melbourne in AFL Round 20 at Marvel Stadium. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

St Kilda played it patient, Melbourne played it fast. By the end of the afternoon at Marvel Stadium, patient paid better, 96 to 90, but only after St Kilda spent three quarters watching Melbourne's approach look like the smarter one.

The contrast in method sits right there in the stat sheet. St Kilda finished with 355 disposals to 318 and a disposal efficiency of 79.6 per cent against 77.2, the kind of numbers you get from a side happy to hold the ball and work it through traffic. Melbourne went looking for territory instead, pushing inside 50 52 times to 43 and backing that ambition with 76 tackles to St Kilda's 60. Two different theories about how to win a game of football, both stitched into the same contest.

For three quarters, Melbourne's theory was well in front. St Kilda trailed 28-58 at half time and were still down 40-86 at the last change, a margin that looked out of reach. Melbourne's ruck division was dominant, 58 hit-outs to 32, feeding a midfield getting first use of the footy, and the inside 50 count reflected a team happy to keep pumping it forward and trust the volume of entries to eventually pay off.

Then the last quarter turned into something else entirely. St Kilda piled on 56 points after the final change while Melbourne managed just 4, enough to flip a 46-point deficit into a 6-point win. Whatever had been working for Melbourne through the middle two quarters stopped cold, and St Kilda's insistence on controlling the ball finally had a scoreboard to match it.

The underlying numbers explain how that swing was even possible. St Kilda were level with Melbourne on contested possessions, 124 apiece, and only a kick behind on clearances, 41 to 40, so the coalface battle was never as lopsided as the scoreboard suggested for three quarters. Melbourne held the territorial edges, more marks (98 to 96), more marks inside 50 (15 to 14) and more intercepts (57 to 51), but none of it built the kind of scoring buffer a team wants to be sitting on with one term left.

Going in, the underlying ratings had Melbourne stronger across the board: ruck 1081 to 943, defence 1045 to 968, and narrow edges in both midfield and forward line as well. St Kilda's recent form told a different story, though. Over their last five matches they were averaging a positive margin of 6.3 points, while Melbourne were averaging minus 3.7 across the same stretch, a form line that turned out to read this contest better than the power rankings did.

Alphr's own model had this one close to right without getting the shape of it. It gave St Kilda a 67 per cent chance to win, predicted a 5.8-point margin against the actual 6, and tipped a combined total of 183, just 3 points shy of the final 186. Two from three calls, with the model never picturing a 46-point turnaround inside a single quarter to get there. It backed St Kilda, backed the total going over 168.5, and got both right. It just didn't know the game would need one almighty final term to prove it correct.

**Scoring by Quarter**

| Team | Q1 | Q2 | Q3 | Q4 | T |
|---|---|---|---|---|---|
| St Kilda | 13 | 15 | 12 | 56 | 96 |
| Melbourne | 38 | 20 | 28 | 4 | 90 |

**Key Match Stats**

| St Kilda | Stat | Melbourne |
|---|---|---|
| **355** | Disposals | 318 |
| 124 | Contested poss. | 124 |
| **41** | Clearances | 40 |
| 43 | Inside 50s | **52** |
| 96 | Marks | **98** |
| 14 | Marks inside 50 | **15** |
| 60 | Tackles | **76** |
| 32 | Hit-outs | **58** |
| 51 | Intercepts | **57** |
| **79.6%** | Disposal eff. | 77.2% |

**Model Report Card**

Our model correctly predicted St Kilda to win at 67% probability. The predicted margin of 5.8 was reasonable against the actual 6-point result. Total score prediction of 183 was close to the actual 186, within 3 points. St Kilda trailed 28–58 at half-time before staging a second-half comeback to win 96–90. The model went 2/3 on this match. The over 168.5 total call was correct.

_Official AFL match stats · Generated by Alphr's model_

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

- **Head to Head:** St Kilda to win @ $2.02 (edge +17.3%) — model probability 66.8% — result: WON
- **Line / Spread:** Melbourne +2.5 @ $1.91 (edge +17.3%) — result: LOST
- **Total (Over/Under):** Over 168.5 @ $1.91 (edge +2.6%) — result: WON
- Predicted margin: Melbourne by 6 · Predicted total: 183

### Positional Matchup

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

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

|  | St Kilda | Melbourne |
|---|---|---|
| Attack rank | 10th | 14th (weak) |
| Defence rank | 15th (weak) | 14th (weak) |
| Goals scored · conceded | 131 · 166 | 114 · 157 |
| Goal Assists | 3.3/g | 3.3/g |
| Disposals | 71/g | 97/g |
| Inside 50s | 12/g | 19.6/g |
| Marks Inside 50 | 6.7/g | 6.5/g |
| Disposal Efficiency | 69.2% | 68.8% |

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

|  | St Kilda | Melbourne |
|---|---|---|
| Attack rank | 9th | 3rd (strong) |
| Defence rank | 17th (weak) | 5th (strong) |
| Goals scored · conceded | 52 · 68 | 73 · 46 |
| Goal Assists | 3.6/g | 2.8/g |
| Disposals | 166/g | 131/g |
| Inside 50s | 23.8/g | 21.7/g |
| Marks Inside 50 | 3.3/g | 3.3/g |
| Disposal Efficiency | 69.2% | 68.5% |

**Defenders** (Key & Medium Defenders)

|  | St Kilda | Melbourne |
|---|---|---|
| Attack rank | 6th (strong) | 12th |
| Defence rank | 1st (strong) | 18th (weak) |
| Goals scored · conceded | 26 · 11 | 16 · 35 |
| Goal Assists | 2.2/g | 1.1/g |
| Disposals | 125/g | 135/g |
| Inside 50s | 12.9/g | 11.3/g |
| Marks Inside 50 | 1.1/g | 0.8/g |
| Disposal Efficiency | 76.9% | 80.9% |

**Who scores on Melbourne** — Rucks 0.65/g (lg 0.51) +27% · Defenders 1.5/g (lg 1.27) +18% · Midfielders 2.2/g (lg 2.36) -7%
**Who scores on St Kilda** — Midfielders 2.45/g (lg 2.36) +4% · Key Forwards 3.45/g (lg 3.61) -4% · Forwards 4.23/g (lg 4.46) -5%

_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 Marvel 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._

**St Kilda** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Jack Higgins | FWD | 35 in 18g | 14/10g (2·5·0·1·1·0·1·2·0·2) | 9/7g | 88/62g | 78% | ⚡ Anytime Goal $1.15 AI 76% ✓ Scored | 🏉 55' 81' 86' |
| – | Cooper Sharman | KF | 24 in 16g | 13/10g (2·1·3·0·1·1·0·1·2·2) | 1/3g | 43/36g | 72% | ⚡ Anytime Goal $1.19 AI 74% ✓ Scored | 🏉 69' 85' |
| – | Mitch Owens | KF | 24 in 17g | 10/10g (0·0·2·1·0·1·1·1·2·2) | 4/3g | 49/41g | 64% | ⚡ Anytime Goal $1.20 AI 67% ✗ No goal | — |
| – | Max Hall | FWD | 19 in 18g | 12/10g (1·1·0·2·0·1·1·3·3·0) | 2/1g | 10/10g | 68% | ⚡ Anytime Goal $1.35 AI 67% ✗ No goal | — |
| – | Mason Wood | MID | 18 in 16g | 9/10g (1·2·0·0·1·3·0·0·0·2) | 8/7g | 81/78g | 52% | — | 🏉 79' |
| – | Nasiah Wanganeen-Milera | MID | 11 in 18g | 5/10g (0·0·1·0·1·0·1·0·0·2) | 0/4g | 7/47g | 26% | — | 🏉 30' 69' 93' 96' |
| – | Jack Sinclair | DEF | 8 in 18g | 3/10g (1·0·1·0·0·0·0·0·1·0) | 6/13g | 40/106g | 32% | — | — |
| – | Rowan Marshall | RUC | 8 in 18g | 6/10g (0·1·0·0·0·1·1·1·1·1) | 3/8g | 45/76g | 46% | — | — |
| – | Lance Collard | DEF | 6 in 9g | 6/10g (0·2·2·1·0·0·0·1·0·0) | 0/1g | 5/6g | 36% | — | — |
| – | Bradley Hill | DEF | 5 in 17g | 3/10g (1·0·0·0·1·1·0·0·0·0) | 7/13g | 20/80g | 30% | — | 🏉 68' |
| – | Marcus Windhager | MID | 4 in 18g | 2/10g (0·0·0·0·1·0·0·1·0·0) | 1/4g | 7/37g | 10% | — | — |
| – | Anthony Caminiti | DEF | 3 in 18g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 0/3g | 21/28g | 36% | — | — |
| – | Jack Steele | MID | 3 in 17g | 2/10g (0·0·1·0·0·0·0·0·1·0) | 8/13g | 39/96g | 20% | — | 🏉 78' |
| – | Ryan Byrnes | MID | 2 in 15g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/2g | 5/41g | 14% | — | — |
| – | Hugh Boxshall | MID | 1 in 6g | 1/6g (0·0·0·0·1·0) | 0/1g | 1/3g | 17% | — | — |
| – | Hunter Clark | DEF | 1 in 10g | 1/10g (0·0·0·1·0·0·0·0·0·0) | 2/6g | 10/58g | 14% | — | — |
| – | Jack Macrae | MID | 1 in 16g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 4/16g | 28/132g | 10% | — | — |
| – | Alix Tauru | DEF | 0 in 5g | 0/5g (0·0·0·0·0) | 0/0g | 0/3g | 0% | — | 🏉 59' |
| – | Angus Hastie | DEF | 0 in 7g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 0/0g | 1/5g | 9% | — | — |
| – | Arie Schoenmaker | DEF | 0 in 2g | 0/6g (0·0·0·0·0·0) | 0/0g | 0/3g | 0% | — | — |
| – | Callum Wilkie | DEF | 0 in 18g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/8g | 1/75g | 0% | — | — |
| – | Liam Stocker | DEF | 0 in 12g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/4g | 0/40g | 0% | — | — |
| – | Zak Jones | MID | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/8g | 10/49g | 8% | — | — |

**Melbourne** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Kysaiah Pickett | MID | 35 in 15g | 26/10g (2·2·5·0·3·3·3·2·1·5) | 6/6g | 11/7g | 86% | ⚡ Anytime Goal $1.12 AI 92% ✓ Scored; 🎯 First Goal $11.00 AI 10% ✗ Not first | 🏉 74' |
| – | Jake Melksham | FWD | 26 in 14g | 25/10g (1·4·3·1·1·0·5·4·5·1) | 12/13g | 28/46g | 76% | ⚡ Anytime Goal $1.14 AI 90% ✓ Scored; 🎯 First Goal $11.00 AI 9% ✗ Not first | 🏉 37' 78' |
| – | Bayley Fritsch | FWD | 24 in 17g | 17/10g (0·1·2·1·3·2·2·1·3·2) | 11/8g | 25/13g | 80% | ⚡ Anytime Goal $1.19 AI 84% ✓ Scored; 🎯 First Goal $13.00 AI 8% ✗ Not first | 🏉 5' 18' 25' |
| – | Christian Petracca | FWD | 14 in 18g | 4/10g (0·0·1·2·0·0·0·0·1·0) | 22/14g | 25/18g | 58% | — | 🏉 52' |
| – | Kade Chandler | FWD | 13 in 18g | 4/10g (0·1·0·1·0·0·0·0·2·0) | 2/2g | 3/2g | 48% | — | 🏉 45' 84' |
| – | Harrison Petty | KF | 12 in 14g | 12/10g (1·4·2·0·0·1·1·1·1·1) | 2/6g | 4/9g | 50% | — | — |
| – | Jacob van Rooyen | KF | 10 in 11g | 9/10g (1·1·1·0·0·0·2·2·1·1) | 3/1g | 1/2g | 72% | ⚡ Anytime Goal $1.34 AI 71% ✗ No goal | — |
| – | Tom Sparrow | MID | 10 in 17g | 7/10g (0·1·1·2·0·1·0·0·1·1) | 3/5g | 7/8g | 40% | — | — |
| – | Ed Langdon | MID | 7 in 18g | 2/10g (0·1·0·0·0·0·0·0·1·0) | 5/10g | 7/16g | 34% | — | — |
| – | Harvey Langford | MID | 7 in 17g | 3/10g (3·0·0·0·0·0·0·0·0·0) | 0/1g | 0/0g | 19% | — | 🏉 3' |
| – | Daniel Turner | DEF | 6 in 14g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/1g | 1/2g | 33% | — | — |
| – | Max Gawn | RUC | 4 in 18g | 3/10g (0·0·1·0·0·0·1·0·1·0) | 7/16g | 12/25g | 36% | — | — |
| – | Clayton Oliver | MID | 3 in 17g | 2/10g (0·1·1·0·0·0·0·0·0·0) | 2/11g | 4/17g | 16% | — | — |
| – | Trent Rivers | DEF | 3 in 18g | 2/10g (0·1·0·0·0·0·0·1·0·0) | 1/6g | 2/9g | 14% | — | — |
| – | Caleb Windsor | FWD | 2 in 14g | 1/10g (0·1·0·0·0·0·0·0·0·0) | 0/2g | 0/0g | 26% | — | — |
| – | Jack Viney | MID | 2 in 13g | 2/10g (0·0·1·0·1·0·0·0·0·0) | 7/14g | 6/24g | 22% | — | 🏉 10' |
| – | Jake Bowey | DEF | 2 in 18g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/4g | 0/5g | 4% | — | — |
| – | Charlie Spargo | FWD | 1 in 9g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 3/6g | 5/10g | 28% | — | — |
| – | Christian Salem | DEF | 1 in 18g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/10g | 1/18g | 6% | — | — |
| – | Tom McDonald | DEF | 1 in 12g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 8/16g | 23/26g | 16% | — | — |
| – | Blake Howes | DEF | 0 in 7g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/2g | 0% | — | — |
| – | Judd McVee | DEF | 0 in 12g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/3g | 0/2g | 2% | — | — |
| – | Xavier Lindsay | DEF | 0 in 17g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/1g | 0% | — | 🏉 12' |

### 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._

**St Kilda**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Nasiah Wanganeen-Milera | 29.5 | $1.92 | 57% | 34 ✗ |
| Jack Sinclair | 26.5 | $1.77 | 63% | 32 ✗ |
| Jack Macrae | 25.5 | $1.88 | 49% | 24 ✓ |
| Jack Steele | 23.5 | $1.88 | 59% | 13 ✓ |
| Marcus Windhager | 21.5 | $2.00 | 60% | 22 ✗ |
| Bradley Hill | 20.5 | $1.90 | 48% | 15 ✓ |
| Callum Wilkie | 18.5 | $1.87 | 54% | 13 ✓ |
| Zak Jones ⚡ Under | 18.5 | $1.87 | 67% | 26 ✗ |
| Rowan Marshall | 17.5 | $1.87 | 42% | 15 ✓ |

**Melbourne**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Christian Petracca ⚡ Under | 24.5 | $2.00 | 61% | 21 ✓ |
| Clayton Oliver | 23.5 | $1.88 | 56% | 23 ✓ |
| Trent Rivers ⚡ Under | 21.5 | $1.87 | 67% | 25 ✗ |
| Jack Viney | 21.5 | $1.88 | 56% | 23 ✗ |
| Jake Bowey ⚡ Under | 21.5 | $1.94 | 66% | 13 ✓ |
| Christian Salem ⚡ Under | 21.5 | $1.87 | 63% | 22 ✗ |
| Harvey Langford | 19.5 | $1.87 | 58% | 10 ✓ |
| Kysaiah Pickett ⚡ Under | 19.5 | $1.95 | 69% | 19 ✓ |
| Ed Langdon ⚡ Under | 19.5 | $1.81 | 66% | 14 ✓ |
| Max Gawn | 18.5 | $1.91 | 59% | 17 ✓ |

**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-r20-st-kilda-v-melbourne
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)