xgEdge

Expected goals

Stade Brestois expected goals (xG) 2026/2027

Ligue 1 · after 5 matches · updated 1 Oct

Stade Brestois's attacking and defensive expected goals in Ligue 1 2026/2027, compared with the results they produced and with the rest of the competition.

Stade Brestois xG and xGA per match

Every match ↓
Attack
1.94 xG per match
#4/18
Attack (xG per match) across Ligue 1, best first
Rank Club xG per match
#1 Paris Saint-Germain 2.28
#2 RC Lens 2.27
#3 Toulouse 2.19
#4 Stade Brestois 1.94
#5 Paris FC 1.87
#6 Olympique Lyonnais 1.79
#7 Stade Rennais 1.76
#8 Le Mans 1.70
#9 Angers 1.61
#10 Olympique de Marseille 1.56
#11 Auxerre 1.41
#12 Troyes 1.40
#13 Le Havre 1.39
#14 Lille 1.39
#15 AS Monaco 1.28
#16 RC Strasbourg 1.24
#17 Lorient 1.19
#18 Nice 1.08
League avg
1.63
Total
9.71 5 matches
Defence
1.19 xGA per match
#4/18
Defence (xGA per match) across Ligue 1, best first
Rank Club xGA per match
#1 Paris FC 0.65
#2 Paris Saint-Germain 1.14
#3 Olympique Lyonnais 1.17
#4 Stade Brestois 1.19
#5 AS Monaco 1.31
#6 Lorient 1.39
#7 Angers 1.41
#8 Le Havre 1.61
#9 Toulouse 1.64
=10 Lille 1.75
=10 Nice 1.75
#12 Le Mans 1.91
#13 RC Lens 1.92
=14 RC Strasbourg 1.96
=14 Troyes 1.96
#16 Auxerre 2.05
#17 Stade Rennais 2.27
#18 Olympique de Marseille 2.28
League avg
1.63
Total
5.95 5 matches
xG difference
+0.75 xGD per match
#3/18
xG difference (xGD per match) across Ligue 1, best first
Rank Club xGD per match
#1 Paris FC +1.22
#2 Paris Saint-Germain +1.14
#3 Stade Brestois +0.75
#4 Olympique Lyonnais +0.62
#5 Toulouse +0.55
#6 RC Lens +0.35
#7 Angers +0.20
#8 AS Monaco -0.02
=9 Le Mans -0.21
=9 Lorient -0.21
#11 Le Havre -0.22
#12 Lille -0.36
#13 Stade Rennais -0.51
#14 Troyes -0.56
#15 Auxerre -0.63
#16 Nice -0.67
#17 Olympique de Marseille -0.72
#18 RC Strasbourg -0.72
League avg
0.00
Total
+3.76 5 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.78 xPts per match
#4/18
Expected points (xPts per match) across Ligue 1, best first
Rank Club xPts per match
#1 Paris FC 2.17
#2 Paris Saint-Germain 2.06
#3 Olympique Lyonnais 1.81
#4 Stade Brestois 1.78
#5 Toulouse 1.74
#6 RC Lens 1.49
#7 Angers 1.49
#8 AS Monaco 1.42
#9 Le Mans 1.27
#10 Lille 1.23
#11 Lorient 1.21
#12 Le Havre 1.20
#13 Auxerre 1.18
#14 Olympique de Marseille 1.09
#15 Stade Rennais 1.08
#16 Troyes 0.96
#17 Nice 0.94
#18 RC Strasbourg 0.84
League avg
1.39
Total
8.92 vs 5 actual pts

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

What the xG says

Stade Brestois's underlying numbers are among the best in Ligue 1. They rank #3 for xG difference at +0.75 per match, built on elite shot volume rather than low chance quality. Their 7 goals are 2.71 below 9.71 xG, while 5 points are 3.92 below 8.92 xPts. After only 5 matches, those gaps should still be read cautiously.

Actual vs expected

Measure Actual Expected Difference Reading
Goals vs xG Includes 1.24 xG from penalties
7 9.71 -2.71 scored 2.71 fewer than xG within normal variance
8 5.95 +2.05 conceded 2.05 more than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

Stade Brestois are 2.71 goals below their xG after 5 matches. The gap was widest at -3.37, against Paris Saint-Germain on Sun 13/09.

Goals
7
xG
9.71
Gap
-2.71
Sat 22/08 Sat 29/08 Sat 05/09 Sun 13/09 Sun 20/09 -4 -3 -2 -1 0 +1 -0.72 -1.76 -2.13 -3.37 -2.71 -0.72 -1.04 -0.37 -1.24 +0.66 Running gap goals − xG Each match goals − xG
Stade Brestois: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sat 22/08 Le Mans 2 2.72 -0.72 -0.72
Sat 29/08 Toulouse 2 3.04 -1.04 -1.76
Sat 05/09 Le Havre 2 2.37 -0.37 -2.13
Sun 13/09 Paris Saint-Germain 0 1.24 -1.24 -3.37
Sun 20/09 Auxerre 1 0.34 +0.66 -2.71

Goals vs xG ranking → Expected points ranking →

Stade Brestois xG trend

Current form +0.71 npxGD per match

All 5 matches with xG so far — the window fills at 6.

Out-created the opponent in 4 of 5 matches. The only negative was against Auxerre on Sun 20/09 (-0.49).

