When the xG Machine Shows No Mercy

Calendar week 46, and the honest table has pulled out its slide rule again. Five leagues, countless matches, but above all: a handful of fixtures where the data speaks so clearly that you could almost feel sorry for the bookmakers. Bundesliga, Premier League, Serie A, La Liga and the Super League – all of them serve up material this week for stories that can't just be told in back-three formations. Here we go.

The Top Picks: Where the Data Leaves No Doubt

Borussia M'gladbach vs. Borussia Dortmund is every Foals fan's nightmare before kickoff even sounds. 77 percent win probability for BVB, an xG ratio of 1.2 to 3.7 – that's not a forecast, that's a threat. Confidence score 90. Gladbach are allowed to hope, but the numbers aren't hoping along.

```prediction {"home":"Borussia M'gladbach","away":"Borussia Dortmund","homeTeamId":39,"awayTeamId":33,"homeLogo":"https://cdn.footystats.org/img/teams/germany-borussia-vfl-monchengladbach.png","awayLogo":"https://cdn.footystats.org/img/teams/germany-bvb-09-borussia-dortmund.png","homeWin":2,"draw":20,"awayWin":77,"xgHome":1.2,"xgAway":3.7,"confidence":"high","league":"Bundesliga","leagueId":"bundesliga","fixtureId":8572497,"date":"2026-11-21T14:30:00.000Z"} ```

Bayern München vs. Köln is the expected bloodbath: 3.6 expected goals against 1.2, Bayern with a form xP of 2.5 over the last five games – this isn't football, it's an administrative formality.

```prediction {"home":"Bayern München","away":"Köln","homeTeamId":38,"awayTeamId":41,"homeLogo":"https://cdn.footystats.org/img/teams/germany-fc-bayern-munchen.png","awayLogo":"https://cdn.footystats.org/img/teams/germany-1-fc-koln.png","homeWin":80,"draw":11,"awayWin":9,"xgHome":3.6,"xgAway":1.2,"confidence":"high","league":"Bundesliga","leagueId":"bundesliga","fixtureId":8572535,"date":"2026-11-20T19:30:00.000Z"} ```

In Serie A, Atalanta vs. Inter delivers one of the clearest picks of the weekend with a 72 percent away-win probability and an xG of 1.5 to 3.3. Inter's form (2.2 avgXP) speaks a clear language against Atalanta's shaky 1.0.

```prediction {"home":"Atalanta","away":"Inter Milan","homeTeamId":464,"awayTeamId":470,"homeLogo":"https://cdn.footystats.org/img/teams/italy-atalanta-bergamasca-calcio.png","awayLogo":"https://cdn.footystats.org/img/teams/italy-fc-internazionale-milano.png","homeWin":14,"draw":14,"awayWin":72,"xgHome":1.5,"xgAway":3.3,"confidence":"high","league":"Serie A","leagueId":"serie-a","fixtureId":8545051,"date":"2026-11-22T19:45:00.000Z"} ```

Parma vs. Roma also belongs in this category: 76 percent for the visitors, xG 0.8 to 2.7. Parma have averaged just 0.6 points over their last five games – a full confession of failure.

```prediction {"home":"Parma","away":"Roma","homeTeamId":476,"awayTeamId":113,"homeLogo":"https://cdn.footystats.org/img/teams/italy-parma-calcio-1913.png","awayLogo":"https://cdn.footystats.org/img/teams/italy-as-roma.png","homeWin":9,"draw":15,"awayWin":76,"xgHome":0.8,"xgAway":2.7,"confidence":"high","league":"Serie A","leagueId":"serie-a","fixtureId":8545037,"date":"2026-11-21T17:00:00.000Z"} ```

And then Young Boys vs. Thun: the Bernese side with an absurd xG value of 4.9 – that's no longer "favorite," that's "feast." Thun will be allowed to play along, but not much more than that.

```prediction {"home":"Young Boys","away":"Thun","homeTeamId":94,"awayTeamId":888,"homeLogo":"https://cdn.footystats.org/img/teams/switzerland-bsc-young-boys.png","awayLogo":"https://cdn.footystats.org/img/teams/switzerland-fc-thun.png","homeWin":76,"draw":11,"awayWin":13,"xgHome":4.9,"xgAway":2.3,"confidence":"high","league":"Super League","leagueId":"swiss-super-league","fixtureId":8554534,"date":"2026-11-21T17:00:00.000Z"} ```

Bundesliga: Between Mandatory Win and Open Slugfest

Besides Bayern-Köln and the Gladbach-Dortmund drama, things get uncomfortable in Berlin: Union vs. RB Leipzig clearly favors Leipzig at 70 percent, xG 1.7 to 3.5. It gets more exciting in Augsburg, where Mainz (avgXP 1.9) are slight favorites against the Fuggerstadt side, but only at 43 percent – a genuine coin-flip match. Schalke vs. Stuttgart also remains a real puzzle under "low confidence."

```prediction {"home":"Augsburg","away":"Mainz 05","homeTeamId":50,"awayTeamId":34,"homeLogo":"https://cdn.footystats.org/img/teams/germany-fc-augsburg.png","awayLogo":"https://cdn.footystats.org/img/teams/germany-1-fsv-mainz-05.png","homeWin":30,"draw":27,"awayWin":43,"xgHome":2.8,"xgAway":3.2,"confidence":"medium","league":"Bundesliga","leagueId":"bundesliga","fixtureId":8572494,"date":"2026-11-22T14:30:00.000Z"} ```

