Skip to content
Published June 11, 2024

I suck at predicting who will win Melee tournaments. Infuriatingly, I would still argue that I know quite a bit more about results than your typical fan, but at the same time, I can’t deny the facts. It’s clear that I am either totally delusional or wildly cursed, and as a result of my failures, I’ve built entire napkin-math-based simulations of majors. This hasn’t worked. Not yet.

But you know what? Hobbies are at their most fun when you try to make sense of them, and remain flabbergasted by what happens in them. It turns out that uncertainty is actually pretty exciting. There’s not much you can do to prepare yourself for the possibility of the reigning world No. 1 finishing in 13th place at a major – not even when your own model predicts it to happen 3.1 percent of the time.

In today’s column, I’m going to show you my best attempt to prepare for the most insane tournament of 2024: Tipped Off 15. I will begin the column by discussing my existing major simulator, what changes I’ve made to it, what predictions I’m making, and what this process has taught me about living with uncertainty.

Methodology

If you’re familiar with how I’ve predicted Melee tournaments in the past, you won’t need to read it all over again. For those of you who are new to this, here’s what you need to know:

  • I collected annual head-to-heads among relevant players for tournaments I’m predicting.
  • Using those head-to-heads, as well as my own broader understanding of the scene, I manually input expected win-rates for each player against one another in a large “win probability matrix.” For players that lacked data against each other, I made educated guesses.
  • I then created a rough version of a double elimination bracket structure in Google Sheets, organizing player matchups, transferring over expected win rates for each particular matchup, and using a number generator to simulate matches between projected players..
  • I repeated the simulation of matches 1000 times, using a Javascript function I wrote to effectively simulate an entire tournament.

The devil, of course, is in the details. For my head-to-head collection process, I looked over the span of an entire year’s worth of data, and only examined head-to-heads among the group of players for whom I was predicting. My win-probability estimation wasn’t much better either; for matchups that had a lot of data, I was fairly confident. But for matchups in which two players had never played and were of similar caliber, results-wise and vs. peers, I didn’t quite have a strong sense of how to estimate their performances against one another.

The double elimination bracket structure was fairly difficult to replicate too – with the tricky part being the losers bracket. For my original double elimination bracket structure, I both ran into the problem of needing to give players “byes” for the losers bracket and I ran into the problem of “double jeopardy.” I did my best to account for this through reversing the seeding order of players sent to the losers bracket, but obviously, this is nowhere near as comprehensive as building a massive algorithm.

With these notes in mind, I made a few changes for my current major simulation process, which I’ve detailed below:

  • Instead of collecting annual head-to-heads among players within Tipped Off’s Top 64, I am collecting all their head-to-heads against everyone throughout the entirety of notable 2024 tournaments. Although it’s beyond the scope for me to include each and every single tournament, I ultimately recorded every set from what I think is an appropriate “enough” bootstrapped set of results: events with completed bracket structures recorded on Liquipedia. I did not include tournaments with modified or experimental rule sets, and I ignored events with inadequate top-level representation.
  • For the players whose results I’ve recorded, instead of manually giving them win probabilities against one another, I ran an algorithm that took into account individualized Elo ratings, characters they played (and matchups), and head-to-head histories to generate expected win-rates in a large 64×64 DataFrame within Python.
  • I recreate what I had previously initialized in Google Sheets – this time with Python DataFrames instead, wrapping it all together in a function that I could run 1000 times. I also found a way to save the specific bracket paths from Top 64 onward.

Once again, I want you to treat it like an incremental improvement on my prior tournament simulator: not the word of Nostradamus. There are also several limitations with this model as it exists right now. For example, while I believe I’m correct in choosing a limited amount of data to estimate win probabilities, it’s possible that my model may be better had I expanded it to tournaments over the last twelve months and not only 2024.

As another example, figuring out what weights to give each of Elo, head-to-head histories, and character matchups, was a huge dilemma in and of itself, as was assigning “starting Elo” for each player heading into this year. The long story short is that I ended up giving Elo a heavy weight (80 percent) in estimating win-rates, head-to-head histories significantly lower (15 percent) emphasis, and matchups barely any weight at all (5 percent).

In the future, I may have to experiment with this more; it led to some pretty strange outcomes for matchups that I don’t think are quite accurate (like saying that Zain had a 70 percent win probability vs. aMSa), but for now, I’m willing to run with it. My prior model, I believe was slightly ‘over-fitted’ by my bias and skepticism toward upsets; this one may be too upset heavy.

The biggest obstacle, however, still remained generating matches in the losers bracket and avoiding double jeopardy. Although I have a better idea of how I could possibly implement a more modern approach in my bracket for the future, the truth is that I’m just not good enough of a programmer to implement it right now. The same goes with how I still floated losers of winners round 1 into the next round of losers (49th place matches instead of 65th place matches). I will need to work on this for the future, and potentially even see about moving out my simulations to Top 128 players. For now though, I simply transferred my bracket structure as is, using a bit of reverse seeding in losers bracket, within Sheets to Python. If this is going to make the simulation Mickey Mouse, so be it.

Keeping this in mind, let’s get into the fun part: what exactly did my simulations tell me about Tipped Off 15? And are they true, or are they bullshit?

Is The Top 10 Really That Much Better Than Everyone Else?

Without wasting more of your time, I decided to center this column’s analysis on the top ten seeds, since they are the ones we’re most interested in. Furthermore, they make up the vast majority of winners in our 1000 simulations.

