Scottish Premiership · 1st Phase - 17
Aberdeen 2–1 Heart of Midlothian
9 Dec 2023 · Pittodrie Stadium · Referee: C. Graham
Scoreboard
Scottish Premiership
Home · Aberdeen
Aberdeen
2
Goals
- 53'B. MiovskiAssist: J. McGrath1–1
- 90+2'L. ClarksonAssist: Duk2–1
Red cards
No red cards in the event feed.
Away · Opposition
Heart of Midlothian
1
Goals
- 20'L. ShanklandAssist: A. Cochrane0–1
Red cards
No red cards in the event feed.
Goals and red cards are from the event feed; the final score is authoritative.
The read
Aberdeen win it late against Heart of Midlothian
- L. Shankland opened the scoring on 20 minutes, assisted by A. Cochrane, making it 0-1.measured
- B. Miovski scored on 53 minutes, assisted by J. McGrath, making it 1-1.measured
- L. Clarkson scored on 90+2 minutes, assisted by Duk, making it 2-1.measured
- Shots: Aberdeen 14, Heart of Midlothian 5.measured
- Shots on target: Aberdeen 6, Heart of Midlothian 3.measured
- Possession: Aberdeen 51.0%, Heart of Midlothian 49.0%.measured
- Shot expectation: Aberdeen 1.56, Heart of Midlothian 0.59.inferred
The read describes measured events and model output. It is not a result prediction and not a verdict on performance.
Match stats
What the feed measured
| Stat | Aberdeen | Heart of Midlothian | Source | Basis |
|---|---|---|---|---|
| Possession | 51 | 49 | api_football | measured |
| Shots | 14 | 5 | api_football | measured |
| Shots on target | 6 | 3 | api_football | measured |
| Shots off target | 6 | 2 | api_football | measured |
| Blocked shots | 2 | 0 | api_football | measured |
| Shots inside box | 10 | 3 | api_football | measured |
| Shots outside box | 4 | 2 | api_football | measured |
| Passes | 382 | 378 | api_football | measured |
| Passes accurate | 278 | 266 | api_football | measured |
| Pass accuracy | 73 | 70 | api_football | measured |
| Corners | 3 | 8 | api_football | measured |
| Fouls | 13 | 20 | api_football | measured |
| Offsides | 4 | 0 | api_football | measured |
| Yellow cards | 3 | 7 | api_football | measured |
| Red cards | 0 | 0 | football_data_uk | measured |
| Saves | 2 | 4 | api_football | measured |
Performance
Players who played well and what worked
Aberdeen · Provider rating
- Jamie McGrath rating 7.6 1A · 1 SoT · 89 mins · 24/31 passes · 1 tackle · 7 duels
- Richard Jensen rating 7.6 1 SoT · 90 mins · 35/40 passes · 4 tackles · 10 duels
- Nicky Devlin rating 7.3 no scoring output · 90 mins · 38/49 passes · 1 tackle · 9 duels
Heart of Midlothian · Provider rating
- Lawrence Shankland rating 7.5 1G · 1 SoT · 90 mins · 22/34 passes · 8 duels
- Alex Cochrane rating 7.3 1A · 90 mins · 15/24 passes · 3 tackles · 6 duels
- Zander Clark rating 6.9 no scoring output · 90 mins · 13/38 passes
What worked
Measured team strengths
- Shots: Aberdeen 14 · Heart of Midlothian 5 · API-Football
- Shots on target: Aberdeen 6 · Heart of Midlothian 3 · API-Football
- Shots inside box: Aberdeen 10 · Heart of Midlothian 3 · API-Football
Selected measured categories where Aberdeen were higher; this is a comparison, not an overall performance verdict.
Expected goals
fxG, its ranges and provider xG
fxG calibration passed · in-season Model and calibration →
Aberdeen
1.56
80% model range 0.83–2.10
80% goals range 0–3
Provider xG unavailable
Goals − fxG +0.44 · within the 80% goals range
Penalties 0 · 0.00 xG
xG per shot 0.111 · 14 shots · 6 on target · 10 inside box
Basis: zones. The model range is uncertainty in the estimate; the goals range is the spread of goals from the same chances. Neither is a result prediction.
Heart of Midlothian
0.59
80% model range 0.00–1.14
80% goals range 0–2
Provider xG unavailable
Goals − fxG +0.41 · within the 80% goals range
Penalties 0 · 0.00 xG
xG per shot 0.119 · 5 shots · 3 on target · 3 inside box
Basis: zones. The model range is uncertainty in the estimate; the goals range is the spread of goals from the same chances. Neither is a result prediction.
fxG is a team-match estimate from shots, shot zones and penalties. Provider xG is a different model and is shown separately. The model range is uncertainty in the estimate; the goals range is the spread of goals from the same chances. Neither is a result prediction. Own goals and shootouts are outside the shot model. Provider xG is a different model and is never blended into fxG.
Timeline
The match record
| Min | Event | Team | Player | Detail | Score |
|---|---|---|---|---|---|
| 20' | Goal | Heart of Midlothian | L. Shankland | Normal Goal | 0–1 |
| 33' | Yellow card | Heart of Midlothian | Calem Nieuwenhof | Yellow Card | — |
| 41' | Yellow card | Heart of Midlothian | Alex Lowry | Yellow Card | — |
| 53' | Goal | Aberdeen | B. Miovski | Normal Goal | 1–1 |
| 57' | Substitution | Heart of Midlothian | K. Vargas | Substitution 1 | — |
| 58' | Substitution | Heart of Midlothian | A. Lowry | Substitution 2 | — |
| 59' | Yellow card | Aberdeen | Stefan Gartenmann | Yellow Card | — |
| 64' | Yellow card | Heart of Midlothian | Beni Baningime | Yellow Card | — |
| 65' | Yellow card | Aberdeen | Bojan Miovski | Yellow Card | — |
| 65' | Yellow card | Heart of Midlothian | Frankie Kent | Yellow Card | — |
| 72' | Substitution | Heart of Midlothian | C. Nieuwenhof | Substitution 3 | — |
| 72' | Substitution | Heart of Midlothian | T. Sibbick | Substitution 4 | — |
| 73' | Yellow card | Heart of Midlothian | Kye Rowles | Yellow Card | — |
| 73' | Substitution | Aberdeen | E. Sokler | Substitution 1 | — |
| 73' | Substitution | Aberdeen | J. Milne | Substitution 2 | — |
| 77' | Substitution | Aberdeen | B. Miovski | Substitution 3 | — |
| 78' | Yellow card | Aberdeen | Jamie McGrath | Yellow Card | — |
| 88' | Yellow card | Heart of Midlothian | Aidan Denholm | Yellow Card | — |
| 90+2' | Goal | Aberdeen | L. Clarkson | Normal Goal | 2–1 |
| 90+6' | Yellow card | Heart of Midlothian | Lawrence Shankland | Yellow Card | — |
| 90+7' | Substitution | Aberdeen | J. McGrath | Substitution 4 | — |
Aberdeen · Aberdeen
3-4-1-2
| Starter | Role | Min |
|---|---|---|
| 24 K. Roos | GK | 90 |
| 2 N. Devlin | CB | 90 |
| 6 S. Gartenmann | CB | 90 |
| 5 R. Jensen | CB | 90 |
| 28 J. Milne | RWB | 73 |
| 10 L. Clarkson | CM | 90 |
| 4 G. Shinnie | CM | 90 |
| 17 J. Hayes | LWB | 90 |
| 7 J. McGrath | AM | 90 |
| 9 B. Miovski | ST | 77 |
| 19 E. Sokler | ST | 73 |
Substitutes
- 11 Duk · on 73'
- 20 S. Morris · on 73'
- 21 D. Polvara · on 77'
- 27 A. MacDonald · on 90'
Opposition · Heart of Midlothian
3-5-2
| Starter | Role | Min |
|---|---|---|
| 28 Z. Clark | GK | 90 |
| 3 S. Kingsley | CB | 90 |
| 2 F. Kent | CB | 90 |
| 15 K. Rowles | CB | 90 |
| 21 T. Sibbick | RWB | 72 |
| 8 C. Nieuwenhof | CM | 72 |
| 6 B. Baningime | CM | 90 |
| 51 A. Lowry | CM | 58 |
| 19 A. Cochrane | LWB | 90 |
| 9 L. Shankland | ST | 90 |
| 77 K. Vargas | ST | 57 |
Substitutes
- 30 K. Tagawa · on 57'
- 7 J. Grant · on 58'
- 22 A. Denholm · on 72'
- 4 C. Halkett · on 72'
Player stats
Provider match ratings and output
| Player | Team | Rating | Min | G | A | Sh | SoT | Accurate passes | Tackles | Duels | Cards |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Kelle Roos | Aberdeen | 6.9 | 90 | — | — | — | — | 21 | — | — | 0/0 |
| Nicky Devlin | Aberdeen | 7.3 | 90 | — | — | 1 | — | 38 | 1 | 9 | 0/0 |
| Stefan Gartenmann | Aberdeen | 6.9 | 90 | — | — | — | — | 39 | 2 | 10 | 1/0 |
| Richard Jensen | Aberdeen | 7.6 | 90 | — | — | 1 | 1 | 35 | 4 | 10 | 0/0 |
| Jack Milne | Aberdeen | 6.6 | 73 | — | — | — | — | 14 | 3 | 3 | 0/0 |
| Leighton Clarkson | Aberdeen | 7.2 | 90 | 1 | — | 2 | 1 | 22 | — | 1 | 0/0 |
| Graeme Shinnie | Aberdeen | 7 | 90 | — | — | 1 | — | 27 | 2 | 7 | 0/0 |
| Jonny Hayes | Aberdeen | 7.3 | 90 | — | — | — | — | 22 | 2 | 6 | 0/0 |
| Jamie McGrath | Aberdeen | 7.6 | 89 | — | 1 | 1 | 1 | 24 | 1 | 7 | 1/0 |
| Bojan Miovski | Aberdeen | 7.2 | 77 | 1 | — | 2 | 2 | 13 | — | 1 | 1/0 |
| Ester Sokler | Aberdeen | 7 | 73 | — | — | 2 | — | 12 | — | 4 | 0/0 |
| Luís Henriques de Barros Lopes | Aberdeen | 7.2 | 17 | — | 1 | 2 | 1 | 4 | — | 1 | 0/0 |
| Shayden Morris | Aberdeen | 6.6 | 17 | — | — | — | — | 3 | — | 2 | 0/0 |
| Dante Polvara | Aberdeen | 6.6 | 13 | — | — | — | — | 4 | — | 4 | 0/0 |
| Angus MacDonald | Aberdeen | — | 1 | — | — | — | — | — | — | — | 0/0 |
| Ross Doohan | Aberdeen | — | — | — | — | — | — | — | — | — | 0/0 |
| Slobodan Rubežić | Aberdeen | — | — | — | — | — | — | — | — | — | 0/0 |
| James McGarry | Aberdeen | — | — | — | — | — | — | — | — | — | 0/0 |
| Connor Barron | Aberdeen | — | — | — | — | — | — | — | — | — | 0/0 |
| Ryan Duncan | Aberdeen | — | — | — | — | — | — | — | — | — | 0/0 |
| Zander Clark | Heart of Midlothian | 6.9 | 90 | — | — | — | — | 13 | — | — | 0/0 |
| Stephen Kingsley | Heart of Midlothian | 6.6 | 90 | — | — | 1 | 1 | 26 | 1 | 6 | 0/0 |
| Frankie Kent | Heart of Midlothian | 6.6 | 90 | — | — | — | — | 40 | 1 | 5 | 1/0 |
| Kye Rowles | Heart of Midlothian | 6.9 | 90 | — | — | — | — | 34 | 2 | 3 | 1/0 |
| Toby Sibbick | Heart of Midlothian | 6.2 | 71 | — | — | — | — | 11 | — | 2 | 0/0 |
| Calem Nieuwenhof | Heart of Midlothian | 6.5 | 72 | — | — | — | — | 18 | 5 | 8 | 1/0 |
| Beni Baningime | Heart of Midlothian | 6.9 | 90 | — | — | — | — | 33 | 3 | 6 | 1/0 |
| Alex Lowry | Heart of Midlothian | 6.3 | 58 | — | — | 1 | 1 | 10 | — | 1 | 1/0 |
| Alex Cochrane | Heart of Midlothian | 7.3 | 90 | — | 1 | — | — | 15 | 3 | 6 | 0/0 |
| Lawrence Shankland | Heart of Midlothian | 7.5 | 90 | 1 | — | 2 | 1 | 22 | — | 8 | 1/0 |
| Kenneth Vargas | Heart of Midlothian | 6.7 | 57 | — | — | — | — | 10 | — | 2 | 0/0 |
| Kyosuke Tagawa | Heart of Midlothian | 6.2 | 33 | — | — | — | — | 3 | — | — | 0/0 |
| Jorge Grant | Heart of Midlothian | 6.7 | 32 | — | — | — | — | 14 | 1 | 3 | 0/0 |
| Craig Halkett | Heart of Midlothian | 6.3 | 19 | — | — | 1 | — | 13 | — | 3 | 0/0 |
| Aidan Denholm | Heart of Midlothian | 6.5 | 18 | — | — | — | — | 4 | — | 1 | 1/0 |
| Craig Gordon | Heart of Midlothian | — | — | — | — | — | — | — | — | — | 0/0 |
| Yutaro Oda | Heart of Midlothian | — | — | — | — | — | — | — | — | — | 0/0 |
| Alan Forrest | Heart of Midlothian | — | — | — | — | — | — | — | — | — | 0/0 |
| Barrie McKay | Heart of Midlothian | — | — | — | — | — | — | — | — | — | 0/0 |
Ratings are provider values. They are not position-adjusted and are not a verdict on a player.
Coverage
What this page can show
- Depthfull
- Eventsavailable
- Lineupsavailable
- Player statsavailable
- Team statsavailable
- fxGavailable
Missing classes are unavailable, not zero.
Record
Before and after
Before
Provenance
How this page is sourced
Dataset 2026-10-27T19:05:13+00:00-0154e2c. Sources and coverage are listed below; the page keeps its own source and uncertainty labels.
- Aberdeen club fixture list · spfl; fallback api_football · active
- Lineups, formations and starting roles · api_football · active
- Player match ratings and stats · api_football · partial
- Event-derived Aberdeen stats · api_football · active
- League team match stats · football_data_uk · active
- fitba expected goals · computed; fallback football_data_uk, api_football · experimental
Definitions: fixtures.index · matches.document · xg.document · xg.goals-minus · xg.goals-range · xg.model-range · xg.per-shot · xg.shot-profile
Corrections and changes are recorded on Corrections and contact.
Cite this page
Match page. Dataset 2026-10-27T19:05:13+00:00-0154e2c, as of 2026-10-27T19:05:13+00:00. Sources: SPFL official club feed; API-Football; football-data.co.uk; computed. Definitions: fixtures.index; matches.document; xg.document; xg.goals-minus; xg.goals-range; xg.model-range; xg.per-shot; xg.shot-profile.