Championship · 2025Fri, 3 Apr 2026, 11:30 UTCFull timeRiversideFull-time recap
12Full-time recap

This page describes the completed match context. The result is not presented as a prior forecast.

This match

Match statistics

MetricMiddlesbroughMillwall
Shots32 shots/match11 shots/match
Shots on target5 shots/match5 shots/match
Expected goals3.12 xG/match0.79 xG/match
Possession61%39%
Corners17 corners/match6 corners/match
Fouls4 fouls/match14 fouls/match

Every shot

Shot map

Every recorded shot, placed where it was taken and sized by its expected-goals value. Each team attacks towards its own end of the pitch.

Callum Brittain · Middlesbrough · 42′ · 0.01 xG · off target or blockedMihailo Ivanović · Millwall · 30′ · 0.02 xG · off target or blockedDavid Strelec · Middlesbrough · 33′ · 0.02 xG · off target or blockedCallum Brittain · Middlesbrough · 59′ · 0.02 xG · off target or blockedFemi Azeez · Millwall · 62′ · 0.02 xG · on targetLuke Ayling · Middlesbrough · 67′ · 0.02 xG · off target or blockedBilly Mitchell · Millwall · 90′ · 0.02 xG · off target or blockedCallum Brittain · Middlesbrough · 17′ · 0.03 xG · on targetCallum Brittain · Middlesbrough · 22′ · 0.03 xG · off target or blockedTommy Conway · Middlesbrough · 74′ · 0.03 xG · off target or blockedLuke Ayling · Middlesbrough · 5′ · 0.04 xG · off target or blockedRiley McGree · Middlesbrough · 38′ · 0.04 xG · off target or blockedCallum Brittain · Middlesbrough · 66′ · 0.04 xG · on targetLuke Ayling · Middlesbrough · 67′ · 0.04 xG · off target or blockedBarry Bannan · Millwall · 69′ · 0.04 xG · off target or blockedAlan Browne · Middlesbrough · 90′ · 0.04 xG · off target or blockedTommy Conway · Middlesbrough · 61′ · 0.05 xG · off target or blockedJake Cooper · Millwall · 64′ · 0.05 xG · on targetJosh Coburn · Millwall · 86′ · 0.05 xG · goalAlan Browne · Middlesbrough · 38′ · 0.06 xG · off target or blockedTommy Conway · Middlesbrough · 2′ · 0.08 xG · off target or blockedCasper De Norre · Millwall · 6′ · 0.08 xG · on targetCamiel Neghli · Millwall · 16′ · 0.08 xG · off target or blockedTristan Crama · Millwall · 53′ · 0.08 xG · off target or blockedAlex Bangura · Middlesbrough · 90′ · 0.08 xG · off target or blockedDael Fry · Middlesbrough · 38′ · 0.09 xG · on targetDael Fry · Middlesbrough · 38′ · 0.09 xG · off target or blockedDael Fry · Middlesbrough · 43′ · 0.09 xG · off target or blockedAdilson Malanda · Middlesbrough · 8′ · 0.10 xG · off target or blockedRiley McGree · Middlesbrough · 29′ · 0.10 xG · off target or blockedRiley McGree · Middlesbrough · 87′ · 0.10 xG · off target or blockedAlex Bangura · Middlesbrough · 90′ · 0.10 xG · off target or blockedAlan Browne · Middlesbrough · 3′ · 0.12 xG · off target or blockedRiley McGree · Middlesbrough · 29′ · 0.12 xG · off target or blockedTommy Conway · Middlesbrough · 73′ · 0.12 xG · off target or blockedZak Sturge · Millwall · 63′ · 0.13 xG · off target or blockedMatt Targett · Middlesbrough · 52′ · 0.15 xG · on targetRiley McGree · Middlesbrough · 90′ · 0.16 xG · off target or blockedJosh Coburn · Millwall · 58′ · 0.20 xG · goalRiley McGree · Middlesbrough · 44′ · 0.21 xG · off target or blockedAidan Morris · Middlesbrough · 75′ · 0.21 xG · off target or blockedDael Fry · Middlesbrough · 5′ · 0.35 xG · off target or blockedDael Fry · Middlesbrough · 26′ · 0.40 xG · goal
  • off target
  • on target
  • goal
  • penalty
  • size = xG

