Bundesliga · 2023

Borussia M'gladbach 2–1 TSG Hoffenheim · Bundesliga

2–1Historical match

A completed match from a finished season. This page is the record of what happened.

Match at a glance

Borussia M'gladbach won 2–1.

Shots
919
Shots on target
35
Expected goals
1.651.41
Possession
49%51%

Full time

What the match recorded

Borussia M'gladbach beat TSG Hoffenheim 2–1. Recorded in this match (Borussia M'gladbach – TSG Hoffenheim): shots 9–19, shots on target 3–5, expected goals 1.65–1.41, possession 49%–51%. This is what was recorded. It is not a claim that the result was foreseeable.

Pre-match record

What the data showed before kick-off. Kept for reference; it did not know the result.

Borussia M'gladbach's recent record differs from the season

moderate

Borussia M'gladbach's last-five goals scored average is above their season average.

2.6 goals/match ▲Goals forLast 5 · Season2.08 goals/match
Evidence and caveat

Comparison: An unweighted last-five average is compared with the unweighted season average.

Window: last_5 versus season

MetricLast 5SeasonBaseline
Goals for2.6 goals/match2.08 goals/match1.44 goals/match

Caveat: Five matches are sensitive to opponent mix and isolated match states.

TSG Hoffenheim show a distinct attacking-volume record

weak

TSG Hoffenheim's shot volume and the opposing shot-allowance context sit above their competition baselines.

13.5 shots/match ▲ShotsBorussia M'gladbach · TSG Hoffenheim13.5 shots/match
Evidence and caveat

Comparison: Team shot volume is paired with the opponent's recorded shot allowance.

Window: season

MetricBorussia M'gladbachTSG HoffenheimBaseline
Shots13.5 shots/match13.5 shots/match12.9 shots/match
Shots against17.8 shots/match14.7 shots/match14.6 shots/match

Caveat: Shot volume describes activity; it does not establish finishing quality or a match outcome.

This match

Match statistics

  • Shots9 shots19 shotsBorussia M'gladbach 9 shots, TSG Hoffenheim 19 shots
  • Shots on target3 shots5 shotsBorussia M'gladbach 3 shots, TSG Hoffenheim 5 shots
  • Expected goals1.65 xG1.41 xGBorussia M'gladbach 1.65 xG, TSG Hoffenheim 1.41 xG
  • Possession49%51%Borussia M'gladbach 49%, TSG Hoffenheim 51%
  • Corners6 corners3 cornersBorussia M'gladbach 6 corners, TSG Hoffenheim 3 corners
  • Fouls11 fouls15 foulsBorussia M'gladbach 11 fouls, TSG Hoffenheim 15 fouls

Every shot

Shot map

Every recorded shot, placed where it was taken and sized by its expected-goals value. Arrows show each team’s attacking direction.

