Clustering the mons in the current meta
In this post I lay out a statistical methodology for clustering Pokemon and use it to define the current meta landscape and describe the 5 core archetypes currently in use.
Sites like Pikalytics and usage data from Showdown! and Pokemon Home are very useful for understanding popular Pokemon, but I’ve often found them to be lacking in getting a big-picture view of the meta. I don’t just want to know which Pokemon are used, but which groups of Pokemon are used. There are some statistics that help with this but I was motivated to try something I did long ago in a previous life when I was more interested in statistics and less in VGC–run a clustering algorithm on the current meta data.
Many data scientists and computer scientists will be familiar with clustering algorithms like k-means, but these algorithms will not work here as we are looking at simple binary data of whether a mon was included or not on a team. I won’t go into too much detail on the statistics, but I formulated the problem as a mixture model with each team as a vector of bernoulli random variables. We can then find a parameter matrix that maximizes the likelihood of the data via expectation-maximization.
If I’ve lost you at this point, I think you’ll get it when you see the results. And by the way, this is posted on my last 200 or so Showdown! matches so take it represents a fairly small sample (I excluded mons with < 3% inclusion).
The graphic below shows the results of the model. Each column represents a “core” and each row a Pokemon. The darker the cell the higher the inclusion probability of that Pokemon. At the bottom of the columns, you can see what percentage of teams that core is:
For attribution, please cite this work as
melondonkey (2022, March 28). Pokemon Analysis: Meta Cores. Retrieved from https://pokemon-data-analysis.netlify.app/posts/2022-03-28-meta-cores/
BibTeX citation
@misc{melondonkey2022meta, author = {melondonkey, }, title = {Pokemon Analysis: Meta Cores}, url = {https://pokemon-data-analysis.netlify.app/posts/2022-03-28-meta-cores/}, year = {2022} }