Bundesliga · Matchweek 20
Robin Koch 50'
HT 0:2
Arthur 26'
Malik Tillman 33'
Aleix García 90'
Sat, 31 Jan 2026, 14:30 (UK) · Deutsche Bank Park, Frankfurt
Eintracht Frankfurt · 27 pts|Bayer Leverkusen · 35 pts

Bayer Leverkusen won on the scoreboard and on xG (1.1–1.15).

Player of the matchAleix García8.5Decisive moment26' Arthur+0.7

Eintracht Frankfurt 1-3 Bayer Leverkusen

Key numbers

  • Possession 42% – 58%
  • Shots 11 (4 on target) – 11 (4)
  • Decisive moment: 26' Arthur, FN xPts +0.7
Player of the match
Aleix García 8.5Dominant

Highest FN Score on the pitch: 8.5 (Dominant)

Game state

0-10-21-21-3
Eintracht Frankfurt ahead 0 min · level 26 min · Bayer Leverkusen ahead 64 min
  • Eintracht Frankfurt: Red card 70' → ~20 min a player down
  • Ernest Poku — off the bench 8 min · 0G 1A

FN xPts — what each moment was worth

How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.

26' Arthur Goal · scorer +0.5 · assist Alejandro Grimaldo +0.2 +0.7
33' Malik Tillman Goal · scorer +0.3 · assist Christian Kofane +0.1 +0.4
50' Robin Koch Goal +0.3
70' Ellyes Skhiri Red card −0.1
90' Aleix García Goal · assist Ernest Poku +0.1
Eintracht Frankfurt Expected (last two seasons) 1.1Own moments +0.2Opponent moments −1.0Time effect −0.3→ League points won 0
Bayer Leverkusen Expected (last two seasons) 1.7Own moments +1.2Opponent moments −0.2Time effect +0.3→ League points won 3

Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.

How FN Score and FN xPts work →

Match stats

Eintracht FrankfurtBayer Leverkusen
42%Possession58%
1.1Expected goals (xG)1.15
0.1xG per shot0.1
11Shots11
4Shots on target4
36%Shots on target %36%
9Shots in box5
510Passes740
86%Pass accuracy91%
8Corners3
1Saves3
11Fouls10
3Yellow cards1
0Offsides3

Compared with usual

Eintracht Frankfurt

29 matches this season, all competitions baseline
This matchAvg
Goals11.9
Conceded32.2
xG1.11.1
xG against1.151.6
Shots1111.4
On target44.3
Shots faced1113.2
xG per shot0.10.11
Possession42%49.9%
Passes510474.3
Pass accuracy86%81.1%
Corners83.9
Fouls1110.2

Bayer Leverkusen

29 matches this season, all competitions baseline
This matchAvg
Goals32
Conceded11.4
xG1.151.6
xG against1.11.2
Shots1114
On target45.1
Shots faced1113.1
xG per shot0.10.12
Possession58%57.1%
Passes740591.2
Pass accuracy91%87.6%
Corners34.9
Fouls108.9

Timeline

  • 7' VAR Arnaud Kalimuendo
  • 26' Goal Arthur league goal #1 assist Alejandro Grimaldo
  • 33' Goal Malik Tillman league goal #4 assist Christian Kofane
  • 50' Goal Robin Koch league goal #3
  • 53' Yellow Rasmus Kristensen
  • 57' Sub Hugo Larsson → Oscar Højlund
  • 63' Yellow Alejandro Grimaldo
  • 64' Sub Martin Terrier → Jonas Hofmann
  • 64' Sub Ezequiel Fernández → Exequiel Palacios
  • 69' Yellow Ellyes Skhiri
  • 69' Sub Ritsu Doan → Ayoube Amaimouni-Echghouyab
  • 69' Sub Mario Götze → Ansgar Knauff
  • 70' Second yellow Ellyes Skhiri
  • 72' Sub Christian Kofane → Patrik Schick
  • 82' Sub Malik Tillman → Ernest Poku
  • 84' Sub Nathaniel Brown → Jean-Mattéo Bahoya
  • 90' Goal Aleix García league goal #1 assist Ernest Poku

Category leaders

  • Key passesAlejandro Grimaldo2
  • Duels wonArthur8/13
  • DribblesRitsu Doan2/4
  • Defensive actionsRobin Koch6
  • Fouls wonArthur Theate4

Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.