# Fremantle v Essendon — AFL Round 15 2025 AI Prediction by Alphr

## Full Time: Fremantle 104 – 63 Essendon

_Fremantle see off Essendon._

Half time: 57 – 41 · Alphr AI pre-game win probability: Fremantle 94% / Essendon 6% · Optus Stadium · Thu, 19 June, 08:10 pm AEST

**Goal Kickers** — Fremantle: Shai Bolton (13' ×2 Tipped ⚡), Josh Treacy (20' ×2 Tipped ⚡), Luke Jackson (23' ×2), Caleb Serong (31' ×2), Michael Frederick (34' ×2 Tipped ⚡), Murphy Reid (38'), Andrew Brayshaw (89'), Patrick Voss (68' Tipped ⚡), Nathan ODriscoll (74') · Essendon: Peter Wright (9' 1st Tipped ⚡), Isaac Kako (16'), Archie May (43' ×2 Tipped ⚡), Luamon Lual (52' ×2), Nate Caddy (59' Tipped ⚡), Xavier Duursma (62'), Jade Gresham (83')

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

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Fremantle | 94% | Won |
| Essendon | 6% | Lost |

Model call: **Correct** · Margin: 53.2 predicted → 41 actual · Markets hit: 3/3

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

### Full-Time Report

**Fremantle vs Essendon Prediction and Tips - AFL Round 15, 2025**

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

Fremantle 104–63 Essendon in AFL Round 15 at Optus Stadium. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Essendon actually won a couple of battles on the stat sheet. They pulled down 63 intercepts to Fremantle's 55, read the ball in defence better than the seven-goal beating suggests, and were cleaner inside their forward 50, taking 13 marks there to Fremantle's 6. None of it mattered much. Fremantle won 104-63 at Optus Stadium, and by the finish it wasn't close.

The gap was set early and never seriously threatened. Fremantle led 20-14 at quarter time, then 57-41 at the main break, already a lead most sides don't claw back. By three-quarter time it was 81-44. Essendon's last quarter, 19 points to 23, was the only stretch where the margin didn't blow out further, which says more about the game already being decided than any fightback.

The midfield numbers explain why Fremantle kept feeding the front half of the ground. Fremantle won clearances 44 to 26 and hit-outs 53 to 24, a ruck mismatch that lines up with the pre-match ratings, where Fremantle's ruck division was rated 1058 to Essendon's 982. Winning first use of the ball that often let Fremantle set the terms all day.

That control showed up everywhere else. Fremantle had 392 disposals to 365, more contested possessions (134 to 122), and went inside 50 nearly twice as often, 57 times to 34. Disposal efficiency told the same story, Fremantle at 78.2 per cent to Essendon's 74.1. Essendon actually tackled more, 52 to 49, but pressure without the ball doesn't matter much when you're not getting it back.

Essendon's marks inside 50 edge and their intercept count suggest their defensive setup wasn't the problem. It was volume. Conceding 57 inside 50 entries to 34 means even a defence doing its job efficiently is going to leak scoreboard pressure eventually, and it did.

Form lines pointed this way before the ball was bounced. Fremantle came in having won 3.4 of their last five on average against Essendon's 1.2, with an average winning margin of 26.5 points compared to Essendon sitting at minus 7.3. Fremantle's forward rating (995) actually sat marginally behind Essendon's (999), and their defence rating trailed too, 972 to 992. On paper it wasn't a mismatch everywhere. In the midfield and ruck it clearly was, and that's where this game was decided.

Alphr's model had Fremantle at 94 per cent to win, and that call was never in doubt. The margin was the one miss, tipped at 53.2 points against an actual 41, and the total came in at 167 rather than the projected 187, Essendon's efficient defensive reads presumably taking a bit off the top. Still, all three picks landed for the match. Wins and misses, all of it, but this one was mostly wins.

**Scoring by Quarter**

| Team | Q1 | Q2 | Q3 | Q4 | T |
|---|---|---|---|---|---|
| Fremantle | 20 | 37 | 24 | 23 | 104 |
| Essendon | 14 | 27 | 3 | 19 | 63 |

**Key Match Stats**

