xgEdge

Saturday, 19/09/2026 at 20:45

Full time
Match report · Ligue 1

Olympique Lyonnais 4:0 Stade Rennais

Olympique Lyonnais Home 3.13 xG · 15 shots
Stade Rennais Away 1.37 xG · 13 shots
40 The scoreline reflected the chances

Olympique Lyonnais were the model's likeliest winner before kick-off at 42%. They won 4–0. The biggest difference was Olympique Lyonnais's attack: 3.13 xG against 1.53 projected (+1.60).

Goals

  1. 7' Ernest Nuamah Olympique Lyonnais · 0.21 xG chance 1–0
  2. 30' Ernest Nuamah Olympique Lyonnais · 0.44 xG chance 2–0
  3. 48' Zachary Athekame Olympique Lyonnais · 0.91 xG chance 3–0
  4. 76' Corentin Tolisso Olympique Lyonnais · 0.12 xG chance 4–0

The model against the result

priced before kick-off
Olympique Lyonnais
42% What happened
Draw
30%
Stade Rennais
28%

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

Projected vs produced

Expected goals
Olympique Lyonnais The model projected 1.53 Produced 3.13 Difference +1.60
Stade Rennais The model projected 1.25 Produced 1.37 Difference +0.12

Olympique Lyonnais produced 1.60 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Olympique Lyonnais Stade Rennais
Shots
15
13
On target
9
3
Inside the box
10
9
xG per shot
0.21
0.11
Open play xG
2.96
1.25
Set-piece xG
0.19
0.17
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: 3.16 for Olympique Lyonnais and 1.40 for Stade Rennais.

Shot map

Both teams shown attacking the same goal for comparison.

Olympique Lyonnais · Zachary Athekame · 48' · Goal · 1 m · 0.91 xG Olympique Lyonnais · Ernest Nuamah · 30' · Goal · 12 m · 0.44 xG Olympique Lyonnais · Ernest Nuamah · 20' · No goal · 9 m · 0.43 xG Stade Rennais · Mahdi Camara · 85' · No goal · 10 m · 0.40 xG Stade Rennais · Esteban Lepaul · 78' · No goal · 5 m · 0.28 xG Stade Rennais · Valentin Rongier · 34' · No goal · 8 m · 0.25 xG Olympique Lyonnais · Loïs Openda · 41' · No goal · 12 m · 0.22 xG Olympique Lyonnais · Ernest Nuamah · 7' · Goal · 10 m · 0.21 xG Olympique Lyonnais · Ernest Nuamah · 61' · No goal · 4 m · 0.19 xG Olympique Lyonnais · Pavel Šulc · 45' · No goal · 8 m · 0.17 xG Stade Rennais · Esteban Lepaul · 85' · No goal · 9 m · 0.14 xG Olympique Lyonnais · Corentin Tolisso · 90' · No goal · 14 m · 0.13 xG Olympique Lyonnais · Corentin Tolisso · 76' · Goal · 19 m · 0.12 xG Olympique Lyonnais · Felix Bacher · 11' · No goal · 8 m · 0.09 xG Stade Rennais · Esteban Lepaul · 90' · No goal · 12 m · 0.07 xG Olympique Lyonnais · Ernest Nuamah · 35' · No goal · 13 m · 0.06 xG Stade Rennais · Przemysław Frankowski · 4' · No goal · 20 m · 0.05 xG Stade Rennais · Charlie Cresswell · 15' · No goal · 9 m · 0.05 xG Olympique Lyonnais · Ernest Nuamah · 18' · No goal · 21 m · 0.05 xG Olympique Lyonnais · Khalis Merah · 66' · No goal · 22 m · 0.05 xG Stade Rennais · Arnaud Nordin · 15' · No goal · 28 m · 0.04 xG Olympique Lyonnais · Loïs Openda · 23' · No goal · 20 m · 0.04 xG Stade Rennais · Arnaud Nordin · 43' · No goal · 14 m · 0.04 xG Olympique Lyonnais · Loïs Openda · 55' · No goal · 26 m · 0.04 xG Stade Rennais · Ludovic Blas · 87' · No goal · 19 m · 0.04 xG Stade Rennais · Eliezer Mayenda · 15' · No goal · 11 m · 0.03 xG Stade Rennais · Charlie Cresswell · 47' · No goal · 13 m · 0.02 xG Stade Rennais · Quentin Merlin · 9' · No goal · 29 m · 0.01 xG

All shots

28 shots · 4.57 xG

Hover, focus or tap a shot to read it.

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

Recent form

Last 6 · xG per match
Olympique Lyonnais

1.54 xG created 1.19 xGA

  • L 1.54 created, 1.13 conceded against Toulouse
  • L 1.91 created, 1.54 conceded against RC Lens
  • W 0.70 created, 2.77 conceded against Toulouse
  • D 1.75 created, 0.69 conceded against Le Havre
  • W 2.85 created, 0.71 conceded against Auxerre
  • D 0.50 created, 0.30 conceded against Paris FC
Stade Rennais

1.95 xG created 2.06 xGA

  • 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
  • W 1.54 created, 1.66 conceded against Angers
  • W 1.88 created, 1.34 conceded against Olympique de Marseille

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

Head to head

Olympique Lyonnais: 1 won · 0 drawn · 1 lost

Pre-match model & market record

5 opportunities flagged1 won4 lost

  • Lost
  • Lost
  • Lost
  • Lost
  • Won
View pre-match record
The outcomes the model flagged on Olympique Lyonnais 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
Under 2.5 goals 2.50 +14.4% Lost
Draw 3.70 +9.2% Lost
Olympique Lyonnais at most 1 goal 2.00 +6.3% Lost
Olympique Lyonnais not to score 5.50 +3.9% Lost
Stade Rennais at most 1 goal 1.62 +3.0% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Olympique Lyonnais 42.2% 45.0% −2.8 pp 2.37
Draw 29.5% 25.5% +4.0 pp 3.39
Stade Rennais 28.3% 29.5% −1.2 pp 3.53

Other markets

Outcome Model Market Difference Fair odds
Olympique Lyonnais to score 81.1% 82.8% −1.7 pp 1.23
Olympique Lyonnais not to score 18.9% 17.2% +1.7 pp 5.29
Stade Rennais to score 74.3% 75.0% −0.7 pp 1.35
Stade Rennais not to score 25.7% 25.0% +0.7 pp 3.89
Both teams to score 61.9% 62.5% −0.6 pp 1.61
Both teams not to score 38.1% 37.5% +0.6 pp 2.63
Olympique Lyonnais 2+ goals 46.8% 53.7% −6.8 pp 2.13
Olympique Lyonnais at most 1 goal 53.2% 46.3% +6.8 pp 1.88
Stade Rennais 2+ goals 36.2% 42.3% −6.1 pp 2.76
Stade Rennais at most 1 goal 63.8% 57.7% +6.1 pp 1.57
Over 1.5 goals 80.8% 81.1% −0.2 pp 1.24
Under 1.5 goals 19.2% 18.9% +0.2 pp 5.22
Over 2.5 goals 54.3% 62.0% −7.7 pp 1.84
Under 2.5 goals 45.7% 38.0% +7.7 pp 2.19

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