xgEdge

Expected goals

Viborg FF expected goals (xG) 2026/2027

Superliga (Denmark) · after 9 matches · updated 4 Oct

Viborg FF's attacking and defensive expected goals in Superliga (Denmark) 2026/2027, compared with the results they produced and with the rest of the competition.

Viborg FF xG and xGA per match

Every match ↓
Attack
1.60 xG per match
=4/12
Attack (xG per match) across Superliga (Denmark), best first
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
Defence
1.17 xGA per match
#3/12
Defence (xGA per match) across Superliga (Denmark), best first
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
10.55 9 matches
xG difference
+0.43 xGD per match
#4/12
xG difference (xGD per match) across Superliga (Denmark), best first
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
+3.88 9 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.70 xPts per match
#3/12
Expected points (xPts per match) across Superliga (Denmark), best first
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
15.30 vs 17 actual pts

Early-season figures: after 9 matches, per-match rates can move quickly.

What the xG says

Viborg FF's underlying numbers are among the best in Superliga (Denmark). They rank #4 for xG difference at +0.43 per match, built on elite chance quality rather than about average shot volume. Their 15 goals are 0.57 above 14.43 xG, while 17 points are 1.70 above 15.30 xPts. After only 9 matches, those gaps should still be read cautiously.

Actual vs expected

Measure Actual Expected Difference Reading
15 14.43 +0.57 scored 0.57 more than xG within normal variance
8 10.55 -2.55 conceded 2.55 fewer than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

Viborg FF are 0.57 goals above their xG after 9 matches.

Goals
15
xG
14.43
Gap
+0.57
Fri 24/07 Sun 02/08 Fri 07/08 Fri 14/08 Sun 23/08 Fri 28/08 Fri 04/09 Sun 13/09 Sun 20/09 -5 -4 -3 -2 -1 0 +1 -1.04 -2.99 -4.46 -3.49 -0.68 +0.40 -1.12 -0.83 +0.57 -1.04 -1.95 -1.47 +0.97 +2.81 +1.08 -1.52 +0.29 +1.40 Running gap goals − xG Each match goals − xG
Viborg FF: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Fri 24/07 Odense Boldklub 1 2.04 -1.04 -1.04
Sun 02/08 Brøndby IF 0 1.95 -1.95 -2.99
Fri 07/08 Sønderjyske Fodbold 0 1.47 -1.47 -4.46
Fri 14/08 AGF 2 1.03 +0.97 -3.49
Sun 23/08 FC København 4 1.19 +2.81 -0.68
Fri 28/08 AC Horsens 3 1.92 +1.08 +0.40
Fri 04/09 Lyngby 0 1.52 -1.52 -1.12
Sun 13/09 Silkeborg IF 1 0.71 +0.29 -0.83
Sun 20/09 FC Nordsjælland 4 2.60 +1.40 +0.57

Goals vs xG ranking → Expected points ranking →

Viborg FF xG trend

Current form +0.39 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 7 of 9 matches. The worst was against AGF on Fri 14/08 (-1.06).

npxG · last 6
1.39
npxGA · last 6
1.01
-2 -1 0 +1 +2 +0.52 Fri 24/07 +1.10 Sun 02/08 +0.94 Fri 07/08 -1.06 Fri 14/08 +1.07 Sun 23/08 +1.00 Fri 28/08 +1.07 Fri 04/09 -0.43 Sun 13/09 +0.66 Sun 20/09 +0.54 season avg
Viborg FF: non-penalty xG, xGA and their difference in each match, with the season's average so far
Date Opponent npxG npxGA npxGD Avg so far
Fri 24/07 Odense Boldklub 2.03 1.51 +0.52 +0.52
Sun 02/08 Brøndby IF 2.24 1.14 +1.10 +0.81
Fri 07/08 Sønderjyske Fodbold 1.53 0.59 +0.94 +0.85
Fri 14/08 AGF 0.84 1.90 -1.06 +0.38
Sun 23/08 FC København 1.44 0.37 +1.07 +0.51
Fri 28/08 AC Horsens 1.80 0.80 +1.00 +0.60
Fri 04/09 Lyngby 1.54 0.47 +1.07 +0.66
Sun 13/09 Silkeborg IF 0.66 1.09 -0.43 +0.53
Sun 20/09 FC Nordsjælland 2.06 1.40 +0.66 +0.54

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.57 npxG and 1.03 npxGA per match. Current form is the same difference over the last 6 matches with xG.

Form ranking →

Strength of schedule

Season so far
tied number 5 hardest of 12 in Superliga (Denmark)
0.00 xG vs league average
Over 9 league matches
Last 5
tied number 5 hardest of 12 in Superliga (Denmark)
+0.06 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

0.00 xG vs league average · over 9 matches · tied number 5 hardest of 12

  1. FC Nordsjælland Home +0.41
  2. Silkeborg IF Away −0.30
  3. Lyngby Home 0.00
  4. AC Horsens Away −0.22
  5. FC København Home +0.38
  6. AGF Home +0.25
  7. Sønderjyske Fodbold Away −0.51
  8. Brøndby IF Away +0.05
  9. Odense Boldklub Home −0.04

Last 5

+0.06 xG vs league average · over 5 matches · tied number 5 hardest of 12

  1. FC Nordsjælland Home +0.41
  2. Silkeborg IF Away −0.30
  3. Lyngby Home 0.00
  4. AC Horsens Away −0.22
  5. FC København Home +0.38

League schedule strength → How this is calculated →

Viborg FF shots and chance quality

Average volume, high quality. Viborg FF take 13.6 shots a match (league 13.9) at 0.12 npxG a shot (league 0.10), #8 in Superliga (Denmark) for volume and #2 for quality. 75% of their shots come from inside the box (league 64%), and set pieces produce 27% of their npxG (league 25%).

Attack

Shot volume
13.6 shots per match
#8/12
Shot volume (shots per match) across Superliga (Denmark), best first
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
122 shots from 9 matches
Chance quality
0.12 npxG per shot
#2/12
Chance quality (npxG per shot) across Superliga (Denmark), best first
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
14.14 npxG from 122 shots

Defence

Shots allowed
13.7 shots per match
=8/12
Shots allowed (shots per match) across Superliga (Denmark), best first
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
Chance quality allowed
0.08 npxGA per shot
#1/12
Chance quality allowed (npxGA per shot) across Superliga (Denmark), best first
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
9.27 npxGA from 123 shots

Shot profile

Shot location

75% inside the box

League avg 64%

From 92 of 122 shots over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Shots allowed, location

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.

Where the npxG comes from

73% open play · 27% set pieces

League avg 25% set pieces

From 3.8 of 14.1 npxG over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Where the npxG allowed comes from

73% open play · 27% set pieces

League avg 25% set pieces

From 2.5 of 9.3 npxG allowed over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Viborg FF home and away xG

Viborg FF per-match figures at home and away
Measure Home Away
Matches 5 4
xG / match 1.68 1.51
xGA / match 1.37 0.93
xGD / match +0.31 +0.59
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 1.61 1.82

Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.

Every Viborg FF match by xG

Window
Season Last 10 Last 5
Venue

Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.00. 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.

Every result, all competitions →

Viborg FF in Superliga (Denmark)

Attack

Defence

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.

Learn how our xG analytics work →

How the model works →