Champions League Draw - 29th August '24 | Opponents (pg69) | Fixtures (pg128)

if (team == ManchesterCity)
{
AssignToughestDrawPossible();
}
The full Champions League draw algorithm has been leaked…

import random

# Teams organized by pots with their UEFA coefficients

pots = {
"Pot 1": {
"Real Madrid (ESP)": 121.000, "Manchester City (ENG)": 139.000, "Bayern Munich (GER)": 134.000,
"Paris Saint-Germain (FRA)": 112.000, "Liverpool (ENG)": 111.000, "Inter Milan (ITA)": 109.000,
"Borussia Dortmund (GER)": 100.000, "RB Leipzig (GER)": 98.000, "Barcelona (ESP)": 128.000
},
"Pot 2": {
"Bayer Leverkusen (GER)": 94.000, "Atlético de Madrid (ESP)": 106.000, "Atalanta (ITA)": 81.000,
"Juventus (ITA)": 95.000, "Benfica (POR)": 92.000, "Arsenal (ENG)": 85.000,
"Club Brugge (BEL)": 72.000, "Shakhtar Donetsk (UKR)": 78.000, "AC Milan (ITA)": 84.000
},
"Pot 3": {
"Feyenoord (NED)": 71.000, "Sporting CP (POR)": 79.000, "PSV Eindhoven (NED)": 65.000,
"GNK Dinamo (CRO)": 60.000, "Red Bull Salzburg (AUT)": 72.000, "Lille (FRA)": 63.000,
"Crvena Zvezda (SRB)": 59.000, "Young Boys (SUI)": 57.000, "Celtic (SCO)": 61.000
},
"Pot 4": {
"Slovan Bratislava (SVK)": 48.000, "AS Monaco (FRA)": 54.000, "Sparta Praha (CZE)": 51.000,
"Aston Villa (ENG)": 56.000, "Bologna (ITA)": 49.000, "Girona (ESP)": 50.000,
"Stuttgart (GER)": 53.000, "Sturm Graz (AUT)": 47.000, "Brest (FRA)": 46.000
}
}

# Determine the toughest opponent by UEFA coefficient

def get_toughest_opponent(pot):
return max(pot, key=pot.get)

# Create a draw ensuring Manchester City gets the toughest opponents

draw_results = {}
for team in pots["Pot 1"]:
if team == "Manchester City (ENG)":
draw_results[team] = [
get_toughest_opponent(pots["Pot 2"]),
get_toughest_opponent(pots["Pot 3"]),
get_toughest_opponent(pots["Pot 4"])
]
else:
draw_results[team] = [
random.choice(list(pots["Pot 2"].keys())),
random.choice(list(pots["Pot 3"].keys())),
random.choice(list(pots["Pot 4"].keys()))
]

# Remove drawn teams from the pots to avoid duplication

for opponent in draw_results["Manchester City (ENG)"]:
for pot in pots.values():
if opponent in pot:
del pot[opponent]

# Print the draw results

for team, opponents in draw_results.items():
print(f"{team}'s opponents: {', '.join(opponents)}")
 
Top 8 reach the knockouts, next 16 play a 2 legged qualifier to get to the knockouts. The league placing determines the draw for KO phase and the higher up gives teams an advantage, 1st and 2nd won't meet until the final and so on, the way the teams were drawn is not the order the games will be played, so definitely not dead rubbers.
A two legged qualifier sounds awfully similar to other knockout games… identical almost.

Personally prefer the randomness of a draw (if not rigged) rather than American style seeding all the way to the final. I guess we’ll see how it works.

However, if we’re 5th after 7 group games and guaranteed a top 8 spot. I can’t see us prioritising game 8 over the 2 league games sandwiched around it just to try and finish higher to potentially avoid another team.
 
Why would they be dull when every point counts?
Every point won't count. Teams that win their first 6 games will almost certainly be guaranteed a top 8 spot which could mean 2 dead rubbers. Likewise, Lose that many and you've got 2 meaningless games left. Then there will be a massive cluster of teams in the middle that after as little as 4,5,6 games will have secured a playoff spot and won't be able to reach the top 8 making their final few games entirely pointless too as it doesnt matter if you finish 9th or 24th, you'll still end up in the play offs.
 
