xgEdge

Sunday, 06/09/2026 at 17:15

Full time
Match report · Ligue 1

Angers 1:2 Stade Rennais

Angers Home 1.66 xG · 19 shots
Stade Rennais Away 1.54 xG · 18 shots
12 The chances were evenly matched

Stade Rennais were the model's likeliest winner before kick-off at 38%. They won 2–1. The biggest difference was Angers's attack: 1.66 xG against 1.35 projected (+0.31).

Goals

  1. 9' Przemysław Frankowski Stade Rennais · 0.09 xG chance 0–1
  2. 17' Jordan Lefort (o.g.) Stade Rennais · 0.10 xG chance 0–2
  3. 35' Carlens Arcus Angers · 0.05 xG chance 1–2

The model against the result

priced before kick-off
Angers
32%
Draw
30%
Stade Rennais
38% What happened

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

Projected vs produced

Expected goals
Angers The model projected 1.35 Produced 1.66 Difference +0.31
Stade Rennais The model projected 1.48 Produced 1.54 Difference +0.06

Angers produced 0.31 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Angers Stade Rennais
Shots
19
18
On target
3
6
Inside the box
12
15
xG per shot
0.09
0.08
Open play xG
0.76
1.36
Set-piece xG
0.94
0.09
Penalties
—
—

Angers's shots add up to 1.70 xG and Stade Rennais's to 1.45; the published figures are 1.66 and 1.54.

Shot map

Both teams shown attacking the same goal for comparison.

Angers · Mamadou Usman Simbakoli · 90' · No goal · 4 m · 0.28 xG Stade Rennais · Esteban Lepaul · 5' · No goal · 5 m · 0.27 xG Angers · Amine El Ouazzani · 34' · No goal · 5 m · 0.23 xG Stade Rennais · Ludovic Blas · 23' · No goal · 13 m · 0.20 xG Angers · Ousmane Camara · 3' · No goal · 5 m · 0.18 xG Angers · Amine El Ouazzani · 18' · No goal · 7 m · 0.14 xG Stade Rennais · Esteban Lepaul · 45' · No goal · 8 m · 0.14 xG Stade Rennais · Mahdi Camara · 44' · No goal · 16 m · 0.12 xG Stade Rennais · Ludovic Blas · 56' · No goal · 16 m · 0.12 xG Angers · Anthony Bermont · 20' · No goal · 8 m · 0.11 xG Stade Rennais · Jordan Lefort · 17' · Goal · 6 m · 0.10 xG Angers · Mamadou Usman Simbakoli · 88' · No goal · 8 m · 0.10 xG Stade Rennais · Przemysław Frankowski · 9' · Goal · 13 m · 0.09 xG Angers · Amine El Ouazzani · 45' · No goal · 19 m · 0.09 xG Angers · Anthony Bermont · 20' · No goal · 13 m · 0.08 xG Stade Rennais · Esteban Lepaul · 31' · No goal · 15 m · 0.08 xG Angers · Carlens Arcus · 55' · No goal · 13 m · 0.08 xG Stade Rennais · Ludovic Blas · 51' · No goal · 13 m · 0.07 xG Angers · Mamadou Usman Simbakoli · 90' · No goal · 9 m · 0.07 xG Angers · Yassin Belkhdim · 45' · No goal · 19 m · 0.06 xG Angers · Carlens Arcus · 35' · Goal · 9 m · 0.05 xG Angers · Jim Allevinah · 1' · No goal · 15 m · 0.04 xG Angers · Amine Sbai · 18' · No goal · 22 m · 0.04 xG Stade Rennais · Sebastian Szymański · 21' · No goal · 19 m · 0.04 xG Angers · Amine Sbai · 37' · No goal · 15 m · 0.04 xG Angers · Amine Sbai · 72' · No goal · 20 m · 0.04 xG Stade Rennais · Issa Soumaré · 87' · No goal · 10 m · 0.04 xG Angers · Joseph Kalulu · 90' · No goal · 22 m · 0.04 xG Stade Rennais · Mahdi Camara · 13' · No goal · 10 m · 0.03 xG Stade Rennais · Anthony Rouault · 57' · No goal · 10 m · 0.03 xG Stade Rennais · Eliezer Mayenda · 78' · No goal · 9 m · 0.03 xG Stade Rennais · Esteban Lepaul · 79' · No goal · 7 m · 0.03 xG Angers · Branco Van den Boomen · 47' · No goal · 27 m · 0.02 xG Stade Rennais · Esteban Lepaul · 58' · No goal · 35 m · 0.02 xG Stade Rennais · Eliezer Mayenda · 80' · No goal · 15 m · 0.02 xG Stade Rennais · Esteban Lepaul · 81' · No goal · 11 m · 0.02 xG Angers · Branco Van den Boomen · 72' · No goal · 30 m · 0.01 xG

All shots

37 shots · 3.15 xG

Hover, focus or tap a shot to read it.

  • Angers
  • Stade Rennais
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
Angers

1.29 xG created 1.91 xGA

  • L 0.70 created, 2.78 conceded against Paris Saint-Germain
  • L 2.20 created, 2.03 conceded against Auxerre
  • D 0.59 created, 2.02 conceded against RC Strasbourg
  • D 0.68 created, 1.57 conceded against Stade Brestois
  • L 1.99 created, 1.24 conceded against Lille
  • W 1.55 created, 1.81 conceded against Auxerre
Stade Rennais

1.73 xG created 2.45 xGA

  • W 1.30 created, 2.17 conceded against Nantes
  • L 0.84 created, 3.17 conceded against Olympique Lyonnais
  • W 1.77 created, 1.20 conceded against Paris FC
  • L 2.49 created, 2.92 conceded against Olympique de Marseille
  • D 0.87 created, 2.16 conceded against Paris Saint-Germain
  • W 3.12 created, 3.06 conceded against Le Mans

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

Head to head

Angers: 0 won · 1 drawn · 1 lost

Pre-match model & market record

3 opportunities flagged0 won3 lost

  • Lost
  • Lost
  • Lost
View pre-match record
The outcomes the model flagged on Angers against Stade Rennais before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Angers to win 4.00 +28.5% Lost
Draw 3.75 +10.7% Lost
Under 2.5 goals 2.30 +3.2% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
Angers 32.1% 23.5% +8.6 pp 3.11
Draw 29.5% 25.1% +4.4 pp 3.39
Stade Rennais 38.4% 51.4% −13.0 pp 2.61

Other markets

Outcome Model Market Difference Fair odds
Both teams to score 62.9% 58.9% +4.0 pp 1.59
Both teams not to score 37.1% 41.1% −4.0 pp 2.69
Over 1.5 goals 81.3% 78.9% +2.4 pp 1.23
Under 1.5 goals 18.7% 21.1% −2.4 pp 5.36
Over 2.5 goals 55.1% 58.7% −3.6 pp 1.81
Under 2.5 goals 44.9% 41.3% +3.6 pp 2.23

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)
Angers sample
20 matches
Stade Rennais sample
20 matches
Computed
3 hours before kick-off
Prices taken
3 hours 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.