Premier League: The Leader and the Midtable Muddle

Tottenham vs. Ipswich belongs among the weekend's safest bets with 71 percent and 2.8 to 1.0 xG. Liverpool vs. Manchester United, on the other hand, is the big prestige duel with 56 percent for the Reds – a match that promises tension despite a clear lean. Interesting: no fewer than three fixtures (Brentford-Everton, Bournemouth-Forest, Aston Villa-Sunderland) fall under "low confidence" – the data shrugs its shoulders at these games.

```prediction {"home":"Brentford","away":"Everton","homeTeamId":218,"awayTeamId":144,"homeLogo":"https://cdn.footystats.org/img/teams/england-brentford-fc.png","awayLogo":"https://cdn.footystats.org/img/teams/england-everton-fc.png","homeWin":34,"draw":35,"awayWin":31,"xgHome":1.4,"xgAway":1.4,"confidence":"low","league":"Premier League","leagueId":"premier-league","fixtureId":8558062,"date":"2026-11-23T20:00:00.000Z"} ```

Serie A: Juve Rolls On, Lazio Dominates, the Rest Sort Themselves Out

Juventus vs. Venezia (70 percent, 3.0 xG) and Lazio vs. Lecce (71 percent, 2.4 to 0.6 xG) are mandatory assignments for the favorites. In between, though, a genuine question mark: Monza vs. Fiorentina sits at just "low confidence," and AC Milan vs. Frosinone, where the xG values of 1.7 to 1.7 resemble identical twins.

```prediction {"home":"Monza","away":"Fiorentina","homeTeamId":2356,"awayTeamId":471,"homeLogo":"https://cdn.footystats.org/img/teams/italy-ss-monza-1912.png","awayLogo":"https://cdn.footystats.org/img/teams/italy-acf-fiorentina.png","homeWin":34,"draw":27,"awayWin":39,"xgHome":2.9,"xgAway":3.1,"confidence":"low","league":"Serie A","leagueId":"serie-a","fixtureId":8545019,"date":"2026-11-23T19:45:00.000Z"} ```

La Liga and Super League: One Game Here, Six There

La Liga sends only Rayo Vallecano vs. Athletic Bilbao into the race this week – a clear case for the Basques at 54 percent and 2.3 expected goals. The Super League, on the other hand, is packed to the brim: alongside the YB feast against Thun, Zürich vs. St. Gallen delivers another clear case with 64 percent for the Eastern Swiss side (xG 1.9 to 3.2), while Lugano vs. Grasshopper (70 percent) also leaves little room for doubt.

```prediction {"home":"Rayo Vallecano","away":"Athletic Club Bilbao","homeTeamId":291,"awayTeamId":285,"homeLogo":"https://cdn.footystats.org/img/teams/spain-rayo-vallecano.png","awayLogo":"https://cdn.footystats.org/img/teams/spain-athletic-club-bilbao.png","homeWin":16,"draw":30,"awayWin":54,"xgHome":1.3,"xgAway":2.3,"confidence":"high","league":"La Liga","leagueId":"la-liga","fixtureId":8570360,"date":"2026-12-09T19:00:00.000Z"} ```

The Surprise Candidates

Two matches where the xG data doesn't see the underdog as quite as hopeless as the bookmakers' odds might suggest: Hull City vs. Brighton is being handled at 57 percent for the visitors, but Hull's home form (1.1 avgXP) and the tight xG ratio of 0.8 to 1.7 show that no walk in the park awaits here. And in Coventry vs. Crystal Palace, the data does credit the hosts with a possible upset against the vicious Eagles (only 0.8 avgXP), giving them 48 percent and 2.3 expected goals.

```prediction {"home":"Hull City","away":"Brighton & Hove Albion","homeTeamId":150,"awayTeamId":209,"homeLogo":"https://cdn.footystats.org/img/teams/england-hull-city-afc.png","awayLogo":"https://cdn.footystats.org/img/teams/england-brighton-hove-albion-fc.png","homeWin":19,"draw":24,"awayWin":57,"xgHome":0.8,"xgAway":1.7,"confidence":"high","league":"Premier League","leagueId":"premier-league","fixtureId":8558049,"date":"2026-11-22T14:00:00.000Z"} ```

Conclusion

The clearest message of this weekend: anyone who has to face Dortmund, Bayern, Inter, Roma, or Young Boys should brace for plenty of legwork and little reward. At the same time, the table of "low confidence" matches – from Schalke-Stuttgart to Bournemouth-Forest – shows that mathematical clarity doesn't reign everywhere. It's exactly this mix of certainty and chaos that makes matchday what it should be: unpredictable enough to be fun, data-rich enough to talk shop like a pro.

```prediction {"home":"Schalke 04","away":"Stuttgart","homeTeamId":35,"awayTeamId":51,"homeLogo":"https://cdn.footystats.org/img/teams/germany-fc-schalke-04.png","awayLogo":"https://cdn.footystats.org/img/teams/germany-vfb-stuttgart-1893.png","homeWin":40,"draw":23,"awayWin":37,"xgHome":1.6,"xgAway":1.6,"confidence":"low","league":"Bundesliga","leagueId":"bundesliga","fixtureId":8572430,"date":"2026-11-21T17:30:00.000Z"} ```