Expected goals
AGF expected goals (xG) 2026/2027
Superliga (Denmark) · after 9 matches · updated 1 Oct
AGF's attacking and defensive expected goals in Superliga (Denmark) 2026/2027, compared with the results they produced and with the rest of the competition.
AGF xG and xGA per match
Every match ↓| Rank | Club | xG per match |
|---|---|---|
| #1 | FC Nordsjælland | 2.35 |
| #2 | Lyngby | 1.85 |
| #3 | FC København | 1.62 |
| =4 | AGF | 1.60 |
| =4 | Viborg FF | 1.60 |
| #6 | Odense Boldklub | 1.55 |
| #7 | FC Midtjylland | 1.44 |
| #8 | Brøndby IF | 1.22 |
| #9 | Silkeborg IF | 1.10 |
| #10 | AC Horsens | 1.09 |
| #11 | Randers FC | 1.06 |
| #12 | Sønderjyske Fodbold | 1.01 |
- League avg
- 1.46
- Total
- 14.43 9 matches
| Rank | Club | xGA per match |
|---|---|---|
| #1 | FC Midtjylland | 1.11 |
| #2 | FC København | 1.16 |
| #3 | Viborg FF | 1.17 |
| #4 | Lyngby | 1.36 |
| #5 | FC Nordsjælland | 1.43 |
| #6 | Silkeborg IF | 1.47 |
| #7 | Brøndby IF | 1.54 |
| #8 | AGF | 1.56 |
| #9 | AC Horsens | 1.57 |
| #10 | Randers FC | 1.65 |
| #11 | Odense Boldklub | 1.68 |
| #12 | Sønderjyske Fodbold | 1.81 |
- League avg
- 1.46
- Total
- 14.04 9 matches
| Rank | Club | xGD per match |
|---|---|---|
| #1 | FC Nordsjælland | +0.93 |
| #2 | Lyngby | +0.48 |
| #3 | FC København | +0.46 |
| #4 | Viborg FF | +0.43 |
| #5 | FC Midtjylland | +0.33 |
| #6 | AGF | +0.04 |
| #7 | Odense Boldklub | -0.13 |
| #8 | Brøndby IF | -0.32 |
| #9 | Silkeborg IF | -0.36 |
| #10 | AC Horsens | -0.48 |
| #11 | Randers FC | -0.59 |
| #12 | Sønderjyske Fodbold | -0.80 |
- League avg
- 0.00
- Total
- +0.39 9 matches
| Rank | Club | xPts per match |
|---|---|---|
| #1 | FC Nordsjælland | 1.90 |
| #2 | FC København | 1.71 |
| #3 | Viborg FF | 1.70 |
| #4 | FC Midtjylland | 1.61 |
| #5 | Lyngby | 1.61 |
| #6 | AGF | 1.49 |
| #7 | Odense Boldklub | 1.30 |
| #8 | Silkeborg IF | 1.22 |
| #9 | Brøndby IF | 1.18 |
| #10 | AC Horsens | 1.05 |
| #11 | Randers FC | 0.99 |
| #12 | Sønderjyske Fodbold | 0.82 |
- League avg
- 1.38
- Total
- 13.37 vs 5 actual pts
Early-season figures: after 9 matches, per-match rates can move quickly.
What the xG says
AGF's underlying numbers sit close to the Superliga (Denmark) average. They rank #6 for xG difference at +0.04 per match, built on elite shot volume rather than low chance quality. Their 11 goals are 3.43 below 14.43 xG, while 5 points are 8.37 below 13.37 xPts. After only 9 matches, those gaps should still be read cautiously.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
AGF are 3.43 goals below their xG after 9 matches. The gap was widest at -4.42, against FC Nordsjælland on Sun 13/09.
- Goals
- 11
- xG
- 14.43
- Gap
- -3.43
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sat 25/07 | Brøndby IF | 1 | 1.91 | -0.91 | -0.91 |
| Sat 01/08 | Lyngby | 2 | 1.35 | +0.65 | -0.26 |
| Fri 14/08 | Viborg FF | 1 | 1.92 | -0.92 | -1.18 |
| Sun 23/08 | Odense Boldklub | 2 | 1.88 | +0.12 | -1.06 |
| Sun 30/08 | Randers FC | 1 | 1.97 | -0.97 | -2.03 |
| Wed 02/09 | FC Midtjylland | 0 | 1.21 | -1.21 | -3.24 |
| Sat 05/09 | Silkeborg IF | 2 | 1.92 | +0.08 | -3.16 |
| Sun 13/09 | FC Nordsjælland | 0 | 1.26 | -1.26 | -4.42 |
| Sun 20/09 | AC Horsens | 2 | 1.01 | +0.99 | -3.43 |
Goals vs xG ranking → Expected points ranking → Compare with every club in Europe →
AGF xG trend
Current form +0.35 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 4 of 9 matches. The worst was against Lyngby on Sat 01/08 (-1.50).
- npxG · last 6
- 1.50
- npxGA · last 6
- 1.14
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sat 25/07 | Brøndby IF | 0.83 | 0.92 | -0.09 | -0.09 |
| Sat 01/08 | Lyngby | 0.64 | 2.14 | -1.50 | -0.80 |
| Fri 14/08 | Viborg FF | 1.90 | 0.84 | +1.06 | -0.18 |
| Sun 23/08 | Odense Boldklub | 1.88 | 0.81 | +1.07 | +0.14 |
| Sun 30/08 | Randers FC | 1.69 | 0.84 | +0.85 | +0.28 |
| Wed 02/09 | FC Midtjylland | 1.08 | 1.40 | -0.32 | +0.18 |
| Sat 05/09 | Silkeborg IF | 2.09 | 0.38 | +1.71 | +0.40 |
| Sun 13/09 | FC Nordsjælland | 1.29 | 2.42 | -1.13 | +0.21 |
| Sun 20/09 | AC Horsens | 0.95 | 1.01 | -0.06 | +0.18 |
Each bar is one match's non-penalty xG minus the non-penalty xG against; the line is that difference averaged over the season up to each match, and it finishes on the dashed season average — 1.37 npxG and 1.20 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- number 7 hardest of 12 in Superliga (Denmark)
- −0.01 xG vs league average
- Over 9 league matches
- Last 5
- tied number 10 hardest of 12 in Superliga (Denmark)
- −0.06 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
−0.01 xG vs league average · over 9 matches · number 7 hardest of 12
- AC Horsens Away −0.22
- FC Nordsjælland Away +0.41
- Silkeborg IF Home −0.30
- FC Midtjylland Home +0.09
- Randers FC Away −0.27
- Odense Boldklub Home −0.04
- Viborg FF Away +0.16
- Lyngby Away 0.00
- Brøndby IF Home +0.05
Last 5
−0.06 xG vs league average · over 5 matches · tied number 10 hardest of 12
- AC Horsens Away −0.22
- FC Nordsjælland Away +0.41
- Silkeborg IF Home −0.30
- FC Midtjylland Home +0.09
- Randers FC Away −0.27
AGF shots and chance quality
High volume, low quality. AGF take 16.8 shots a match (league 13.9) at 0.08 npxG a shot (league 0.10), #2 in Superliga (Denmark) for volume and #10 for quality. 66% of their shots come from inside the box (league 64%), and set pieces produce 23% of their npxG (league 25%).
Attack
| Rank | Club | shots per match |
|---|---|---|
| #1 | FC Nordsjælland | 17.6 |
| #2 | AGF | 16.8 |
| #3 | Odense Boldklub | 15.3 |
| #4 | Brøndby IF | 15.2 |
| #5 | FC København | 15.0 |
| #6 | Lyngby | 14.8 |
| #7 | FC Midtjylland | 14.2 |
| #8 | Viborg FF | 13.6 |
| #9 | Sønderjyske Fodbold | 11.6 |
| #10 | Silkeborg IF | 11.4 |
| #11 | AC Horsens | 11.2 |
| #12 | Randers FC | 9.9 |
- League avg
- 13.9
- Total
- 151 shots from 9 matches
| Rank | Club | npxG per shot |
|---|---|---|
| #1 | FC Nordsjælland | 0.13 |
| #2 | Viborg FF | 0.12 |
| #3 | Randers FC | 0.10 |
| #4 | FC København | 0.10 |
| #5 | Lyngby | 0.10 |
| #6 | FC Midtjylland | 0.10 |
| #7 | Odense Boldklub | 0.09 |
| #8 | AC Horsens | 0.08 |
| #9 | Silkeborg IF | 0.08 |
| #10 | AGF | 0.08 |
| #11 | Sønderjyske Fodbold | 0.08 |
| #12 | Brøndby IF | 0.08 |
- League avg
- 0.10
- Total
- 12.35 npxG from 151 shots
Defence
| Rank | Club | shots per match |
|---|---|---|
| #1 | FC København | 11.9 |
| #2 | Silkeborg IF | 12.4 |
| #3 | Brøndby IF | 12.6 |
| =4 | FC Midtjylland | 12.9 |
| =4 | Lyngby | 12.9 |
| #6 | FC Nordsjælland | 13.3 |
| #7 | Odense Boldklub | 13.6 |
| =8 | AGF | 13.7 |
| =8 | Viborg FF | 13.7 |
| #10 | AC Horsens | 15.0 |
| #11 | Randers FC | 16.4 |
| #12 | Sønderjyske Fodbold | 18.2 |
- League avg
- 13.9
- Total
- 123 shots allowed from 9 matches
| Rank | Club | npxGA per shot |
|---|---|---|
| #1 | Viborg FF | 0.08 |
| #2 | FC Midtjylland | 0.08 |
| #3 | AGF | 0.09 |
| #4 | FC Nordsjælland | 0.09 |
| #5 | FC København | 0.09 |
| #6 | Randers FC | 0.09 |
| #7 | Lyngby | 0.10 |
| #8 | Sønderjyske Fodbold | 0.10 |
| #9 | AC Horsens | 0.10 |
| #10 | Brøndby IF | 0.11 |
| #11 | Odense Boldklub | 0.11 |
| #12 | Silkeborg IF | 0.12 |
- League avg
- 0.10
- Total
- 10.76 npxGA from 123 shots
Shot profile
66% inside the box
League avg 64%
From 99 of 151 shots over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
64% allowed inside the box
League avg 64%
From 79 of 123 shots allowed over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
77% open play · 23% set pieces
League avg 25% set pieces
From 2.8 of 12.3 npxG over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
79% open play · 21% set pieces
League avg 25% set pieces
From 2.3 of 10.7 npxG allowed over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
AGF home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 4 | 5 |
| xG / match | 1.73 | 1.50 |
| xGA / match | 1.14 | 1.90 |
| xGD / match | +0.59 | -0.39 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.82 | 1.22 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every AGF match by xG
This season
- Matches
- 9
- xG / match
- 1.60
- xGA / match
- 1.56
- xGD / match
- +0.04
- Points
- 5 of 27
- Sun 20/09 AC Horsens A xG 1.01 xGA 1.19 xGD -0.18 xPts 1.19
- Sun 13/09 FC Nordsjælland A xG 1.26 xGA 2.79 xGD -1.53 xPts 0.49
- Sat 05/09 Silkeborg IF H xG 1.92 xGA 1.23 P xGD +0.69 xPts 1.89
- Wed 02/09 FC Midtjylland H xG 1.21 xGA 1.71 xGD -0.50 xPts 0.98
- Sun 30/08 Randers FC A xG 1.97 xGA 1.10 xGD +0.87 xPts 2.03
- Sun 23/08 Odense Boldklub H xG 1.88 xGA 0.81 xGD +1.07 xPts 2.20
- Fri 14/08 Viborg FF A xG 1.92 xGA 1.03 xGD +0.89 xPts 2.05
- Sat 01/08 Lyngby A Weakest underlying xG 1.35 P xGA 3.37 P xGD -2.02 xPts 0.34
- Sat 25/07 Brøndby IF H Best underlying xG 1.91 P xGA 0.81 xGD +1.10 xPts 2.22
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.37. Best and weakest underlying mark the highest and lowest xGD once 5 matches have xG. Against the chances marks a win with xGD of −1.00 or lower, or a loss with +1.00 or higher. P marks a side with at least 0.50 xG from penalties.
AGF in Superliga (Denmark)
Attack
- xG / match =4 of 12
- Shots / match #2 of 12
- Chance quality #10 of 12
- Home xG #6 of 12
- Away xG #4 of 12
Defence
- xGA / match #8 of 12
- Shots allowed =8 of 12
- Chance quality allowed #3 of 12
About the data
- xG data
- Provided by TheStatsAPI, and stored as published.
- Derived metrics
- xGD, per-match rates, rankings and rolling averages are calculated from the match data.
- Model metrics
- xPts is produced by our probability model.