Who Will Win the Bundesliga 2025/26?
Last season in the Austrian Bundesliga was incredibly exciting: With just three matchdays left, four teams still had a shot at the title. At that point, the Austrian national broadcaster ORF contacted our department for a prediction. Luckily, we had hosted Andreas Groll the previous summer, who had explained to us how to make model-based forecasts in the context of EURO 2024. So we quickly looked for data, assembled a model, and estimated the title chances as follows: “The probability that Salzburg wins the title is about 5%, Austria Vienna 15%, WAC 25%, and our model sees Sturm Graz as the favorite with 55%.”
Because I missed football during the summer break, I took the opportunity to improve our model — just in time for the new season. Here’s the updated forecast:
Who Will Win the Title?
So does that mean Salzburg will be champion? No. A season is full of unpredictable moments:
- Will a ball bounce off the post into the net in the 93rd minute, securing a vital win — or out, leaving only a draw?
- Will internal conflict derail a team’s performance — or will a motivating speech from the coach spark a winning streak?
- Will a key player’s child bring home a stomach bug from daycare, forcing him to miss two crucial games — or will he stay healthy?
Each of these small events can impact the season’s outcome. That’s why we don’t talk in certainties, only in probabilities. Even if Salzburg is the favorite at 35%, that still means there’s a 65% chance someone else will win.
The Detailed Forecast
A probabilistic approach doesn’t just estimate title chances. It also tells us how likely a team is to reach the top 3, avoid relegation, or qualify for the championship round. We can also estimate expected points, goals scored and conceded, and median league position. All of that is shown in the following table:
The columns Champion, Top 3, Championship Round, and Relegation show the probability of each respective outcome.
How Does It Work?
To model football’s inherent uncertainty (which makes it fun!), we treat match results as random — but not arbitrary. Outcomes should reflect team strength. A strong offense vs. a weak defense? Expect more goals. A history of lopsided results? That favorite is still more likely to win, though nothing is certain.
How to Simulate a Single Match
We want to simulate realistic but random match results. To do so, we estimate how many goals each team is expected to score on average — then draw outcomes randomly around that average. We use the Poisson distribution, which is ideal for rare events like goals.
To estimate expected goals, we train a random forest model. This model learns from past games what kinds of predictors lead to high or low goal counts.
We fit two separate functions:
- \(f\) for the home team
- \(g\) for the away team
The expected goal count is then:
\[\lambda_\text{home} = f(\mathrm{Goals}_5, \mathrm{Goals}_\text{season}, \mathrm{LastMeetings}, \mathrm{Elo})\]
\[\lambda_\text{away} = g(\mathrm{Goals}_5, \mathrm{Goals}_\text{season}, \mathrm{LastMeetings}, \mathrm{Elo})\]
Predictors used for both home and away:
- \(\mathrm{Goals}_5\): average goals scored/conceded in the last 5 matches
- \(\mathrm{Goals}_\text{season}\): average goals across the current season
- \(\mathrm{LastMeetings}\): average goals in the last 2 meetings between the teams
- \(\mathrm{Elo}\): Elo rating of the team from clubelo.com
The model is trained on historical data to best estimate \(f\) and \(g\) using these features. The predicted expected goals are then used as mean values in Poisson distributions, from which we draw simulated results.
How to Simulate an Entire Season
To simulate a full season:
- For each upcoming match, the model predicts expected goals for both teams.
- Random match results are drawn based on those expectations (Poisson-distributed).
- Predictors are updated after each match to reflect new data.
- This repeats for the entire season — including the split into championship and relegation groups based on real and simulated results.
The result is one realistic season simulation — with full tables, goal counts, and point totals.
Repeat that simulation 100,000 times, and we get relative frequencies:
- How often each team wins the league, finishes top 3, or is relegated
- Average points and goals
- Average final league position
These relative frequencies form the basis for the probabilities above. Of course, we cannot say exactly how the season will unfold — but we can say what outcomes are most plausible.