| Fremantle | Stat | Essendon |
|---|---|---|
| **392** | Disposals | 365 |
| **134** | Contested poss. | 122 |
| **44** | Clearances | 26 |
| **57** | Inside 50s | 34 |
| **99** | Marks | 85 |
| 6 | Marks inside 50 | **13** |
| 49 | Tackles | **52** |
| **53** | Hit-outs | 24 |
| 55 | Intercepts | **63** |
| **78.2%** | Disposal eff. | 74.1% |

**Model Report Card**

Our model correctly predicted Fremantle to win at 94% probability. The margin model missed here, predicting 53.2 but the actual margin was 41 points. The game's 167 points came in 20 points lower than the predicted 187. Fremantle led 57–41 at the break and pulled away in the second half to win by 41. 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:** Fremantle to win @ $1.13 (edge +5.2%) — model probability 93.7% — result: WON
- **Line / Spread:** Fremantle -33.5 @ $1.91 (edge +5.2%) — result: WON
- **Total (Over/Under):** Over 155.5 @ $1.91 (edge +2.6%) — result: WON
- Predicted margin: Fremantle by 53 · Predicted total: 187

### Positional Matchup

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

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

|  | Fremantle | Essendon |
|---|---|---|
| Attack rank | 8th | 18th (weak) |
| Defence rank | 8th | 16th (weak) |
| Goals scored · conceded | 103 · 100 | 72 · 117 |
| Goal Assists | 3.9/g | 3.2/g |
| Disposals | 80/g | 102/g |
| Inside 50s | 15.2/g | 14.9/g |
| Marks Inside 50 | 7.5/g | 5/g |
| Disposal Efficiency | 68.2% | 67.6% |

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

|  | Fremantle | Essendon |
|---|---|---|
| Attack rank | 7th | 2nd (strong) |
| Defence rank | 7th | 4th (strong) |
| Goals scored · conceded | 41 · 36 | 54 · 35 |
| Goal Assists | 3.8/g | 3.8/g |
| Disposals | 154/g | 153/g |
| Inside 50s | 28.8/g | 22.1/g |
| Marks Inside 50 | 1.9/g | 4.2/g |
| Disposal Efficiency | 70.3% | 72% |

**Defenders** (Key & Medium Defenders)

|  | Fremantle | Essendon |
|---|---|---|
| Attack rank | 9th | 12th |
| Defence rank | 5th (strong) | 17th (weak) |
| Goals scored · conceded | 13 · 13 | 12 · 23 |
| Goal Assists | 1/g | 0.7/g |
| Disposals | 112/g | 133/g |
| Inside 50s | 9.5/g | 9.6/g |
| Marks Inside 50 | 0.4/g | 0.8/g |
| Disposal Efficiency | 81.8% | 78.8% |

**Who scores on Essendon** — Defenders 1.56/g (lg 1.29) +21% · Forwards 5.14/g (lg 4.48) +15% · Key Forwards 3.81/g (lg 3.56) +7%
**Who scores on Fremantle** — Midfielders 2.41/g (lg 2.35) +3% · Key Forwards 3.54/g (lg 3.56) -1% · Forwards 4.1/g (lg 4.48) -8%

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

