xgEdge

Sunday, 23/08/2026 at 14:00

Full time
Match report · Superliga (Denmark)

AGF 2:2 Odense Boldklub

AGF Home 1.88 xG · 31 shots
Odense Boldklub Away 0.81 xG · 6 shots
22 AGF had the better chances, but it finished level

AGF were the model's likeliest winner before kick-off at 53%. It finished 2–2. Both teams produced xG close to their pre-match projections.

Goals

  1. 21' James Bogere AGF · 0.05 xG chance 1–0
  2. 26' Fiete Arp Odense Boldklub · 0.10 xG chance 1–1
  3. 42' Fiete Arp Odense Boldklub · 0.39 xG chance 1–2
  4. 75' Rasmus Carstensen AGF · 0.32 xG chance 2–2

The model against the result

priced before kick-off
AGF
53%
Draw
27% What happened
Odense Boldklub
19%

Data coverage Both teams have the full 20-match model window available.

Projected vs produced

Expected goals
AGF The model projected 1.77 Produced 1.88 Difference +0.11
Odense Boldklub The model projected 1.05 Produced 0.81 Difference -0.24

Projected before kick-off Produced on the night

The shots behind it

AGF Odense Boldklub
Shots
31
6
On target
5
2
Inside the box
19
4
xG per shot
0.06
0.14
Open play xG
1.47
0.81
Set-piece xG
0.40
0.00
Penalties
—
—
Shot-level xG may differ from the published match total

The provider publishes the match total separately from its shot-by-shot values. Those values are rounded to two decimals and, leaving out penalties and own goals, add up to its non-penalty xG: 1.88 for AGF.

Shot map

Both teams shown attacking the same goal for comparison.

Odense Boldklub · Fiete Arp · 42' · Goal · 5 m · 0.39 xG AGF · Rasmus Carstensen · 75' · Goal · 3 m · 0.32 xG AGF · James Bogere · 23' · No goal · 13 m · 0.24 xG AGF · Luka Callø · 90' · No goal · 6 m · 0.18 xG Odense Boldklub · Noah Ganaus · 1' · No goal · 8 m · 0.14 xG Odense Boldklub · Fiete Arp · 26' · Goal · 7 m · 0.10 xG Odense Boldklub · Noah Ganaus · 60' · No goal · 8 m · 0.10 xG AGF · James Bogere · 31' · No goal · 16 m · 0.08 xG AGF · Gift Links · 39' · No goal · 10 m · 0.08 xG AGF · Frederik Emmery · 45' · No goal · 3 m · 0.08 xG AGF · Janni Serra · 83' · No goal · 9 m · 0.07 xG AGF · James Bogere · 20' · No goal · 15 m · 0.06 xG AGF · Frederik Emmery · 35' · No goal · 11 m · 0.06 xG AGF · Sebastian Jørgensen · 45' · No goal · 19 m · 0.06 xG AGF · Sebastian Jørgensen · 45' · No goal · 9 m · 0.06 xG Odense Boldklub · Alexander Ahl Holmström · 84' · No goal · 18 m · 0.06 xG AGF · James Bogere · 21' · Goal · 16 m · 0.05 xG AGF · Sebastian Jørgensen · 18' · No goal · 21 m · 0.04 xG AGF · Markus Solbakken · 51' · No goal · 14 m · 0.04 xG AGF · Rasmus Carstensen · 86' · No goal · 9 m · 0.04 xG AGF · Sebastian Jørgensen · 90' · No goal · 11 m · 0.04 xG AGF · Markus Solbakken · 14' · No goal · 21 m · 0.03 xG AGF · Markus Solbakken · 34' · No goal · 21 m · 0.03 xG AGF · Frederik Emmery · 45' · No goal · 13 m · 0.03 xG AGF · Gift Links · 57' · No goal · 26 m · 0.03 xG AGF · Kristian Arnstad · 70' · No goal · 29 m · 0.03 xG AGF · Janni Serra · 87' · No goal · 8 m · 0.03 xG AGF · Janni Serra · 89' · No goal · 12 m · 0.03 xG AGF · Tobias Bech · 90' · No goal · 22 m · 0.03 xG AGF · Kristian Arnstad · 90' · No goal · 11 m · 0.03 xG AGF · Markus Solbakken · 15' · No goal · 24 m · 0.02 xG AGF · Frederik Emmery · 30' · No goal · 26 m · 0.02 xG Odense Boldklub · Marcus McCoy · 36' · No goal · 25 m · 0.02 xG AGF · Eric Kahl · 50' · No goal · 26 m · 0.02 xG AGF · Gift Links · 74' · No goal · 20 m · 0.02 xG AGF · Jacob Andersen · 5' · No goal · 15 m · 0.01 xG AGF · Frederik Emmery · 59' · No goal · 18 m · 0.01 xG

All shots

37 shots · 2.68 xG

Hover, focus or tap a shot to read it.

  • AGF
  • Odense Boldklub
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
AGF

1.68 xG created 1.46 xGA

  • W 1.64 created, 0.87 conceded against Sønderjyske Fodbold
  • W 0.59 created, 0.58 conceded against Brøndby IF
  • W 2.70 created, 2.09 conceded against Viborg FF
  • D 1.91 created, 0.81 conceded against Brøndby IF
  • D 1.35 created, 3.37 conceded against Lyngby
  • L 1.92 created, 1.03 conceded against Viborg FF
Odense Boldklub

1.42 xG created 1.53 xGA

  • D 0.94 created, 1.99 conceded against Randers FC
  • L 1.23 created, 1.03 conceded against Vejle
  • L 1.72 created, 2.04 conceded against Viborg FF
  • W 2.11 created, 0.59 conceded against Sønderjyske Fodbold
  • L 1.14 created, 1.92 conceded against Silkeborg IF
  • L 1.37 created, 1.58 conceded against AC Horsens

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

Head to head

AGF: 2 won · 0 drawn · 0 lost

Pre-match model & market record

1 opportunity flagged1 won0 lost

  • Won
View pre-match record
The outcomes the model flagged on AGF against Odense Boldklub before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Draw 3.90 +5.9% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
AGF 53.4% 54.3% −0.9 pp 1.87
Draw 27.1% 24.0% +3.1 pp 3.68
Odense Boldklub 19.4% 21.6% −2.2 pp 5.14

Other markets

Outcome Model Market Difference Fair odds
Both teams to score 59.6% 55.7% +3.9 pp 1.68
Both teams not to score 40.4% 44.3% −3.9 pp 2.48
Over 1.5 goals 81.3% 78.3% +3.0 pp 1.23
Under 1.5 goals 18.7% 21.7% −3.0 pp 5.36
Over 2.5 goals 55.3% 56.3% −1.0 pp 1.81
Under 2.5 goals 44.7% 43.7% +1.0 pp 2.24

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

Show
Fit window
the last 20 matches, recency weighted (a match 107 days old counts half)
AGF sample
20 matches
Odense Boldklub sample
20 matches
Computed
6 minutes before kick-off
Prices taken
2 days before kick-off

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.