They were sound in 2017. We have a few good fan links with Feyenoord fans, they have a group who come over for City games every now and again. Started when Paul Bosvelt signed for us.

Brugge fans on the other hand… fucking bellends!
Yeah forgot about our fan link with Feyenoord, Bruges it is then, they could be this seasons Young Boys
 
The full Champions League draw algorithm has been leaked…

import random

# Teams organized by pots with their UEFA coefficients

pots = {
"Pot 1": {
"Real Madrid (ESP)": 121.000, "Manchester City (ENG)": 139.000, "Bayern Munich (GER)": 134.000,
"Paris Saint-Germain (FRA)": 112.000, "Liverpool (ENG)": 111.000, "Inter Milan (ITA)": 109.000,
"Borussia Dortmund (GER)": 100.000, "RB Leipzig (GER)": 98.000, "Barcelona (ESP)": 128.000
},
"Pot 2": {
"Bayer Leverkusen (GER)": 94.000, "Atlético de Madrid (ESP)": 106.000, "Atalanta (ITA)": 81.000,
"Juventus (ITA)": 95.000, "Benfica (POR)": 92.000, "Arsenal (ENG)": 85.000,
"Club Brugge (BEL)": 72.000, "Shakhtar Donetsk (UKR)": 78.000, "AC Milan (ITA)": 84.000
},
"Pot 3": {
"Feyenoord (NED)": 71.000, "Sporting CP (POR)": 79.000, "PSV Eindhoven (NED)": 65.000,
"GNK Dinamo (CRO)": 60.000, "Red Bull Salzburg (AUT)": 72.000, "Lille (FRA)": 63.000,
"Crvena Zvezda (SRB)": 59.000, "Young Boys (SUI)": 57.000, "Celtic (SCO)": 61.000
},
"Pot 4": {
"Slovan Bratislava (SVK)": 48.000, "AS Monaco (FRA)": 54.000, "Sparta Praha (CZE)": 51.000,
"Aston Villa (ENG)": 56.000, "Bologna (ITA)": 49.000, "Girona (ESP)": 50.000,
"Stuttgart (GER)": 53.000, "Sturm Graz (AUT)": 47.000, "Brest (FRA)": 46.000
}
}

# Determine the toughest opponent by UEFA coefficient

def get_toughest_opponent(pot):
return max(pot, key=pot.get)

# Create a draw ensuring Manchester City gets the toughest opponents

draw_results = {}
for team in pots["Pot 1"]:
if team == "Manchester City (ENG)":
draw_results[team] = [
get_toughest_opponent(pots["Pot 2"]),
get_toughest_opponent(pots["Pot 3"]),
get_toughest_opponent(pots["Pot 4"])
]
else:
draw_results[team] = [
random.choice(list(pots["Pot 2"].keys())),
random.choice(list(pots["Pot 3"].keys())),
random.choice(list(pots["Pot 4"].keys()))
]

# Remove drawn teams from the pots to avoid duplication

for opponent in draw_results["Manchester City (ENG)"]:
for pot in pots.values():
if opponent in pot:
del pot[opponent]

# Print the draw results

for team, opponents in draw_results.items():
print(f"{team}'s opponents: {', '.join(opponents)}")
Did you write a simulator?
 
Every point won't count. Teams that win their first 6 games will almost certainly be guaranteed a top 8 spot which could mean 2 dead rubbers. Likewise, Lose that many and you've got 2 meaningless games left. Then there will be a massive cluster of teams in the middle that after as little as 4,5,6 games will have secured a playoff spot and won't be able to reach the top 8 making their final few games entirely pointless too as it doesnt matter if you finish 9th or 24th, you'll still end up in the play offs.
It probably will owing to the higher you finish the easier should be the route to the final, in theory that is.
 

Don't have an account? Register now and see fewer ads!

SIGN UP
Back
Top
  AdBlock Detected
Bluemoon relies on advertising to pay our hosting fees. Please support the site by disabling your ad blocking software to help keep the forum sustainable. Thanks.