xgEdge

Saturday, 29/08/2026 at 16:00

Full time
Match report · Scottish Premiership

Heart of Midlothian 2:1 St. Johnstone

Heart of Midlothian Home 1.71 xG · 17 shots
St. Johnstone Away 1.16 xG · 9 shots
21 The scoreline reflected the chances

Heart of Midlothian were the model's likeliest winner before kick-off at 45%. They won 2–1. The biggest difference was Heart of Midlothian's attack: 1.71 xG against 1.42 projected (+0.29).

Goals

  1. 9' James Wilson Heart of Midlothian · 0.54 xG chance 1–0
  2. 39' Enes Alić (o.g.) Heart of Midlothian · 0.16 xG chance 2–0
  3. 48' Ruari Paton St. Johnstone · 0.53 xG chance 2–1

The model against the result

priced before kick-off
Heart of Midlothian
45% What happened
Draw
31%
St. Johnstone
24%

Data coverage One of these teams has only 2 matches in the model window, short of the 10 the model wants. Read the projection as a direction rather than as a number.

Projected vs produced

Expected goals
Heart of Midlothian The model projected 1.42 Produced 1.71 Difference +0.29
St. Johnstone The model projected 1.02 Produced 1.16 Difference +0.14

Heart of Midlothian produced 0.29 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Heart of Midlothian St. Johnstone
Shots
17
9
On target
8
4
Inside the box
9
8
xG per shot
0.11
0.13
Open play xG
1.26
1.09
Set-piece xG
0.60
0.07
Penalties
—
—

Heart of Midlothian's shots add up to 1.86 xG; the published figure is 1.71.

Shot map

Both teams shown attacking the same goal for comparison.

Heart of Midlothian · James Wilson · 9' · Goal · 11 m · 0.54 xG St. Johnstone · Ruari Paton · 48' · Goal · 10 m · 0.53 xG Heart of Midlothian · Laurent Mendy · 7' · No goal · 3 m · 0.31 xG St. Johnstone · Ruari Paton · 60' · No goal · 14 m · 0.18 xG Heart of Midlothian · Enes Alić · 39' · Goal · 2 m · 0.16 xG Heart of Midlothian · Jordi Altena · 36' · No goal · 22 m · 0.15 xG St. Johnstone · Macaulay Tait · 76' · No goal · 10 m · 0.14 xG Heart of Midlothian · Tomas Magnusson · 72' · No goal · 5 m · 0.13 xG Heart of Midlothian · Laurent Mendy · 25' · No goal · 9 m · 0.12 xG Heart of Midlothian · Tomas Magnusson · 37' · No goal · 12 m · 0.10 xG St. Johnstone · Liam Smith · 85' · No goal · 4 m · 0.10 xG St. Johnstone · Jamie Gullan · 26' · No goal · 11 m · 0.07 xG Heart of Midlothian · Blair Spittal · 68' · No goal · 22 m · 0.07 xG Heart of Midlothian · Cláudio Braga · 38' · No goal · 11 m · 0.05 xG St. Johnstone · Josh Fowler · 42' · No goal · 14 m · 0.05 xG Heart of Midlothian · Sabah Kerjota · 44' · No goal · 22 m · 0.05 xG Heart of Midlothian · Josh McPake · 43' · No goal · 10 m · 0.04 xG Heart of Midlothian · Sabah Kerjota · 43' · No goal · 14 m · 0.04 xG St. Johnstone · Reece McAlear · 82' · No goal · 5 m · 0.04 xG St. Johnstone · Jamie Gullan · 4' · No goal · 14 m · 0.03 xG Heart of Midlothian · Laurent Mendy · 24' · No goal · 27 m · 0.03 xG Heart of Midlothian · Sabah Kerjota · 11' · No goal · 8 m · 0.02 xG St. Johnstone · Jamie Gullan · 23' · No goal · 13 m · 0.02 xG Heart of Midlothian · Blair Spittal · 68' · No goal · 26 m · 0.02 xG Heart of Midlothian · Cláudio Braga · 89' · No goal · 29 m · 0.02 xG Heart of Midlothian · Pierre Landry Kaboré · 79' · No goal · 67 m · 0.01 xG

