After about two months, Genesis is finally here. Normally this event happens earlier in February, if not outright in January, but it’s better late than never. In fact, given how The Big House 11 happened in October, this is actually one of the longest breaks we’ve had between majors within a standard year of majors. It’s about time we get to watching our best players take each other on at the most prestigious events.
The thing I'm looking forward to most in the projected Genesis X bracket is Leffen vs DK 2: Electric Boogaloo pic.twitter.com/fBIT2p0RAw
— Junebug (@arJunebug) February 11, 2024
Keeping this in mind, I’ve cooked up something new for this week’s edition of Monday Morning Marth. You may be used to my major preview series – in which I typically break down about 32 or 64 players to look out for at each major. But in today’s column, I’m going to showcase my amateur attempt at simulating Genesis X 1000 times, share what I’ve learned in the process, and then make my prediction for who I think will win the event.
Methodology
The first thing I decided to do was scale my project down. I don’t have the time, resources, or patience, to gather head-to-head data for all 1500+ entrants of the event, and what I’m mostly interested in here is seeing who wins the event. Because of this, I’ve narrowed down my data pool to just looking at 32 players: the current projected Top 32 for the winners bracket. For every simulation moving forward, we will just be looking at these players, and even floating them through loser’s to Top 32 as well.
My next step was to estimate head-to-head win probabilities of all the Top 32 against each other. I initially tried only using head-to-heads over 2023, but there were too many instances in which the numbers were not telling the full story of sets and matchup trends. For example, Hungrybox vs. Mango was 3-0 last year, and in a standard bet, I would give Mango 4:1 underdog odds. However, it’s very clear that sets with Mango’s Dr. Mario and Marth barely tell me anything about one of the most historically back and forth rivalries in the history of Melee. I do not think 4:1 underdog odds accurately capture Mango’s next set vs. Hungrybox.
controller works 👍 pic.twitter.com/ii9YezopXg
— hungrybox (@LiquidHbox) February 11, 2024
There were many other factors to consider in my odds-setting as well. If a player, more or less, had an ‘advantage’ over another one (winning two sets in a row, playing a winning matchup, or having more experience in a matchup,) I tended to weigh that in favor of the favorite. In cases where two players were of different skill levels, but hadn’t ever played before, I tried to use a player vs. another comparable “peer” as proxy. I will not pretend like this was an entirely scientific or consistent process – it’s by far the area of “simulating” a Melee major that I’m least confident in. As a matter of fact, it involved finding quite a few outliers to typical rules. At the same time, I wasn’t sure what else to go from. If my model sucks, it might also be because predicting who will win sets of Melee is very difficult.
Regardless, I then tried my best to build out a “bracket” structure within another separate spreadsheet. Essentially, what I did was create labeled rows for each stage of bracket, list the two players competing in separate columns, cross-reference the win probability of player 1 vs player 2, pick a random integer between 0 and 1 in another column, and determine a winner based on if the integer landed within the win-probability range. For example, if Player A had a 70 percent win-probability against Player B, and the random integer chosen was 0.69, Player A would move to the next stage of bracket, while Player B would be sent to the loser’s bracket or a separate column corresponding with their final placement.
To those of you quickly reading this, that probably sounded like word salad. If you’re curious about the details, you can check out the end of the column. For now, what you need to know is that I essentially recreated a double elimination bracket structure within Google Sheets, making sure that the grand finals accounted for bracket resets as well. As I overview what my model churned out, keep the following in mind before you get too mad at me.
- Although I tried my best to keep the bracket within the same structure as the official one, I did not have a way of factoring in “double jeopardy” in the loser’s bracket seeding. In a typical major, this is heavily built into the tournament algorithm. But for me, it was just beyond the scope of what I was looking to explore.
- Given that I was working with only 32 players, I made the deliberate choice to assume anyone who lost in the round of 32 for winners bracket would win their losers matches for 33rd place and play each other in the losers bracket for 25th place. Some players will benefit from this; others will not, and that will inevitably play a role in determining their chances of winning the event.
- Unfortunately, just due to time constraints, I only have the final top eight placements of each of my 1000 simulations. For next time, I will try to find a way of preserving/documenting every specific bracket path.
- This is a series of simulations for one particular tournament; as a result, projected brackets and matchups factor heavily into my model. If you’re wondering why your favorite player is seemingly underrated by these simulations, it’s mostly likely because of their difficult bracket path as of right now.
- Because I am simulating one tournament 1000 times – and this tournament is typically the most stacked one of every year – expect to see some strange outliers pop up every now and then.
Who won the most?

