Three Branches Off One Fixture: How Tonight’s Soton-Ipswich Reshapes Saturday’s Six-Way Finish
Coventry are champions, the Sky Blues having secured a return to the top flight after 25 years with their 1-1 draw away at Blackburn on 17 April. With one game left for everyone except Southampton and Ipswich — who play their game-in-hand tonight at 19:45 BST — the live questions are who finishes 2nd for the second auto-promotion spot, and which three of Wrexham, Hull and Derby make the play-off cut. Below: the model’s read on tonight, the Wrexham-Hull-Derby scrap, and what happens to Boro’s motivation in each of three tonight outcomes.
The Setup
Coventry’s title was sealed on 17 April with a 1-1 draw at Ewood Park — a 25-year wait for top-flight football ended away at Blackburn rather than at home, but ended all the same. The Sky Blues are up; the rest of the top of the table is still being decided across the next four days.
The auto-promotion 2nd spot is functionally settled in Ipswich’s favour barring an extraordinary set of results, but we’ll show how unlikely the alternative paths are rather than just asserting it. The 6th-spot race is genuinely live: Wrexham (70p, +4 GD), Hull (70p, +3 GD) and Derby (69p, +9 GD) are within a point, with goal difference on a knife-edge between the top two.
Tonight, in One Fixture
Southampton vs Ipswich kicks off at 19:45 BST. The model — a Platt-calibrated logistic regression with player-quality features (goals_logreg_v1_cal) — gives:
Score Prediction — Soton vs Ipswich
Southampton at home is moderate favourite. The result branches the rest of the season into three distinct shapes — Saturday’s MD46 fixtures are the same six games either way, but the points totals teams take into them are not.
Pre-Kickoff Headlines (Blended)
Across all three branches, weighted by tonight’s W/D/L probabilities, the model’s pre-kickoff reading is:
The Editorial Heart — Why Tonight Matters For Wrexham
Look at the Wrexham number above: 39-40% across all three branches. Tonight’s result moves it by less than one percentage point. So why would tonight matter for the play-off race at all?
Because of Middlesbrough’s motivation on Saturday. Boro travel to Wrexham as Wrexham’s MD46 opponent. The model assumes Boro plays full-strength regardless of context. In reality:
- If Soton win tonight → Boro’s auto-promotion path stays mathematically alive (3.7%). Boro will play full-strength, motivated, sharp. Tough opponent for a Wrexham side already on the play-off line.
- If Draw tonight → Boro’s auto path on life support (3.0%). Still motivated, probably still full-strength.
- If Ipswich win tonight → Boro’s auto path is mathematically dead. Saturday becomes a meaningless fixture for them — guaranteed top six already, nothing to play for in the Wrexham game itself. Coaches will rotate, intensity drops, the game’s texture shifts. Wrexham’s true play-off retention chance is likely higher than the modelled 39% in this branch — but we don’t put a number on the size of that shift, because we can’t.
Three Teams, One Spot, 90 Minutes Each
Sat: vs Middlesbrough (H)
Sat: vs Norwich (H)
Sat: vs Sheffield Utd (H)
Wrexham edge into the play-off slot on goal difference — one goal ahead of Hull, with goals scored a tiebreaker only if GD ties as well. Derby sit a point behind both, with the best GD of the three by a clear margin.
Saturday’s Three Decider Fixtures — Model Read
Notice the asymmetry: Wrexham face the toughest opponent of the three (Boro lean as away favourites), while Hull and Derby host opponents below them in the table. Hull and Derby are home favourites; Wrexham are home underdogs. That’s the structural reason Hull’s modelled play-off retention chance ends up slightly above Wrexham’s despite Wrexham being ahead on points + GD going in.
Score Predictions — The Three Deciders
P(Top-6) — Three Teams Across Four Scenarios
Monte Carlo over 5,000 simulations of Saturday’s six top-of-table fixtures, separately under each of tonight’s three branches plus the blended pre-kickoff weighting:
| Team | Soton win (53%) | Draw (26%) | Ipswich win (21%) | Blended |
|---|---|---|---|---|
| Wrexham | ||||
| Hull City | ||||
| Derby |
Hull edges Wrexham across all four scenarios. Despite Wrexham being currently above on points + GD, the model gives Hull the slightly better play-off retention chance because Norwich at home is a softer fixture than Boro at home. Derby trails because they need to win and have at least one of Wrex/Hull fail to win. The three numbers in each row should add to roughly 1.0 — they actually sum to ~1.00 across all four scenarios, the residual mass scattered to outside-top-6 outcomes (when all three of Wrex/Hull/Derby drop points and a chasing team exploits, though that’s now rare with only one game left).
What Each Team Needs
Wrexham — A win takes them to 73 points with at least +5 GD, almost certainly enough: holds off Hull (max 73 with +6 GD if Hull wins and Wrex wins by less by a margin difference of ≥2). A draw drops to 71; survives only if Hull also fails to win and Derby fails to win. A loss drops to 70 unchanged on points; survives only if Hull also loses (tied on 70 with Wrex now possibly behind on GD) and Derby loses outright (drops to 69 below Wrex on points). The loss path is narrow and depends on GD swings.
Hull City — A win takes them to 73, level with any winning Wrexham. GD tiebreak then decides. Hull starts a goal behind Wrex on GD; Hull needs to win by at least two more goals than Wrexham’s win margin to flip the order on GD (since the 1-goal current gap absorbs one matched goal). If Wrex doesn’t win, Hull’s win alone is enough. A draw caps Hull at 71 — needs Wrex to lose AND Derby to fail to win.
Derby — A win takes them to 72, ahead of any Wrex/Hull side that doesn’t also win (since Wrex/Hull max 71 if they don’t win, and Derby’s +9 GD breaks any tied-on-points case in their favour). If both Wrex AND Hull also win, Derby is below both on points (72 vs 73). A draw is 70, +9 GD; survives only if both Wrex and Hull lose.
Most-Likely Final Standings
Taking each Saturday fixture’s most-likely outcome (not most-likely scoreline cell — the modal scoreline for many fixtures is 1-1, but the modal outcome is decided by the W/D/L probabilities above) and applying the highest-probability scoreline within that outcome, the most-likely final top-of-table looks like this (assumes tonight goes Soton’s way at 53%):
| # | Team | P | GD | GF |
|---|---|---|---|---|
| 1 | Coventry | 95 | +49 | 94 |
| 2 | Ipswich | 83 | +30 | 76 |
| 3 | Millwall | 83 | +14 | 63 |
| 4 | Southampton | 82 | +26 | 79 |
| 5 | Middlesbrough | 82 | +26 | 71 |
| 6 | Hull City | 73 | +4 | 69 |
| 7 | Derby | 72 | +10 | 67 |
| 8 | Wrexham | 70 | +3 | 67 |
The most-likely individual path has Wrexham out of the top six. The 39.9% retention number from the MC isn’t “Wrexham edge it most of the time” — it’s “the most-likely individual path drops them, but four times in ten the noise across six fixtures shakes out in their favour”. That’s the right way to read all the % numbers in this post: probabilities of recovery from a less-than-favourable modal outcome, not probabilities of holding a favoured position.
If Southampton Win Tonight (Model: 53%)
Southampton beat Ipswich 1-0 (modal home-win scoreline). Updated standings:
Top going into MD46: Coventry (champions, 92), Ipswich (80, did not win game-in-hand), Millwall (80), Middlesbrough (79), Southampton (79). All five with one game left.
Most-Likely Final Standings (Modal-Outcome Basis)
| # | Team | P | GD | GF |
|---|---|---|---|---|
| 1 | Coventry | 95 | +49 | 94 |
| 2 | Ipswich | 83 | +30 | 76 |
| 3 | Millwall | 83 | +14 | 63 |
| 4 | Southampton | 82 | +26 | 79 |
| 5 | Middlesbrough | 82 | +26 | 71 |
| 6 | Hull City | 73 | +4 | 69 |
| 7 | Derby | 72 | +10 | 67 |
| 8 | Wrexham | 70 | +3 | 67 |
Boro Motivation Read
Auto path stays alive — full-strength XI expected.
Boro arrive at Wrexham with a 3.7% chance of jumping into 2nd. That’s not nothing — three chances in eighty. Premier League promotion is at stake. The XI will be the best available, the intensity will be high, and Wrexham face the toughest version of this opponent. The 39.9% retention number is honest under that assumption.
If Tonight Is A Draw (Model: 26%)
Soton 1-1 Ipswich (modal draw scoreline). Updated standings:
Top going into MD46: Coventry (92), Ipswich (81 — picked up a point), Millwall (80), Middlesbrough (79), Southampton (77). Four teams within four points of 2nd.
Most-Likely Final Standings (Modal-Outcome Basis)
| # | Team | P | GD | GF |
|---|---|---|---|---|
| 1 | Coventry | 95 | +49 | 94 |
| 2 | Ipswich | 84 | +31 | 77 |
| 3 | Millwall | 83 | +14 | 63 |
| 4 | Middlesbrough | 82 | +26 | 71 |
| 5 | Southampton | 80 | +25 | 79 |
| 6 | Hull City | 73 | +4 | 69 |
| 7 | Derby | 72 | +10 | 67 |
| 8 | Wrexham | 70 | +3 | 67 |
Boro Motivation Read
Auto path on life support — still motivated.
3% is a coin landing on its edge twice. The path requires Ipswich to lose at home to QPR while Boro win at Wrexham — a one-in-thirty kind of run. But it’s not zero, and the Premier League prize keeps the dressing room sharp. Expect the same full-strength XI and the same intensity as the Soton-win branch.
If Ipswich Win Tonight (Model: 21%)
Ipswich beat Southampton 1-0 (modal away-win scoreline). Updated standings:
Top going into MD46: Coventry (92), Ipswich (83 — auto effectively confirmed), Millwall (80), Middlesbrough (79), Southampton (76). Boro’s max 82 cannot reach Ipswich’s 83.
Most-Likely Final Standings (Modal-Outcome Basis)
| # | Team | P | GD | GF |
|---|---|---|---|---|
| 1 | Coventry | 95 | +49 | 94 |
| 2 | Ipswich | 86 | +32 | 77 |
| 3 | Millwall | 83 | +14 | 63 |
| 4 | Middlesbrough | 82 | +26 | 71 |
| 5 | Southampton | 79 | +24 | 78 |
| 6 | Hull City | 73 | +4 | 69 |
| 7 | Derby | 72 | +10 | 67 |
| 8 | Wrexham | 70 | +3 | 67 |
Boro Motivation Read — The One That Matters
Auto path is dead. The Wrexham game is a dead rubber for Boro.
This is the branch where the model and reality diverge. The modelled Wrexham retention number says 39.4%, the same as the other branches, because the W/D/L probabilities for Wrex-Boro on the model’s side are the same regardless of context. But Boro arrive at Wrexham with nothing on the line: top six is locked, auto path is gone, the play-off semi-final is a fortnight away.
Coaches in this position rest first-choice players. Intensity drops. Body shapes are different. The version of Boro that Wrexham faces in this branch is not the same opponent as in the Soton-win or draw branches.
Wrexham’s true play-off retention chance in this branch is likely higher than 39.4%. We do not put a number on the size of that shift because we can’t — the model has no motivation feature, and quantifying the effect would be inventing a number we don’t have evidence for. But the direction is clear and the size is meaningful enough to flag.
If you’re a Wrexham supporter, you root for Ipswich tonight.
How These Numbers Were Built
Three Layers, Distinct, No Overlap
Layer 1 — W/D/L outcome model (goals_logreg_v1_cal). The existing in-production Championship model. Platt-calibrated logistic regression with 30 features. For each fixture, gives a probability distribution over Home/Draw/Away outcomes.
Layer 2 — Scoreline given outcome (goals_poisson_v1, NEW). Independent Poisson per side fit on six full historical Championship seasons (2019/20–2024/25), with a Dixon-Coles ρ adjustment fit by maximum likelihood. Closed-form scoreline conditional on outcome via a 0-8 grid normalised within each H/D/A bucket. Used to populate goal difference and goals for in the simulated final tables.
Layer 3 — Monte Carlo simulation. For each branch: 5,000 simulations of Saturday’s six top-of-table fixtures. Each sim samples a W/D/L from Layer 1, then a scoreline conditional on that outcome from Layer 2. Builds final standings sorted by points → GD → GF. Records whether each focus team finishes top-2 / top-6.
The Validation Arc
Rather than skip straight to the model, we ran a baseline first: empirical scoreline conditional on outcome from train years, applied uniformly to every fixture regardless of teams playing. Metric: Tiebreak-Pair Sort Accuracy (TPSA) — for each pair of teams in the actual 2024/25 final table that finished tied on points, what % of MC runs reproduce the actual GD ordering? Sign-test threshold: beat baseline on at least 5 of 6 strict-tie pairs.
| 2024/25 strict-tie pair | bar (iii) | Poisson v0 | Poisson + DC |
|---|---|---|---|
| Leeds > Burnley | 46.1% | 59.1% | 58.0% |
| Blackburn > Millwall | 41.2% | 41.7% | 41.4% |
| West Brom > Middlesbrough | 74.6% | 74.0% | 74.6% |
| Norwich > Watford | 63.6% | 69.6% | 68.9% |
| Derby > Preston | 28.7% | 24.3% | 23.9% |
| Hull City > Luton | 59.1% | 66.7% | 65.3% |
| Aggregate / sign test | 52.21% | 55.89% · 4-2 | 55.35% · 5-1 |
Poisson v0 (no DC) hit 4 of 6 — failed the gate. Adding Dixon-Coles bumped one pair to a +0.0pp win, technically clearing 5 of 6 but in a wafer-thin way. Across three holdout seasons (2024/25 + 2022/23 + 2023/24), Poisson+DC beat the baseline on 13 of 18 strict-tie pairs with a consistent +3pp aggregate TPSA delta. An external methodology review (DeepSeek Reasoner) was commissioned as a tiebreaker between “ship Poisson+DC” and “ship baseline”. Verdict: ship Poisson+DC, on the aggregate three-season evidence, with the single-season N=6 sign test treated as the agreed gate but not the substance.
Three Honest Caveats
- N=6 sign-test power: the gate was the right shape but underpowered. Reaching 80% power to detect a +3pp effect would need roughly 30 strict-tie pairs — five seasons of holdouts, not one. Single-season tests at this sample size cannot meaningfully discriminate between a model that’s 3pp better and one that’s identical. The published numbers rest on aggregate evidence.
- W/D/L-fixed sampling: validation held outcomes fixed to actual 2024/25 values to isolate the scoreline contribution. Production sampling does not — outcome variance in the MC changes which pairs end up tied. Deliberate isolation choice; transferability is a fair assumption but not proven.
- ρ direction Championship-specific: fitted Dixon-Coles ρ = +0.0173 on Champ data is opposite-signed to the standard literature (which has ρ < 0 for European top-five leagues). Documented as a Championship-specific finding rather than a bug — Championship scoring patterns appear to have a slight excess of 1-0 / 0-1 over both 0-0 and 1-1.
Sampler Robustness Check
For this specific post we ran the entire MC under both samplers (Poisson+DC and the baseline). Headline numbers agreed to within 1pp on every branch:
| Branch | P(Boro auto) — Goals | — baseline | P(Wrex play-off) — Goals | — baseline |
|---|---|---|---|---|
| Soton win | 3.7% | 3.6% | 39.9% | 40.4% |
| Draw | 3.0% | 3.0% | 40.4% | 39.5% |
| Ipswich win | 0.0% | 0.0% | 39.4% | 39.8% |
| Blended | 2.7% | 2.7% | 39.9% | 40.0% |
The convergence is informative both ways. Published numbers are robust to sampler choice — they would be the same numbers regardless. It also means the goals model didn’t earn its place on this particular question. The case for shipping it remains the longer-term architectural one: the toggle exists for the next time we hit a question where scoreline detail matters more.
The Unmodelled Caveat — Boro’s Saturday Motivation
The model has no feature for “what does each team have to play for in this fixture”. For Wrexham vs Middlesbrough on Saturday, that gap matters: in the Ipswich-win branch, Boro have nothing on the line, and the version of them Wrexham faces will not be the version the model assumes. Wrexham’s true retention chance in that branch is likely higher than the modelled 39.4%, but we do not quantify the gap because we have no basis for the size — only the direction.
This is logged as a known model limitation. A future iteration could add a “stakes asymmetry” feature; this post predates that work.
Models: goals_logreg_v1_cal (W/D/L) and goals_poisson_v1 (scoreline). Sampler: goals_model, M=5,000 per branch. DC ρ = +0.0173. BeyondThePrem’s content is analytical and editorial; nothing here is betting advice.