Anton Stach · TSG Hoffenheim · 4′ · 0.01 xG · off target or blockedAnton Stach · TSG Hoffenheim · 45′ · 0.01 xG · off target or blockedRobert Skov · TSG Hoffenheim · 9′ · 0.02 xG · off target or blockedJoe Scally · Borussia M'gladbach · 36′ · 0.02 xG · off target or blockedRocco Reitz · Borussia M'gladbach · 37′ · 0.02 xG · off target or blockedRobert Skov · TSG Hoffenheim · 45′ · 0.02 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 52′ · 0.02 xG · off target or blockedMaximilian Beier · TSG Hoffenheim · 56′ · 0.02 xG · off target or blockedMarius Bülter · TSG Hoffenheim · 69′ · 0.02 xG · off target or blockedUmut Tohumcu · TSG Hoffenheim · 35′ · 0.03 xG · off target or blockedWout Weghorst · TSG Hoffenheim · 83′ · 0.03 xG · off target or blockedRobin Hack · Borussia M'gladbach · 90′ · 0.03 xG · on targetFinn Ole Becker · TSG Hoffenheim · 18′ · 0.04 xG · off target or blockedAnton Stach · TSG Hoffenheim · 40′ · 0.04 xG · on targetAlassane Pléa · Borussia M'gladbach · 70′ · 0.04 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 45′ · 0.05 xG · off target or blockedMaximilian Beier · TSG Hoffenheim · 80′ · 0.05 xG · off target or blockedAnton Stach · TSG Hoffenheim · 19′ · 0.06 xG · on targetPavel Kadeřábek · TSG Hoffenheim · 19′ · 0.07 xG · off target or blockedPavel Kadeřábek · TSG Hoffenheim · 62′ · 0.10 xG · on targetOzan Kabak · TSG Hoffenheim · 19′ · 0.11 xG · off target or blockedAndrej Kramarić · TSG Hoffenheim · 71′ · 0.11 xG · off target or blockedAlassane Pléa · Borussia M'gladbach · 78′ · 0.11 xG · off target or blockedAnton Stach · TSG Hoffenheim · 75′ · 0.12 xG · off target or blockedWout Weghorst · TSG Hoffenheim · 79′ · 0.14 xG · on targetWout Weghorst · TSG Hoffenheim · 60′ · 0.38 xG · goalNathan N'Goumou · Borussia M'gladbach · 80′ · 0.55 xG · goalAlassane Pléa · Borussia M'gladbach · 58′ · 0.82 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Borussia M'gladbach: 9 shots, 3 on target, 1.66 xG. TSG Hoffenheim: 19 shots, 5 on target, 1.38 xG.

How the match built

Expected-goals timeline

Expected goals accumulated minute by minute. Circles mark the goals that were actually scored.

0120′HT90′Alassane Pléa · Borussia M'gladbach · 58′Nathan N'Goumou · Borussia M'gladbach · 80′Wout Weghorst · TSG Hoffenheim · 60′

The step line is cumulative expected goals; circles mark goals. Final: Borussia M'gladbach 1.66 xG · TSG Hoffenheim 1.38 xG.

History

Head-to-head

Recent meetings between these teams.

Last 5 meetings

3Borussia M'gladbach
1Draws
0TSG Hoffenheim
TSG Hoffenheim — Borussia M'gladbach · Bundesliga1–4
Borussia M'gladbach — TSG Hoffenheim · Bundesliga3–1
Borussia M'gladbach — TSG Hoffenheim · Bundesliga5–1
TSG Hoffenheim — Borussia M'gladbach · Bundesliga1–1

Head-to-Head & Recent Meetings

Metric comparison

Team comparison

Season averages, with the sample size beside each metric.

Where the edge is

Season: Borussia M'gladbach favored in 2 of 11 directional metrics · TSG Hoffenheim in 6 · 3 too close

led this metric higher value (descriptive) too close

Window

Season

Borussia M'gladbach13 matchesTSG Hoffenheim13 matches
2.08 goals/match ▲Goals scored13/131.92 goals/match
2.15 goals/matchGoals allowed13/13▲ 1.77 goals/match
1.58 xG/matchExpected goals13/13▲ 1.68 xG/match
13.5 shots/matchShots13/1313.5 shots/match
5.15 shots/match ▲Shots on target13/134.69 shots/match
46.9%Possession13/13● 49.6%
6.08 corners/match ●Corners13/134.08 corners/match
9.38 fouls/matchFouls13/1310.5 fouls/match

Evidence quality

How much supports this analysis

Grade A · Strong evidenceStrong evidence — limited
Season samples13 / 13home / away teams
Recent samples5 / 5last-five windows
FreshnessLess than one dayfrom nearest prior match
  • The fixture is outside the configured active season.
  • Recent samples and important metric coverage meet the strong evidence threshold.

Known unknowns

  • Lineups, injuries, suspensions and tactical changes are not available in the retained dataset.
  • Some metrics are unavailable or below their observation minimum: cards.
  • The fixture season differs from the competition's configured active season.
Analysis cutoff: Sat, 2 Dec 2023, 18:30 UTC · analysis-v4

Team rankings in Bundesliga

Make a graphic from this match

Creator Studio builds a branded post from this match's recorded data, with its evidence grade and source cutoff carried into the export.

Turn this match into a graphicReady-made from PitchMath data · No sign-up required