This is an automated archive made by the Lemmit Bot.

The original was posted on /r/soccer by /u/Rekicho on 2025-01-24 16:56:52+00:00.


So, to start, a few notes:

  • For this simulation, I considered a possible outcome either a win for the home team, a draw, or a win for the away team - which means that there was no consideration about the goals scored in each match. Because of how the number of total outcomes grows polynomially with the number of outcomes of each match, considering results with different numbers of goals scored / goals conceded would make this analysis impossible in a realistic amount of time. As an example, if even only results up to 2 goals scored by each team were considered, there would be 9 possible outcomes for each match, which would results in a total of 918 (150,094,635,296,999,121) total outcomes instead of the 318 (387,420,489) outcomes considered here - which would mean, even if it was possible to run 1M simulations/s, it would take ~4,756 years.
  • Given the above constraint, in cases where multiple teams ended with the same number of points, I considered each team was equally likely to get each position in the tie. For example, in the outcomes where Liverpool lose and Barcelona win, they both end up tied for 1st/2nd, which I considered, for both, as getting 1st 50% of the times and getting 2nd 50%. This will obviously have an affect in the final results, as this assumption is particularly incorrect in cases where the goal difference from clubs that can tie in points is already too big to realistically be made up in the last game (for example, PSV has +3 GD, while Dinamo has -8 GD).
  • Instead of considering each one of the 387 million outcomes equally as likely, I used ELO based odds for each match to have a better approximation to the real odds. This data was retrieved from elofootball.com.
  • The names of the teams and current standings were retrieved from the official CL website.

With all that said, let’s get into the results. You can check the full probability of each club finishing in each position here. In this post, I’ll mainly go over the chances of each team either advancing straight to the Ro16, going seeded/unseeded to the playoff, or being eliminated:

Probability of each team advancing

Some things that stand out:

  • Only Liverpool and Barcelona have guaranteed a place in the round of 16; there are 18 other teams that can possibly take one of the other 6 spots. Arsenal, Inter, Atleti, Milan and Leverkusen are more likely than not to have a spot, with the favorites for the last one being Lille and Aston Villa.
  • While they still may be eliminated, PSV and Brugge can still clutch a direct qualification to the Ro16. There odds are, respectively, 1 in ~25,551 and 1 in ~39,239. I can’t confirm it, but since they both also have an >0 chance of finishing 7th, it may be possible that both qualify directly.
  • If they fail to qualify directly to the Ro16, Arsenal, Inter, Atleti and Milan have a seeded place in the play-off secured. While there are 22 teams that can possibly finish 9th-16th, the most likely are Bayern, Atalanta, Dortmund, Real, Juventus, Feyenoord, Monaco and Brest.
  • For the final 8 spots in the playoff, there are 21 candidates. The ones most likely to finish in these places are Brugge, PSV, Sporting, Celtic, PSG, Stuttgart, Benfica and City. However, there are 17th clubs above these which are guaranteed not to be eliminated, so one of them will be eliminated. Given that Celtic is also safe from elimination, that means the other 7 will be fighting alongside Dinamo and Shaktar for the last 6 spots in the playoff.
  • 9 out of the 36 teams (25%) are guaranteed to be eliminated.

And that’s it. Thank you for reading! Depending on the response the post gets, I may do the same for the Europa League!