Middlesbrough: 32 shots, 5 on target, 3.14 xG. Millwall: 11 shots, 5 on target, 0.77 xG.

How the match built

Expected-goals timeline

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

01.753.50′HT90′Dael Fry · Middlesbrough · 26′Josh Coburn · Millwall · 58′Josh Coburn · Millwall · 86′

The step line is cumulative expected goals; circles mark goals. Final: Middlesbrough 3.14 xG · Millwall 0.77 xG.

30-second read

What the record shows

The clearest recorded pattern is: Middlesbrough's last-five shots average is above their season average. A second useful context is: Middlesbrough's shot volume and the opposing shot-allowance context sit above their competition baselines. Limitation: Recent samples and important metric coverage meet the strong evidence threshold.

Middlesbrough's recent record differs from the season

moderate

Middlesbrough's last-five shots average is above their season average.

22.6 shots/matchShotsLast 5 · Season15.7 shots/match
Evidence and caveat

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

Window: last_5 versus season

MetricLast 5SeasonBaseline
Shots22.6 shots/match15.7 shots/match12.4 shots/match

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

Middlesbrough show a distinct attacking-volume record

moderate

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

15.7 shots/matchShotsMiddlesbrough · Millwall12.6 shots/match
Evidence and caveat

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

Window: season

MetricMiddlesbroughMillwallBaseline
Shots15.7 shots/match12.6 shots/match12.4 shots/match
Shots against9.9 shots/match13.2 shots/match12.4 shots/match

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

The teams have contrasting possession records

strong

Middlesbrough have recorded the higher season possession share.

60%PossessionMiddlesbrough · Millwall46.5%
Evidence and caveat

Comparison: The recorded possession gap is 13.5 percentage points.

Window: season

MetricMiddlesbroughMillwallBaseline
Possession60%46.5%51.1%

Caveat: Possession share does not show where possession occurred or how chances were created.

History

Head-to-head

Recent meetings between these teams — history, not a forecast.

1Middlesbrough
0Draws
0Millwall
MillwallMiddlesbrough · Championship03

Metric comparison

Values, percentiles and samples

Where the edge is

Middlesbrough favored in 9 of 14 directional metrics · Millwall in 2 · 3 too close

1.5 goals/matchGoals scoredseason · 40/401.38 goals/match
0.98 goals/matchGoals allowedseason · 40/401.13 goals/match
1.4 xG/matchExpected goalsseason · 40/401.31 xG/match
0.85 xG/matchExpected goals allowedseason · 40/401.25 xG/match
15.7 shots/matchShotsseason · 39/3912.6 shots/match
9.9 shots/matchShots allowedseason · 39/3913.2 shots/match
4.64 shots/matchShots on targetseason · 39/394.08 shots/match
3.23 shots/matchShots on target allowedseason · 39/394.05 shots/match
60%Possessionseason · 39/3946.5%
6.77 corners/matchCornersseason · 39/395.62 corners/match
4.28 corners/matchCorners allowedseason · 39/395.46 corners/match
Cardsseason · 0/0
9.46 fouls/matchFoulsseason · 39/3813 fouls/match
Passesseason · 0/0
Pass accuracyseason · 0/0
Shots inside boxseason · 0/0
Blocked shotsseason · 0/0
Goalkeeper savesseason · 0/0
Offsidesseason · 0/0
30%Clean-sheet frequencyseason · 40/4038%
75%Scoring frequencyseason · 40/4083%

Style profile

How the teams compare

Competition percentiles describe recorded style; they do not rank likely outcomes.