All shots

26 shots · 3.02 xG

Hover, focus or tap a shot to read it.

  • Heart of Midlothian
  • St. Johnstone
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
Heart of Midlothian

1.14 xG created 1.27 xGA

  • W 0.75 created, 0.82 conceded against Rangers
  • D 1.09 created, 0.45 conceded against Motherwell
  • W 0.59 created, 0.30 conceded against Falkirk FC
  • L 0.96 created, 2.82 conceded against Celtic
  • L 1.34 created, 2.66 conceded against Aberdeen
  • W 2.09 created, 0.54 conceded against Dundee United
St. Johnstone

1.44 xG created 1.08 xGA

  • W 1.76 created, 0.79 conceded against Kilmarnock
  • L 1.13 created, 1.36 conceded against St. Mirren

xG created xG conceded (xGA) W / D / L: the match result

Pre-match model & market record

6 opportunities flagged0 won6 lost

  • Lost
  • Lost
  • Lost
  • Lost
  • Lost
  • Lost
View pre-match record
The outcomes the model flagged on Heart of Midlothian against St. Johnstone before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Heart of Midlothian not to score 5.50 +17.2% Lost
Draw 3.75 +17.0% Lost
Under 2.5 goals 2.10 +15.6% Lost
Heart of Midlothian at most 1 goal 2.00 +14.5% Lost
Under 1.5 goals 4.33 +11.2% Lost
St. Johnstone to win 4.50 +8.2% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
Heart of Midlothian 44.7% 54.2% −9.5 pp 2.24
Draw 31.2% 25.0% +6.2 pp 3.20
St. Johnstone 24.0% 20.8% +3.2 pp 4.16

Other markets

Outcome Model Market Difference Fair odds
Heart of Midlothian to score 78.7% 82.8% −4.1 pp 1.27
Heart of Midlothian not to score 21.3% 17.2% +4.1 pp 4.69
St. Johnstone to score 66.7% 64.5% +2.2 pp 1.50
St. Johnstone not to score 33.3% 35.5% −2.2 pp 3.00
Both teams to score 54.3% 54.7% −0.3 pp 1.84
Both teams not to score 45.7% 45.3% +0.3 pp 2.19
Heart of Midlothian 2+ goals 42.8% 53.7% −10.9 pp 2.34
Heart of Midlothian at most 1 goal 57.2% 46.3% +10.9 pp 1.75
St. Johnstone 2+ goals 27.1% 27.7% −0.6 pp 3.70
St. Johnstone at most 1 goal 72.9% 72.3% +0.6 pp 1.37
Over 1.5 goals 74.3% 78.0% −3.7 pp 1.35
Under 1.5 goals 25.7% 22.0% +3.7 pp 3.90
Over 2.5 goals 45.0% 54.9% −9.9 pp 2.22
Under 2.5 goals 55.0% 45.1% +9.9 pp 1.82

Prices and probabilities are the ones stored before kick-off; nothing here is recalculated. Edge is the model's probability times the price, minus one, so a flagged outcome that lost is the ordinary case rather than a contradiction.

Model details

· 1 warning
Show
Fit window
the last 20 matches, recency weighted (a match 107 days old counts half)
Heart of Midlothian sample
20 matches
St. Johnstone sample
2 matches
Computed
6 hours before kick-off
Prices taken
6 hours before kick-off

Warnings

  • St. Johnstone has only 2 matches in the database. Below 10 matches the estimate is very unreliable.

Limitations

The model reads expected goals and nothing else. It does not know the lineups, who is injured or suspended, what either side has to play for, the weather, or how congested the schedule around this match is.