**Fremantle** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Josh Treacy | KF | 23 in 13g | 15/10g (3·6·1·2·0·2·1·0·0·0) | 3/2g | 51/36g | 78% | ⚡ Anytime Goal $1.05 AI 78% ✓ Scored; 🎯 First Goal $8.50 AI 7% ✗ Not first | 🏉 20' 55' |
| – | Jye Amiss | KF | 17 in 13g | 12/10g (1·0·3·2·2·0·2·1·1·0) | 6/2g | 49/32g | 76% | ⚡ Anytime Goal $1.17 AI 75% ✗ No goal | — |
| – | Michael Frederick | FWD | 17 in 13g | 14/10g (3·3·0·2·0·1·3·1·1·0) | 5/3g | 57/50g | 74% | ⚡ Anytime Goal $1.28 AI 73% ✓ Scored | 🏉 34' 92' |
| – | Shai Bolton | MID | 17 in 12g | 17/10g (2·2·3·1·0·1·3·1·3·1) | 12/8g | 27/16g | 80% | ⚡ Anytime Goal $1.16 AI 79% ✓ Scored; 🎯 First Goal $12.00 AI 7% ✗ Not first | 🏉 13' 57' |
| – | Murphy Reid | FWD | 15 in 13g | 11/10g (1·1·1·1·0·1·1·4·0·1) | 0/0g | 8/7g | 74% | — | 🏉 38' |
| – | Patrick Voss | KF | 13 in 9g | 15/10g (2·1·1·0·1·2·1·1·3·3) | 0/0g | 11/10g | 85% | ⚡ Anytime Goal $1.12 AI 77% ✓ Scored; 🎯 First Goal $11.00 AI 7% ✗ Not first | 🏉 68' |
| – | Luke Jackson | RUC | 6 in 10g | 6/10g (0·1·1·1·0·0·0·1·0·2) | 6/4g | 28/35g | 54% | — | 🏉 23' 88' |
| – | Andrew Brayshaw | MID | 5 in 13g | 4/10g (1·0·1·0·0·1·0·0·1·0) | 2/8g | 30/82g | 34% | — | 🏉 89' |
| – | Bailey Banfield | DEF | 4 in 10g | 4/10g (1·1·0·1·0·0·1·0·0·0) | 2/5g | 28/55g | 50% | — | — |
| – | Jeremy Sharp | FWD | 3 in 13g | 3/10g (1·0·1·0·0·1·0·0·0·0) | 0/2g | 7/20g | 34% | — | — |
| – | Caleb Serong | MID | 2 in 13g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 1/4g | 21/60g | 22% | — | 🏉 31' 84' |
| – | Corey Wagner | MID | 2 in 10g | 2/10g (0·0·0·0·0·0·0·0·1·1) | 1/2g | 1/18g | 16% | — | — |
| – | Matthew Johnson | MID | 2 in 13g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 1/1g | 5/27g | 16% | — | — |
| – | Brennan Cox | DEF | 1 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 2/8g | 21/61g | 6% | — | — |
| – | Jordan Clark | DEF | 1 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/4g | 7/46g | 8% | — | — |
| – | Nathan O'Driscoll | MID | 1 in 4g | 2/10g (0·0·0·0·0·1·0·0·1·0) | 0/1g | 8/15g | 34% | — | — |
| – | Heath Chapman | DEF | 0 in 12g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 2/31g | 2% | — | — |
| – | James Aish | DEF | 0 in 2g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/8g | 6/54g | 6% | — | — |
| – | Joshua Draper | DEF | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/1g | 0/14g | 0% | — | — |
| – | Karl Worner | DEF | 0 in 12g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/12g | 0% | — | — |
| – | Luke Ryan | DEF | 0 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/8g | 2/83g | 0% | — | — |
| – | Nat Fyfe | MID | 0 in 2g | 2/10g (0·0·0·0·0·0·1·1·0·0) | 8/10g | 26/50g | 28% | — | — |
| – | Neil Erasmus | MID | 0 in 7g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 1/18g | 5% | — | — |

**Essendon** (team sheet)