Because we’re simulating one event 1000 times, this metric tends to favor consistency a lot more than top echelon head-to-heads. As a result, it shouldn’t be too big of a surprise to see Zain with a decent gap over everyone else. However, what’s pretty interesting is the fact that Mango’s actually ahead of Cody here. I believe this has to do with the projected bracket. If you’re Mango, you’re thrilled to see opponents like KJH or Salt or Zamu in familiar territory. In comparison, Cody’s first projected opponent in winners round of 32 is Krudo, who just won a regional over KoDoRiN. If he beats Krudo, Cody still has to most likely make it through Joshman. Both Krudo and Joshman have shown over the last two years that they can defeat Cody as well.
The next tier of contention would be Jmook, aMSa, and Leffen. Jmook’s tough path before the winner’s quarters is a little bit scary, as Panda and then one of Spark or Axe will be awaiting him. An especially important match he’ll be awaiting for is the other side of winner’s quarters, where his bracket fate will practically depend on if aMSa, Zain, or anyone else make it out. On that note, aMSa’s great chances vs. Zain, as well as the fact that Cody, moky, Trif, and Wizzrobe were on the other side of bracket, made him a good pick for this model. Meanwhile, Leffen was very difficult to predict – I was a little lower on him just by virtue of potential rust and dropping sets to the field, as well as the potential chance of him DQ’ing at any point in the tournament. At the same time, it’s Leffen. If he gets to the final stage of the bracket, he can defeat anyone in the world.
We then get into the last tier of contenders, with Wizzrobe, Hungrybox, and moky coming next. Wizzrobe has a hard first draw in Fiction; if he gets by though, he has a fairly doable path, with a good matchup against Hungrybox, and relatively decent odds vs. the top seeds. With Hungrybox, he typically benefited from volatility in general, typically doing well when n0ne or S2J upset Zain and when Fiction beat Wizzrobe. In the case of moky, he just had the toughest draws of anyone in the top eight seeds before winners’ quarters (Ossify and Trif). Being on the opposite side of the bracket as Zain, Mango, and Jmook should help him, however. And if it makes any haters feel better, moky winning would be expected at this point, given my track record.
The last person I have here is the most fascinating one in SluG. Looking at each of the eleven scenarios where he won Genesis, I have to believe a large portion of this is due to his relatively favorable shots against much of the top echelon. Compared to other people in his range of players in Top 32, he has uniquely strong upset potential vs. each of Zain, Jmook, Mango, Leffen, KoDoRiN, and Aklo. He also, however, does benefit from the fact that I’m only looking at the Top 32 seeds. If this model were to account for more players before this stage of bracket, SluG’s chances likely go down, just because he may be susceptible to an upset earlier.
For the people I had who won less than one percent of the time, their relatively unfavorable odds just came by an unfortunate bracket. But for others, I think it was luck of the draw. Take Simulation 990, in which KJH won a Genesis X in which he beat Wizzrobe in grand finals, where Mango, Hungrybox, and aMSa all missed top eight, and in which n0ne and Trif made top eight. Simulation 712 is another good one – Magi defeated Cody in grand finals here, and while Axe and Ossify had amazing fifth place runs, Zain, Jmook, Leffen and moky were suspiciously absent from top eight.
One brief note: I was surprised to see Axe without a major win. I feel like he should at least be in the group of players ranging from KoDoRiN from Zamu. Although he’s seen better days relative to the field, he’s still won a major before. While it’s been years since he finished in second place at Genesis, him having less than a thousandth of a chance feels strictly wrong.
Who Made Top 8 The Most?
Unsurprisingly, you will find Zain at the top. Much like what I wrote above, this model also heavily favored aMSa, Leffen, Jmook, and Hungrybox. However, what I was personally surprised by was that it didn’t like Cody’s chances. This feels incorrect, and I feel similarly about even Zain’s chances.
If I were to guess a contributing factor, it’s very likely that my model didn’t have an accurate way of seeding loser’s bracket matchups. In many of the simulations where Zain or Cody missed top eight, it was usually the other one who made it. Just briefly looking through the instances of the top eight where this happened and from what I can gather, they usually were the cause of the other one missing out. On the other hand, this is also the caliber of event that only happens once or maybe twice a year. When you factor this in, perhaps it’s actually not too crazy to envision them missing the top eight.
Considerations For the Future:
- This one is obvious: save the bracket paths of each simulation I run for a major. I should have figured out a way to do this; I just didn’t have time.
- In lieu of lacking certainty, it may be worth running a Monte Carlo simulation and then creating a graph of different “expected” average placements or finishes within a major Top 32 or so based on their potential “ranges” of win probabilities against each other. This way, rather than simulating a bracket based on static numbers; it could be done more dynamically.
- I need to research the likelihood of upsets against the top brass. I think in my current model, events like Zain, Cody, and moky losing early happened way too much. As is set right now, everyone from Trif or underneath have a collective five percent chance of winning Genesis , which I’m not sure accurately captures their chances. Maybe I need to adjust ‘win probabilities’ I had set at 70 percent for favorites in the top ten, maybe move them up to 80, and move the ones at 80 up to 90, etc.
- See if there is a way to automate the process of avoiding double jeopardy and creating an accurate loser’s bracket.
- Research if “loser’s bracket momentum” is a real phenomenon I could apply to certain players over others.
- Add more players beyond just the Top 32.
- Think beyond Excel – I might need to use something like Python for this in the future to make this less of a pain in the ass.
My Pick to win Genesis X:
I’m going to go with the fun one here: Mango due to a mix of his new investment in competing and his great packet path. Jmook is a little tough, but Jmook himself has a tough projected path of Panda and Spark to even get to him, and it’s not like Mango hasn’t beaten him before. From there, Mango would have to defeat one of aMSa or Zain before most likely playing Cody or moky.
With regards to his chances vs. the first two, the numbers currently underrate how good of a shot Mango has versus Zain when he’s actively invested in competing and not, say, wasting everyone’s time by playing Dr. Mario at majors. I feel somewhat similarly about his sets vs. Cody Schwab. We also just saw Mango snap a long losing streak to aMSa last year. It would be a pretty incredible return to form for the first Genesis champion ever, so I’m going to call it.
Resources
- How It Works
- Liquipedia H2Hs
- Genesis X Bracket
- Saved Top 8 Results
- Honey, a Melee player with a background in Excel, who helped me re-write and code my spreadsheet.