npxG · last 5
1.69
npxGA · last 5
0.99
-1 0 +1 +2 +1.85 Sat 22/08 +1.73 Sat 29/08 +0.36 Sat 05/09 +0.08 Sun 13/09 -0.49 Sun 20/09 +0.71 season avg
Stade Brestois: 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
Sat 22/08 Le Mans 2.53 0.68 +1.85 +1.85
Sat 29/08 Toulouse 2.85 1.12 +1.73 +1.79
Sat 05/09 Le Havre 1.59 1.23 +0.36 +1.31
Sun 13/09 Paris Saint-Germain 1.24 1.16 +0.08 +1.00
Sun 20/09 Auxerre 0.26 0.75 -0.49 +0.71

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

Form ranking →

Strength of schedule

Season so far
number 4 hardest of 18 in Ligue 1
+0.09 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

+0.09 xG vs league average · over 5 matches · number 4 hardest of 18

  1. Auxerre Away −0.26
  2. Paris Saint-Germain Home +0.90
  3. Le Havre Away −0.13
  4. Toulouse Home +0.04
  5. Le Mans Away −0.13

League schedule strength → How this is calculated →

Stade Brestois shots and chance quality

High volume, low quality. Stade Brestois take 19.2 shots a match (league 13.9) at 0.09 npxG a shot (league 0.11), #2 in Ligue 1 for volume and #15 for quality. 65% of their shots come from inside the box (league 65%), and set pieces produce 50% of their npxG (league 18%).

Attack

Shot volume
19.2 shots per match
#2/18
Shot volume (shots per match) across Ligue 1, best first
Rank Club shots per match
#1 Paris Saint-Germain 21.2
#2 Stade Brestois 19.2
#3 Stade Rennais 16.2
#4 Le Havre 15.6
#5 Angers 15.0
=6 RC Lens 14.8
=6 Toulouse 14.8
=6 Troyes 14.8
#9 Olympique Lyonnais 13.4
=10 Olympique de Marseille 13.2
=10 Paris FC 13.2
#12 Lille 12.8
#13 Auxerre 12.0
#14 Nice 11.8
#15 RC Strasbourg 11.6
=16 Le Mans 10.4
=16 Lorient 10.4
#18 AS Monaco 10.2
League avg
13.9
Total
96 shots from 5 matches
Chance quality
0.09 npxG per shot
#15/18
Chance quality (npxG per shot) across Ligue 1, best first
Rank Club npxG per shot
#1 Le Mans 0.15
#2 Olympique Lyonnais 0.13
#3 Toulouse 0.13
#4 AS Monaco 0.12
#5 Paris FC 0.11
#6 RC Lens 0.11
#7 RC Strasbourg 0.11
#8 Angers 0.11
#9 Paris Saint-Germain 0.11
#10 Lorient 0.11
#11 Lille 0.11
#12 Olympique de Marseille 0.10
#13 Stade Rennais 0.09
#14 Nice 0.09
#15 Stade Brestois 0.09
#16 Auxerre 0.09
#17 Le Havre 0.08
#18 Troyes 0.07
League avg
0.11
Total
8.47 npxG from 96 shots

Defence

Shots allowed
11.6 shots per match
#5/18
Shots allowed (shots per match) across Ligue 1, best first
Rank Club shots per match
#1 Paris FC 9.6
#2 Paris Saint-Germain 10.0
=3 Olympique Lyonnais 11.2
=3 RC Lens 11.2
#5 Stade Brestois 11.6
#6 Nice 13.0
#7 Lorient 13.2
#8 Auxerre 13.6
#9 Troyes 13.8
#10 Le Havre 14.4
=11 AS Monaco 15.2
=11 Toulouse 15.2
#13 Stade Rennais 15.6
#14 Lille 16.0
#15 Le Mans 16.2
#16 Angers 16.4
#17 Olympique de Marseille 17.0
#18 RC Strasbourg 17.4
League avg
13.9
Total
58 shots allowed from 5 matches
Chance quality allowed
0.09 npxGA per shot
#5/18
Chance quality allowed (npxGA per shot) across Ligue 1, best first
Rank Club npxGA per shot
#1 Paris FC 0.07
#2 Angers 0.08
#3 Lorient 0.08
#4 AS Monaco 0.08
#5 Stade Brestois 0.09
#6 Le Havre 0.09
#7 RC Strasbourg 0.09
#8 Le Mans 0.09
#9 Olympique Lyonnais 0.10
#10 Toulouse 0.10
#11 Lille 0.11
#12 Paris Saint-Germain 0.11
#13 Nice 0.12
#14 Olympique de Marseille 0.12
#15 Auxerre 0.13
#16 Stade Rennais 0.13
#17 Troyes 0.15
#18 RC Lens 0.16
League avg
0.11
Total
4.94 npxGA from 58 shots

Shot profile

Shot location

65% inside the box

League avg 65%

From 62 of 96 shots over 5 matches

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

Shots allowed, location

59% allowed inside the box

League avg 65%

From 34 of 58 shots allowed over 5 matches

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

Where the npxG comes from

50% open play · 50% set pieces

League avg 18% set pieces

From 4.3 of 8.6 npxG over 5 matches

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

Where the npxG allowed comes from

81% open play · 19% set pieces

League avg 18% set pieces

From 0.9 of 4.8 npxG allowed over 5 matches

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

Stade Brestois home and away xG

Stade Brestois per-match figures at home and away
Measure Home only 2 matches with xG Away
Matches 2 3
xG / match 2.14 1.81
xGA / match 1.15 1.22
xGD / match +0.99 +0.59
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 1.98 1.65

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

Every Stade Brestois 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.04. 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 →

Stade Brestois in Ligue 1

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 →