There were 38 instances, in 1000 simulations, of someone outside of these players winning Tipped Off 15. For whatever it’s worth, and for entertainment’s sake, I’ve listed out the simulations here.

  • Four times: Krudo and Colbol.
  • Three times: Chem, Akir, Junebug, and ckyulmiqnudaetr.
  • Two times: Spark, Salt, KoDoRiN, 2saint, mvlvchi, Joshman, and S2J.
  • One time: SDJ, Wally, Axe, Lucky, bobby big ballz, and Zamu.

You may have your quibbles with the specific players mentioned here. At the same time, it’s worth noting that it is still possible that someone out of our Top 10 could possibly “ascend” at this tournament. It may sound ludicrous given that this has basically never happened in Melee history – the closest cases are near-wins like Jmook at Genesis 8 or Mango winning Pound 3 – but 3.8 percent is still a low number. For more perspective, events as stacked as this upcoming Tipped Off are actually quite rare – they typically happen around three times a year. We probably haven’t even seen 100 comparable events to Tipped Off in the grand scheme of Melee history.

However, I still think this is slightly overstating the field’s strength. The model is basically telling us that an unprecedented rise to the top, and not just a mere breakout run to top eight, is just as likely as Hungrybox winning the tournament, and twice as likely as Wizzrobe winning. To me, that seems way too bullish. My guess is that some of the wacky universes are due to either my losers bracket structure lacking modern safeguards for “double jeopardy,” or, surprisingly, my head-to-head win-probability calculations understating the skill gap in Melee.

Still – the model shows that the top ten are the real contenders to win, even if it’s not by the margin that I think it should be. Within that Top 10, however, we get into something a little more interesting.

Are Zain and Cody Really That Much Better?

When I saw the disparity between Zain, Cody, and everyone else, I could not believe it. Mind you, I am speaking as someone who has literally written about how much better they are. This is bringing the gap to a whole new level though. Not only is this model suggesting to take Zain and Cody over the field – it’s straight up saying that the field itself is a total mess. Putting this into words, this is basically claiming that Cody and Zain each have a thirty percent chance of winning the tournament, with Cody being given the edge in this particular bracket. Looking at the actual bracket, I’m not sure I agree with the model. Is Zain having to defeat two of Krudo, Axe, Plup, or Soonsay significantly more difficult than Cody having to defeat two of Salt, KoDoRiN, moky or Wizzrobe? My guess is that it isn’t, but my model is stating it is due to Soonsay technically having a victory over Zain this year.

Regardless of Cody vs. Zain, what we’re seeing here is a field that cumulatively can compete with them, but to whom the model seems overall pessimistic for, mostly due to Zain and Cody, even after GOML, being far more consistent vs. everyone else. Again – I am very skeptical of the idea that Soonsay has entered the aMSa and Hungrybox level of major contention. Furthermore, putting Wizzrobe at 1.7 percent to win this event seems downright disrespectful. However, crazier things have happened in Melee history. Although I don’t think the model is accurate about how it distributes these numbers based on the projected bracket, I think it’s done an okay job sorting the contenders from the dark horses.

As far as the topic of Cody and Zain vs. everyone else goes, the truth is that giving the field 40 percent of a chance is somewhat gracious. Since Leffen won LACS 5, we’ve seen Cody and Zain enter nine tournaments together, with one of them walking out of each one with a victory. It really is that bad.

Who Are The Potential Breakouts?

Out of curiosity, I examined all 1000 of my simulations and tried to see which players it predicted to outperform their respective seeds the most number of times. To account for the fact that I floated my 49 to 64 seed players to Top 64 in loser’s bracket, I eliminated those players to filter the results a little better.For whatever reason, this model seems to really like the chance of an Inky, Zasa, Gahtzu, max, or Panda breakout (and, conversely, was very bearish on aMSa, Aklo, Joshman, and SDJ). However, I believe this statistic is still a bit too favorable to lower seeded players – at some point in the future, I think it may be worth finding a way to normalize “expected placements” from someone’s seed and setting Z-Scores or something to properly capture distance between different results. As of right now, I just ran out of time. However, I think this is still a potentially useful indicator for predicting who can break out.

Just giving it a quick look, I do think Inky, a player we’ve seen succeed vs. “better” mid-tier and low-tier players, actually has quite a good chance of making an upset vs. Axe, and, if he does, he’ll have a Sheik ditto vs. Krudo immediately afterward. Even if he loses to Axe, Inky is projected for a rematch vs. Junebug, whom he previously beat at Collision, in losers bracket.

The Beauty of Uncertainty (and My Prediction)

Working on this simulator in a bit more rigorous fashion has forced me to reexamine how I view Melee in a whole new light. Because I have a brain, I do not think it is particularly always “accurate” in capturing individual matches between players, but I’ve found a lot of enjoyment in trying to discover a new way to express how players perform against each other – and, as a result, being able to predict Melee tournaments. I have no illusions about my model being objective, and I don’t expect everyone to think it’s especially amazing or anything. It’s just a work in progress, and, for me, a new way of expressing myself in a hobby I really love.

More than that, however, it’s made me realize that there are some events in life that you simply cannot prepare for. Sometimes, they can be for the better, like when you finally create something you’re proud of. At other moments, they can utterly devastate you, like the loss of a loved one. But they will happen, and it doesn’t mean you can’t do your best to prepare for it. Life is all about uncertainty. You never know how everything will turn out.

And now, in the greatest transition of all-time, and switching gears to something far more pertinent to this column: I have to make my pick for Tipped Off 15. In a column all about numbers, the frailty of numbers, and how they cannot prepare you for the unpreparable, I’m going to go with Zain as my pick for Tipped Off 15 champion.

If it doesn’t happen, then there may just be one thing that we can all be even more certain about – the fact that I will always suck at predicting who will win Melee tournaments.

Resources:

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Melee Stats

Subscribe now to keep reading and get access to the full archive.

Continue reading