by Andrew ‘PracticalTAS’ Nestico
Introduction
Over the past few years, Melee It On Me has assembled a list of the Top 25 Melee players each summer, to accompany their year-end Top 100 lists. This year, however, they’ve decided not to go through the trouble of creating the summer list because they’re short on time.
With this in mind, I figured I’d take matters into my own hands. Luckily I have a little help, as the Smash community has become the beneficiary of a few different kinds of analytics recently:
- Glicko rankings: matchup based, biased towards recency
- Tennis rankings: results based, biased against recency and towards peaks
- Reddit’s Top 30: opinion based, biased towards popularity and sometimes extreme recency
Individually each ranking has its weaknesses and strengths, but together they give us a solid picture of the state of Melee at the moment. It helps that the different perspectives tend not to agree with each other too strongly, though Glicko and Reddit are a bit closer to each other than either is to the Tennis ranking.
By crunching the numbers, we can combine the different viewpoints into a single list: a data-based SSBM Summer Top 25.
Methodology
If you’re only interested in the list, you can skip this section and scroll down. However, we aren’t just using a simple average to give everyone their spot, so if you’re interested in learning how the sausage is made, keep reading.
The individual lists give us a lot of useful data, but not in a very useful form. We need to convert each list into a matrix of head-to-head votes where each player receives a vote over every player that’s below him on a given list. Therefore, this:
Glicko (August 1, 2016) | Tennis (August 1, 2016) | Reddit (Summer Top 30) |
Hungrybox | Armada | Hungrybox |
Armada | Hungrybox | Armada |
Mango | Mango | Mango |
Leffen | Mew2King | Leffen |
Mew2King | Plup | Mew2King |
Plup | Leffen | Plup |
Becomes this:
Hungrybox | Armada | Mango | Leffen | Mew2King | Plup | |
Hungrybox | X | 2 | 3 | 3 | 3 | 3 |
Armada | 1 | X | 3 | 3 | 3 | 3 |
Mango | 0 | 0 | X | 3 | 3 | 3 |
Leffen | 0 | 0 | 0 | X | 2 | 2 |
Mew2King | 0 | 0 | 0 | 1 | X | 3 |
Plup | 0 | 0 | 0 | 1 | 0 | X |
We want each head-to-head matchup to have three votes between the two players, so each player receives half a vote in the event of a statistical tie. This happened three times in the data set: Swedish Delight/Wizzrobe (T-11th) and Nintendude/PewPewU (T-21st) according to Glicko rankings, and Lucky-Ice (T-15th) according to Tennis rankings.
From here, we want to turn the matchup matrix into a ranking list: a set of values that summarizes the matrix by stating the strength of each player. It turns out that there’s a mathematical theorem which says that as long as we set up the matrix the way we did above, such a list is guaranteed to exist.
Perhaps the most interesting property of this list is that multiplying the matrix by the list itself will spit out the list again. We can use this fact to know that we’ve come to the right answer. However, this raises the question: if you need to know the answer to find the answer, how do you get to the answer in the first place? For that, we’ll be using a little bit more math. I won’t go into the details, but we need to use a computer to calculate the matrix’s eigenvectors. One particularly well-behaved eigenvector will become our ranking list.
The Data-Based SSBM Summer Top 25
There are a few things to note about our list before we get to it:
- The final list will be similar to an average of each input list’s placements, but the algorithm I’m using will break ties and rearrange a few players
- If two of the input lists agree on a player’s position, he should be closer to that position than the average of his placements on all three input lists
- PPMD and Hax were considered ineligible due to inactivity, so they aren’t present on the list.
- Scores are relative
With that said, here’s the final list:
Rank | Player | Score | Average Input Ranking |
1 | Hungrybox | 1.000 | 1.33 |
2 | Armada | 0.935 | 1.67 |
3 | Mango | 0.704 | 3 |
4 | Leffen | 0.519 | 4.67 |
5 | Mew2King | 0.513 | 4.67 |
6 | Plup | 0.419 | 5.67 |
7 | Westballz | 0.311 | 7 |
8 | Axe | 0.229 | 8.67 |
9 | SFAT | 0.214 | 9 |
10 | Shroomed | 0.201 | 9.33 |
11 | Swedish Delight | 0.123 | 11.83 |
12 | Wizzrobe | 0.097 | 14.17 |
13 | Lucky | 0.089 | 13.83 |
14 | S2J | 0.085 | 14.33 |
15 | Colbol | 0.07 | 15 |
16 | Duck | 0.066 | 15.33 |
17 | Ice | 0.058 | 16.17 |
18 | Druggedfox | 0.039 | 18.33 |
19 | Nintendude | 0.038 | 19.17 |
20 | PewPewU | 0.026 | 19.5 |
21 | n0ne | 0.017 | 21.33 |
22 | Wobbles | 0.013 | 21.33 |
23 | Silent Wolf | 0.012 | 21.33 |
24 | MacD | 0.004 | 24.33 |
25 | Zhu | 0.003 | 25.67 |
There are a few parts of the list that you should pay close attention to:
- Leffen and Mew2King are tied in average placing at 4.67 — the Tennis rankings placed Leffen at 6th, below M2K and Plup, due to inactivity. However, in the final list, Leffen’s pulled back up to 4th because the other two input lists agree that he should be placed above Mew2King.
- If we were going by average placing, Wizzrobe would be below Lucky — his lack of a breakout tournament result depresses his Tennis ranking score. However, our algorithm puts him back above Lucky for the same reason that Leffen is above Mew2King.
- N0ne, Wobbles, and Silent Wolf are all tied by average placing, and the three remain balanced after head-to-head matchups are considered. In this case, the algorithm biases towards players who received some votes over stronger players. Wobbles received a vote over Druggedfox, Silent Wolf received a vote over PewPewU, and n0ne received a vote over both. Thanks to these votes, n0ne is first among the three tied players, and since Druggedfox is higher on the final list than PewPewU is, Wobbles gets the nod over Silent Wolf.
Conclusion
Any list like this can only be as good as the algorithm and data used to create it. This ranking algorithm is certainly more complex than a simple average, but with it comes a much better result. Also, the different perspectives of Glicko, Tennis, and Reddit rankings may not be perfect individually, but together they smooth out each others’ inconsistencies to create a valuable list.
Ppmd BibleThump
Well done, really enjoy the applications of linear algebra (especially the Perron-Frobenius theorem mentioned) and the strong consideration of various forms of data for this important pseudo-SSBM Summer Ranking. Keep it up 🙂
Hax F**king$
PPMD
I am very tired of people complaining about American bias and then placing Armada so high. Everyone ignores the data because of his 2015 run being the most solid run in smash for a while, but in fact he has been faltering very hard and everybody is ignoring it blissfully. Mango is definitely more solid from a data based standpoint. Hbox is the best without question, and Mango has more wins against him than all other top six combined. He has a huge win rate over Armada and hasn’t failed to place outside of top 4 in any tourney all year long, and only got fourth twice. Armada has struggled with Hbox slightly less but that seems to only because of his inability to fight him often, because recent sets have favored Hbox. Mango and Leffen have both dominated him all year and M2K 3-0d him too. His Fox isn’t even threatening to the players it was designed to counter and he effectively solo mains again. You can argue he would be the best if he had the chance to play more people more often, but pure data shows he can’t even undisputedly win Europe because Leffen beats him too often. He will be back but he simply isn’t preforming to the standard of top two right now. No hate but he isn’t number 2 from an unbiased PoV. Best player of all time maybe, not best player of 2016.