Saturday, 21/11/2026 at 16:00
22d 9h to kick-offMiddlesbrough – Bristol City
- Middlesbrough
- 65%
- Fair 1.54 Fair odds 1.54
- Draw
- 23%
- Fair 4.35 Fair odds 4.35
- Bristol City
- 12%
- Fair 8.24 Fair odds 8.24
No prices yet
No bookmaker has priced this match yet, so there is nothing to hold the model's numbers against. How this is decided →
- Middlesbrough 20/20
- Bristol City 20/20
- Model updated 30 October, 03:30
- Odds not yet available
Where the model disagrees with the market
Market odds are not available for this match yet.
Recent form
- D 1.52 created, 1.69 conceded against Millwall
- D 2.14 created, 1.23 conceded against Birmingham City
- W 0.90 created, 0.68 conceded against Wolverhampton
- W 2.57 created, 0.65 conceded against Stoke City
- D 2.71 created, 0.85 conceded against Cardiff City
- W 4.17 created, 0.91 conceded against Bolton Wanderers
- L 1.53 created, 0.53 conceded against Lincoln City
- W 1.47 created, 0.57 conceded against Watford
- D 1.47 created, 1.78 conceded against Charlton Athletic
- L 1.89 created, 0.15 conceded against Blackburn Rovers
- L 0.50 created, 1.18 conceded against Sheffield United
- D 0.78 created, 0.67 conceded against Stoke City
xG created xG conceded (xGA) W / D / L: the match result
Goals & scorelines
- Total goals
- 2.93
- Over 2.5 goals
- 58%
- Both teams to score
- 56%
- Middlesbrough 2+ goals
- 63%
- Middlesbrough clean sheet
- 39%
Most likely scorelines
No exact score is especially likely. The 3 most probable scorelines account for 35% of the model's distribution.
- 1:1
- 11.7%
- 2:1
- 11.6%
- 2:0
- 11.4%
Why the model favours Middlesbrough
Attack, defence and recent form all point to Middlesbrough.
- Attack
- Favours Middlesbrough
- 1st vs 12th
- Middlesbrough attack v Bristol City defence
- Defence
- Favours Middlesbrough
- 2nd vs 20th
- Middlesbrough defence v Bristol City attack
- Recent xG form
- Favours Middlesbrough
- +1.33 vs +0.46
- xGD per match, last 6
Team comparison
Season to date, per match, with each club's placing in the competition. The last row is the last 6 matches.
| Reading | Middlesbrough | Bristol City |
|---|---|---|
| xG / match | (better) 2.16 · 1st | 1.27 · 17th |
| xGA / match | (better) 1.02 · 2nd | 1.29 · 7th |
| xGD / match | (better) +1.15 · 1st | -0.02 · 11th |
| xPts / match | (better) 2.10 · 1st | 1.44 · 11th |
| Last 6 xGD / match | (better) +1.33 | +0.46 |
Head to head
Middlesbrough 0 Draws 1 Bristol City 1
Got a different price?
Type your bookmaker's odds for any market and see their edge against the model.
How the edge is calculated
Edge is probability × odds − 1 — it pays on average and over the long run, not necessarily in this match. The model knows nothing of absences, motivation or the schedule.
Nothing you type is remembered.
What the model doesn't know
It reads expected goals and nothing else — not the lineups, injuries or suspensions, what either side is playing for, the weather or a congested schedule.
Model details- Fit window
- the last 20 matches, recency weighted (a match 107 days old counts half)
- Middlesbrough sample
- 20 matches
- Bristol City sample
- 20 matches
- Home xG sample · Middlesbrough
- 6 matches
- Away xG sample · Bristol City
- 6 matches
- Computed
- Friday, 30/10/2026 at 03:30
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.