Possession control

Relative share of recorded possession within the competition.

Middlesbrough97.9
Millwall31.2
0–100 competition percentile · coverage 98%

Attacking volume

Recorded shot and scoring volume, expressed as competition percentiles.

Middlesbrough85.4
Millwall62.5
0–100 competition percentile · coverage 98%

Defensive resistance

Lower recorded scoring and shot allowance produces a higher descriptive percentile.

Middlesbrough96.5
Millwall50.7
0–100 competition percentile · coverage 98%

Directness proxy

Shots per possession point; a descriptive transition/directness proxy, not an outcome score.

Middlesbrough68.8
Millwall85.4
0–100 competition percentile · coverage 98%

Physicality

Recorded fouls and cards relative to competition peers.

Middlesbrough6.2
Millwall97.9
0–100 competition percentile · coverage 48%

Set-piece relevance

Corner volume relative to competition peers.

Middlesbrough97.9
Millwall72.9
0–100 competition percentile · coverage 98%

Tempo and pressure proxy

Combined event-volume percentiles for shots, corners and fouls.

Middlesbrough70.8
Millwall74.5
0–100 competition percentile · coverage 97%

Recent form

Season, last 10 and last 5

Window

Last 5

5 / 5 matches
1.2 goals/matchGoals scored5/51.6 goals/match
0.8 goals/matchGoals allowed5/51 goals/match
2.52 xG/matchExpected goals5/51.33 xG/match
22.6 shots/matchShots5/511.4 shots/match
5.8 shots/matchShots on target5/53.8 shots/match
69.6%Possession5/543.2%
11.2 corners/matchCorners5/56.2 corners/match
Cards0/0
6.6 fouls/matchFouls5/511.4 fouls/match

Window

Last 10

10 / 10 matches
1.3 goals/matchGoals scored10/101.8 goals/match
1 goals/matchGoals allowed10/100.9 goals/match
1.96 xG/matchExpected goals10/101.25 xG/match
20.1 shots/matchShots10/1011.6 shots/match
5.6 shots/matchShots on target10/103.8 shots/match
65.7%Possession10/1047.4%
8.5 corners/matchCorners10/106.5 corners/match
Cards0/0
9 fouls/matchFouls10/1012.3 fouls/match

Window

Season

40 / 40 matches
1.5 goals/matchGoals scored40/401.38 goals/match
0.98 goals/matchGoals allowed40/401.13 goals/match
1.4 xG/matchExpected goals40/401.31 xG/match
15.7 shots/matchShots39/3912.6 shots/match
4.64 shots/matchShots on target39/394.08 shots/match
60%Possession39/3946.5%
6.77 corners/matchCorners39/395.62 corners/match
Cards0/0
9.46 fouls/matchFouls39/3813 fouls/match

Venue split

Home and away samples

Window

Home team at home / away team away

20 / 20 matches
1.4 goals/matchGoals scored20/201.35 goals/match
0.8 goals/matchGoals allowed20/201.1 goals/match
1.48 xG/matchExpected goals20/201.23 xG/match
16.8 shots/matchShots20/2011.6 shots/match
4.9 shots/matchShots on target20/203.7 shots/match
60%Possession20/2044.3%
7.35 corners/matchCorners20/205.1 corners/match
Cards0/0
9.45 fouls/matchFouls20/1914.8 fouls/match

Schedule context

Rest and recent workload

13 daysRest before fixtureprevious completed fixtures · 1/113 days
1 matchesMatches in previous 14 daysprevious completed fixtures · 1/11 matches

Evidence quality

How much supports this analysis

Grade A · Strong evidenceready
Season samples40 / 40home / away teams
Recent samples5 / 5last-five windows
FreshnessLess than one dayfrom nearest prior match
  • 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.
Analysis cutoff: Fri, 3 Apr 2026, 15:30 UTC · analysis-v4

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.

Create a graphic from this match