Bundesliga · Matchweek 20
Andrej Kramarić 42' (pen)
Andrej Kramarić 45'
Diogo Leite 47' (OG)
HT 2:0
Rani Khedira 68'
Sat, 31 Jan 2026, 14:30 (UK) · PreZero Arena, Sinsheim
1899 Hoffenheim · 42 pts|Union Berlin · 24 pts

Union Berlin edged xG (1.37–1.84) but 1899 Hoffenheim took the win.

Player of the matchAndrej Kramarić8.0Decisive moment42' Andrej Kramarić+0.9

1899 Hoffenheim 3-1 Union Berlin

Key numbers

  • Possession 59% – 41%
  • Shots 9 (4 on target) – 16 (3)
  • Decisive moment: 42' Andrej Kramarić, FN xPts +0.9
Player of the match
Andrej Kramarić 8.0Dominant

Highest FN Score on the pitch: 8.0 (Dominant)

Game state

1-02-03-03-1
1899 Hoffenheim ahead 48 min · level 42 min · Union Berlin ahead 0 min

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.

42' Andrej Kramarić Pen goal +0.9
45' Andrej Kramarić Goal · scorer +0.3 · assist Bazoumana Touré +0.1 +0.4
47' Diogo Leite Own goal −0.1
68' Rani Khedira Goal 0.0
1899 Hoffenheim Expected (last two seasons) 1.7Own moments +1.3Opponent moments 0.0Time effect 0.0→ League points won 3
Union Berlin Expected (last two seasons) 1.0Own moments −0.1Opponent moments −1.0Time effect +0.1→ League points won 0

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

1899 HoffenheimUnion Berlin
59%Possession41%
1.37Expected goals (xG)1.84
0.15xG per shot0.12
9Shots16
4Shots on target3
44%Shots on target %19%
7Shots in box12
449Passes286
78%Pass accuracy62%
3Corners10
2Saves2
11Fouls18
2Yellow cards2
3Offsides0

Compared with usual

1899 Hoffenheim

21 matches this season, all competitions baseline
This matchAvg
Goals32.1
Conceded11.1
xG1.371.4
xG against1.841.3
Shots912.9
On target45
Shots faced1612.5
xG per shot0.150.11
Possession59%53.7%
Passes449470.4
Pass accuracy78%80%
Corners35.2
Fouls1115

Union Berlin

22 matches this season, all competitions baseline
This matchAvg
Goals11.5
Conceded31.5
xG1.841.2
xG against1.371.2
Shots1614
On target34.3
Shots faced912.9
xG per shot0.120.09
Possession41%40.5%
Passes286341.1
Pass accuracy62%71.3%
Corners105.4
Fouls1813.2

Timeline

  • 8' Yellow Albian Hajdari
  • 21' Yellow Stanley N'Soki
  • 42' Goal Andrej Kramarić (pen) league goal #7
  • 45' Goal Andrej Kramarić league goal #8 assist Bazoumana Touré
  • 46' Sub Tim Lemperle → Max Moerstedt
  • 47' Goal Diogo Leite (OG)
  • 54' Sub Stanley N'Soki → Derrick Köhn
  • 54' Sub Woo-Yeong Jeong → András Schäfer
  • 54' Sub Oliver Burke → Ilyas Ansah
  • 57' Yellow Andrej Ilić
  • 68' Goal Rani Khedira league goal #4
  • 70' VAR Rani Khedira
  • 75' Sub Diogo Leite → Livan Burcu
  • 78' Sub Fisnik Asllani → Ihlas Bebou
  • 83' Sub Andrej Kramarić → Alexander Prass
  • 83' Sub Aljoscha Kemlein → Alex Král
  • 84' Yellow Alexander Prass
  • 90+1' Sub Bazoumana Touré → Kevin Akpoguma

Category leaders

  • Key passesJanik Haberer4
  • Duels wonOzan Kabak14/22
  • DribblesBazoumana Touré3/5
  • Defensive actionsDiogo Leite6
  • ShotsAndrej Kramarić5 (on target 3)
  • Fouls wonVladimír Coufal5

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.