| # | Player | Pos | 2025 | Last 10 | vs opp | Venue | Goal % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| – | Peter Wright | RUC | 18 in 9g | 18/10g (0·6·2·0·0·1·2·2·3·2) | 7/7g | 14/5g | 74% | ⚡ Anytime Goal $1.20 AI 77% ✓ Scored | 🏉 9' |
| – | Nate Caddy | KF | 14 in 13g | 12/10g (2·0·2·2·3·0·1·2·0·0) | 1/1g | 0/1g | 55% | ⚡ Anytime Goal $1.46 AI 66% ✓ Scored | 🏉 59' |
| – | Archie Perkins | FWD | 12 in 12g | 11/10g (1·2·1·3·1·1·1·0·1·0) | 0/3g | 4/7g | 48% | — | — |
| – | Nic Martin | FWD | 11 in 13g | 9/10g (1·1·0·1·0·1·2·2·1·0) | 5/3g | 4/5g | 50% | — | — |
| – | Jade Gresham | FWD | 8 in 11g | 7/10g (1·1·1·0·0·0·0·1·2·1) | 14/9g | 7/8g | 56% | — | 🏉 83' |
| – | Zach Merrett | MID | 8 in 13g | 2/10g (0·0·0·0·2·0·0·0·0·0) | 9/12g | 6/12g | 30% | — | — |
| – | Isaac Kako | FWD | 7 in 13g | 4/10g (0·0·1·1·1·0·0·0·0·1) | 0/0g | 0/1g | 44% | — | 🏉 16' |
| – | Xavier Duursma | MID | 6 in 13g | 4/10g (1·0·0·0·0·1·0·0·1·1) | 2/5g | 3/6g | 42% | — | 🏉 62' |
| – | Ben Hobbs | FWD | 4 in 12g | 4/10g (0·2·0·1·1·0·0·0·0·0) | 1/2g | 3/5g | 24% | — | — |
| – | Jye Caldwell | MID | 4 in 9g | 4/10g (0·1·1·0·0·0·0·1·1·0) | 2/3g | 1/6g | 40% | — | — |
| – | Matt Guelfi | FWD | 4 in 4g | 8/10g (2·1·1·0·0·0·1·0·1·2) | 2/6g | 5/8g | 66% | — | — |
| – | Angus Clarke | FWD | 3 in 4g | 3/4g (3·0·0·0) | 0/0g | 0/0g | 25% | — | — |
| – | Archie Roberts | DEF | 2 in 13g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/1g | 0/1g | 15% | — | — |
| – | Luamon Lual | MID | 1 in 2g | 1/2g (1·0) | 0/0g | 0/0g | 50% | — | 🏉 52' 79' |
| – | Will Setterfield | MID | 1 in 10g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/5g | 1/6g | 12% | — | — |
| – | Andrew McGrath | DEF | 0 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/10g | 2/11g | 2% | — | — |
| – | Archer May | KF | 0 in 1g | 0/1g (0) | 0/0g | 0/0g | 0% | ⚡ Anytime Goal $1.94 AI 68% ✓ Scored | 🏉 43' 67' |
| – | Darcy Parish | MID | 0 in 2g | 1/10g (1·0·0·0·0·0·0·0·0·0) | 3/12g | 3/8g | 16% | — | — |
| – | Jaxon Prior | DEF | 0 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/4g | 0/4g | 6% | — | — |
| – | Jayden Laverde | DEF | 0 in 5g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 2/6g | 3/8g | 2% | — | — |
| – | Lachlan Blakiston | DEF | 0 in 1g | 0/1g (0) | 0/0g | 0/0g | 0% | — | — |
| – | Vigo Visentini | RUC | no games | 0/0g | 0/0g | 0/0g | — | — | — |
| – | Zak Johnson | DEF | 0 in 3g | 0/3g (0·0·0) | 0/0g | 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._

**Fremantle**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Caleb Serong | 30.5 | $1.83 | 55% | 35 ✗ |
| Andrew Brayshaw | 29.5 | $1.90 | 52% | 29 ✓ |
| Jordan Clark | 23.5 | $1.91 | 51% | 33 ✗ |
| Luke Jackson ⚡ Under | 21.5 | $1.80 | 73% | 21 ✓ |
| Luke Ryan | 20.5 | $1.80 | 38% | 32 ✗ |
| Matthew Johnson | 19.5 | $1.83 | 53% | 18 ✓ |
| Shai Bolton | 19.5 | $1.83 | 52% | 15 ✓ |
| Corey Wagner | 16.5 | $1.90 | 59% | 16 ✓ |

**Essendon**

| Player | Line | Under | AI Under | Actual |
|---|---|---|---|---|
| Zach Merrett | 26.5 | $1.87 | 49% | 17 ✓ |
| Darcy Parish ⚡ Under | 26.5 | $1.87 | 64% | 31 ✗ |
| Nic Martin | 25.5 | $1.87 | 58% | 21 ✓ |
| Jye Caldwell ⚡ Under | 25.5 | $1.92 | 64% | 32 ✗ |
| Archie Roberts ⚡ Under | 23.5 | $1.87 | 64% | 25 ✗ |
| Andrew McGrath | 22.5 | $1.85 | 53% | 22 ✓ |
| Will Setterfield | 21.5 | $1.91 | 59% | 17 ✓ |
| Xavier Duursma | 18.5 | $1.97 | 47% | 11 ✓ |

**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-r15-fremantle-v-essendon
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)