xgEdge

Sunday, 20/09/2026 at 15:30

Full time
Match report · Bundesliga

Bayer 04 Leverkusen 2:0 RB Leipzig

Bayer 04 Leverkusen Home 2.27 xG · 18 shots
RB Leipzig Away 0.97 xG · 12 shots
20 The scoreline reflected the chances

Bayer 04 Leverkusen were the model's likeliest winner before kick-off at 51%. They won 2–0. The biggest difference was RB Leipzig's attack: 0.97 xG against 1.41 projected (−0.44). Bayer 04 Leverkusen produced 2.27 xG against 2.02 projected (+0.25).

Goals

  1. 44' Patrik Schick Bayer 04 Leverkusen · 0.38 xG chance 1–0
  2. 57' Miguel Gutiérrez Bayer 04 Leverkusen · 0.14 xG chance 2–0

The model against the result

priced before kick-off
Bayer 04 Leverkusen
51% What happened
Draw
25%
RB Leipzig
24%

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

Projected vs produced

Expected goals
Bayer 04 Leverkusen The model projected 2.02 Produced 2.27 Difference +0.25
RB Leipzig The model projected 1.41 Produced 0.97 Difference -0.44

RB Leipzig produced 0.44 xG less than projected

Projected before kick-off Produced on the night

The shots behind it

Bayer 04 Leverkusen RB Leipzig
Shots
18
12
On target
6
3
Inside the box
14
7
xG per shot
0.12
0.07
Open play xG
2.11
0.54
Set-piece xG
0.12
0.30
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: 2.20 for Bayer 04 Leverkusen and 0.85 for RB Leipzig.

Shot map

Both teams shown attacking the same goal for comparison.

Bayer 04 Leverkusen · Moussa Diaby · 51' · No goal · 13 m · 0.53 xG Bayer 04 Leverkusen · Patrik Schick · 44' · Goal · 9 m · 0.38 xG RB Leipzig · Rômulo · 28' · No goal · 5 m · 0.30 xG Bayer 04 Leverkusen · Patrik Schick · 65' · No goal · 10 m · 0.25 xG RB Leipzig · Neil El Aynaoui · 8' · No goal · 10 m · 0.21 xG Bayer 04 Leverkusen · Aleix García · 19' · No goal · 15 m · 0.14 xG Bayer 04 Leverkusen · Miguel Gutiérrez · 57' · Goal · 15 m · 0.14 xG Bayer 04 Leverkusen · Ibrahim Maza · 56' · No goal · 9 m · 0.13 xG Bayer 04 Leverkusen · Ibrahim Maza · 85' · No goal · 9 m · 0.13 xG Bayer 04 Leverkusen · Patrik Schick · 75' · No goal · 15 m · 0.10 xG Bayer 04 Leverkusen · Moussa Diaby · 41' · No goal · 14 m · 0.09 xG Bayer 04 Leverkusen · Patrik Schick · 41' · No goal · 13 m · 0.08 xG RB Leipzig · Tidiam Gomis · 69' · No goal · 5 m · 0.07 xG Bayer 04 Leverkusen · Facundo Medina · 86' · No goal · 11 m · 0.07 xG Bayer 04 Leverkusen · Afonso Moreira · 37' · No goal · 19 m · 0.05 xG RB Leipzig · Neil El Aynaoui · 47' · No goal · 22 m · 0.05 xG RB Leipzig · Ezechiel Banzuzi · 10' · No goal · 26 m · 0.04 xG RB Leipzig · Willi Orbán · 32' · No goal · 9 m · 0.04 xG RB Leipzig · Neil El Aynaoui · 40' · No goal · 11 m · 0.04 xG RB Leipzig · Tidiam Gomis · 45' · No goal · 16 m · 0.03 xG Bayer 04 Leverkusen · Afonso Moreira · 62' · No goal · 3 m · 0.03 xG Bayer 04 Leverkusen · Ibrahim Maza · 86' · No goal · 16 m · 0.03 xG Bayer 04 Leverkusen · Moussa Diaby · 30' · No goal · 20 m · 0.02 xG RB Leipzig · Antonio Nusa · 38' · No goal · 13 m · 0.02 xG Bayer 04 Leverkusen · Aleix García · 50' · No goal · 22 m · 0.02 xG Bayer 04 Leverkusen · Ibrahim Maza · 83' · No goal · 22 m · 0.02 xG Bayer 04 Leverkusen · Afonso Moreira · 84' · No goal · 9 m · 0.02 xG RB Leipzig · Antonio Nusa · 87' · No goal · 21 m · 0.02 xG RB Leipzig · Brajan Gruda · 18' · No goal · 28 m · 0.01 xG RB Leipzig · Tidiam Gomis · 70' · No goal · 23 m · 0.01 xG

