For a brief moment last weekend, the Bundesliga title race felt like a reality. Borussia Dortmund came away with all three points against Wolfsburg, and fans had talked themselves into Hoffenheim being
ready to do Dortmund a favour in Munich. Just as everyone was starting to get their hopes up about a title fight becoming a reality and the rare opportunity to see Bayern Munich going three games without a league win, Die Roten reared their ugly heads again, smashing Hoffenheim 5-1 and restoring the gap at the top of the table to six points.
After a less-than-convincing win against Heidenheim, Borussia Dortmund’s Nico Schlotterbeck talked about his ambitions to see BVB topple Bayern and become champions, and in the process started the conversation about a potential title race. There has been plenty of chatter about the club’s executives being much less enthusiastic about Dortmund’s chances of challenging Bayern. But just how long is BVB’s shot? After all, the gap between Bayern and BVB is only six points. Is the title race alive in the Bundesliga? And if not, what would need to happen, and what are the chances that a title race could break out?
A Cold Dose of Reality
Discussions about the title race in recent weeks have felt very vibes-based. That’s not necessarily a bad thing. Vibes are, to an extent, a reflection of how both clubs are feeling. But it is also very easy for the vibes to be misaligned with reality. This is what analytics is for–it can take the emotion out of the situation and give us a more objective view.
Predicting Ball currently gives BVB a 1.6% probability of winning the Bundesliga title. This means that, from the 10,000 simulations of the rest of the season that the model has run, BVB came out on top just ~160 times. Sure, that’s not nothing. But it’s a long way off from being able to call it a title race.
While Predicting Ball seems pretty emphatic that the Meisterschale stays in Bavaria, I think the model is undervaluing BVB’s chances. The model is designed in a way that makes it difficult for it to see a world in which Bayern could collapse. Predicting Ball builds offensive and defensive team ratings based on each team’s performances so far this season (plus several other model features). These team ratings are then used to generate probability distributions for each remaining game in the league season, estimating the probability that each team will score a certain number of goals. Probabilities for each game are derived from these distributions. The rest of the season is then simulated 10,000 times to estimate what will happen in the league, and the outcome probabilities for the Bundesliga title, Champions League qualification, and relegation are generated from these simulations (the percentage of times each team finishes in those spots across all simulations). Bayern Munich’s performances earlier in the season were so dominant, putting up such absurd underlying numbers, that Predicting Ball gives Bayern Munich an overall rating almost twice that of Borussia Dortmund’s in second place. The model struggles to see a world where a team this good could drop enough points to come away without the title.
I don’t think Predicting Ball is necessarily wrong on this front (unfortunately). It really is very unlikely that a team that has built up a goal difference of +60 after 21 games would drop off a cliff and let the chasing pack back in. However, like most simulation models in this domain, Predicting Ball struggles to account for just how stupid football can be. Dumb things happen far more often than Predicting Ball anticipates.
It is difficult to put a number on what is ultimately a gut feeling that the model is undervaluing BVB. I am pretty sure 1.6% is too low, but I don’t know what the probability of BVB winning the league should be. I think it should probably be somewhere in the 5-10% range, but closer to 5% than 10%.
It’s easy to convince ourselves that the thing we want to happen is going to happen. It’s human nature. When you look at the Bundesliga league table and see just six points separating Bayern Munich and Borussia Dortmund, it’s hard not to dream of a two-game swing putting BVB within touching distance of glory. But Bayern Munich have dropped just nine points so far this season. Six points (basically seven points, given Bayern’s absurd goal difference) is a big gap in that context, and that’s before factoring in any points BVB drops.
A Glimmer of Hope
Having used analytics to spoil the party, perhaps I can bring it back to life with some more numbers. Predicting Ball indicates that BVB are a long shot, but that doesn’t mean they have no shot. What would need to happen for the title race to become a reality?
Simply put, we need Bayern Munich to drop points unexpectedly. If Dortmund are going to leapfrog Bayern, Bayern will first need to drop seven points, all of which will come from games in which they were big favorites. Predicting Ball thinks there is only one game with a probability of Bayern Munich dropping points above 50%, against Borussia Dortmund, where the probability of Bayern not winning is ~50.2%. But Bayer Leverkusen (~48.7%), Freiburg (~34%), and Stuttgart (~32.2%) all have a decent shot at pulling an upset too.
These match probabilities are also based on the team ratings that have Bayern Munich so far ahead of the rest of the league that their overall rating is almost double Dortmund’s. However, a closer look at the underlying numbers indicates that the gap between Bayern and Dortmund is closing.
Bayern have wobbled a bit recently, and when you look at the five-game rolling average non-penalty xG difference (npxGD)–a ridiculous mouthful, but it is just a measure of a team’s performance trend–below, we can see this also bears out in their performances.
Their rolling average npxGD peaked at ~2.5 in December, but since then, it has dropped to just over 1. That’s a significant slide. Bayern Munich’s dismantling of Hoffenheim over the weekend has steadied their npxGD trend, but it’s clear they haven’t been at their best in 2026. Is this a sustained trend, or is it just a minor blip that is already in the process of passing? I’m inclined to assume it is the latter, but if these are the early signs of a genuine decline in form, BVB need to be ready to make the most of a very small window of opportunity.
The problem for BVB is the fact that they are not exactly playing lights-out football right now. Just as the rolling average npxGD plot above shows that Bayern’s form has dipped, it also shows that BVB have struggled in recent games. If Dortmund keep playing like this, it won’t matter what Bayern Munich does. But if they can hit a run of form, they just might have enough to make the most of that Bayern dip.
So, is There a Bundesliga Title Race?
I wouldn’t go as far as calling this “finishing on a high note”, but I’ve at least talked myself into the idea that we could be one or two Bayern slips away from calling this a title race.
Unfortunately, though, the numbers don’t really back up the vibes. I don’t think that the title race is “on” right now. Even if Bayern dropped 7 points, BVB would still need to be perfect right to the end of the season. I don’t see that happening. I think Dortmund probably need Bayern Munich to drop somewhere between 8 and 10 points. Dortmund just have too much ground to make up to call it a title race… yet.
Still, I appreciate Nico Schlotterbeck’s ambition, and while BVB still have a long shot at the title, they should be fighting for it. At the very least, they can make Bayern sweat for the Meisterschale. And if they can take all three points when the two sides face each other at Westfalenstadion, I might start to believe.