All shots

30 shots · 3.07 xG

Hover, focus or tap a shot to read it.

  • Bayer 04 Leverkusen
  • RB Leipzig
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
Bayer 04 Leverkusen

2.64 xG created 1.46 xGA

  • W 4.42 created, 1.17 conceded against RB Leipzig
  • L 0.54 created, 3.04 conceded against VfB Stuttgart
  • D 3.27 created, 1.79 conceded against Hamburger SV
  • L 1.88 created, 1.27 conceded against SV 07 Elversberg
  • W 3.11 created, 0.39 conceded against 1. FC Union Berlin
  • D 2.64 created, 1.11 conceded against FC Augsburg
RB Leipzig

1.95 xG created 1.63 xGA

  • L 1.17 created, 4.42 conceded against Bayer 04 Leverkusen
  • W 1.37 created, 0.79 conceded against FC St. Pauli
  • L 1.24 created, 1.41 conceded against SC Freiburg
  • W 3.96 created, 1.09 conceded against Borussia M'gladbach
  • L 1.50 created, 0.95 conceded against SV Werder Bremen
  • W 2.43 created, 1.10 conceded against Hamburger SV

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

Head to head

Bayer 04 Leverkusen: 2 won · 0 drawn · 0 lost

Pre-match model & market record

2 opportunities flagged1 won1 lost

  • Lost
  • Won
View pre-match record
The outcomes the model flagged on Bayer 04 Leverkusen against RB Leipzig before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Draw 4.20 +5.1% Lost
RB Leipzig at most 1 goal 1.80 +3.7% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Bayer 04 Leverkusen 50.8% 48.4% +2.3 pp 1.97
Draw 25.0% 22.5% +2.5 pp 4.00
RB Leipzig 24.2% 29.1% −4.8 pp 4.13

Other markets

Outcome Model Market Difference Fair odds
Bayer 04 Leverkusen to score 88.8% 86.4% +2.4 pp 1.13
Bayer 04 Leverkusen not to score 11.2% 13.6% −2.4 pp 8.96
RB Leipzig to score 78.5% 78.3% +0.1 pp 1.27
RB Leipzig not to score 21.5% 21.7% −0.1 pp 4.64
Both teams to score 71.0% 70.9% +0.0 pp 1.41
Both teams not to score 29.0% 29.1% −0.0 pp 3.44
Bayer 04 Leverkusen 2+ goals 62.2% 62.5% −0.3 pp 1.61
Bayer 04 Leverkusen at most 1 goal 37.8% 37.5% +0.3 pp 2.64
RB Leipzig 2+ goals 42.4% 48.5% −6.1 pp 2.36
RB Leipzig at most 1 goal 57.6% 51.5% +6.1 pp 1.74
Over 1.5 goals 89.1% 86.4% +2.7 pp 1.12
Under 1.5 goals 10.9% 13.6% −2.7 pp 9.16
Over 2.5 goals 68.9% 70.1% −1.2 pp 1.45
Under 2.5 goals 31.1% 29.9% +1.2 pp 3.22

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)
Bayer 04 Leverkusen sample
20 matches
RB Leipzig sample
20 matches
Computed
1 day before kick-off
Prices taken
1 day 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.