I ranked all 171 type combinations

What is the order the types are in?


  • Total voters
    61
2982bf07-754a-4355-b9e7-f68f87722efc-jpeg.494251
 
i was so exited that the thread got revived, but its just the mods flexing
On second thought… yeah, let’s bring this thread back for real. I’d be open to more discussions.

What are your guys’s opinions on the idea that there doesn’t seem to be one consensus best typing in the game? I’ve been thinking about the type chart a lot lately, and I’m starting to wonder how the metagame would look without Steel-Types ruining the lives of offensive threats everywhere. Would physical attackers become too dominant, though? It’s hard to say. All I know for certain is that Steel’s combinations frequently rank among the best in the game, and they’re only further aided by their strong passive traits.
 
Now, evaluating at both defensive and offensive aspects is rather tricky. My idea is to have each of the 171 typings face off one another. During each matches, say between typing A/B against typing C/D (A the same as B and C the same as D, to account monotypes), I calculate which of A and B has the better effectiveness (x4, x2, x1, x0.5, x0.25, or x0) against typing C/D, let's call this effectiveness as max(A/B). Likewise I calculate max(C/D), then compare max(A/B) with max(C/D). If max(A/B)>max(C/D) then typing A/B wins the match, and if vice versa then typing C/D wins the match, otherwise it's a draw.

With number of wins minus number of losses as the basis for the ranking, the best typings are Flying/Steel (96 minus 35, also the highest number of wins), Flying/Ground, and Ground/Fire (both 91 minus 30). The lowest number of losses is Water/Dragon with 17.

Retried this idea, this time with the PageRank algorithm to sort the results. The idea of using PageRank is, correct me if I'm wrong, it'll give higher values for victories against stronger typings (e.g. Steel) than victories against weaker typings (e.g. Bug). By simulating matches like I did before, if typing A/B beat typing C/D, then typing C/D will link to typing A/B, if they tied, there'll be no links.

The top 5 typings came out to be: Ground/Water, followed by Flying/Ground, Ground/Fire, Flying/Steel, and finally Steel/Electric.

The full table can be checked here.

You can try running the PageRank algorithm yourself by using this site (I used 10 iterations) and entering this as the input.
 
Retried this idea, this time with the PageRank algorithm to sort the results. The idea of using PageRank is, correct me if I'm wrong, it'll give higher values for victories against stronger typings (e.g. Steel) than victories against weaker typings (e.g. Bug). By simulating matches like I did before, if typing A/B beat typing C/D, then typing C/D will link to typing A/B, if they tied, there'll be no links.

The top 5 typings came out to be: Ground/Water, followed by Flying/Ground, Ground/Fire, Flying/Steel, and finally Steel/Electric.

The full table can be checked here.

You can try running the PageRank algorithm yourself by using this site (I used 10 iterations) and entering this as the input.
the first four show really good signs of this being great.
the last one shows that this metric is not the answer. being 4x weak to ground and having a fighting weakness is really hard to come back from, something that imo not even fire/steel succeeds at
 
Since we can only appreciate pokemon through pre-existing threads now, I propose we start using this thread to appreciate pokemon of the various typings.

Let's talk about how we appreciate (/roll 171) those electric psychic types.
I enjoy electric psychic because they lean towards the same side of the physical special split, and each have their own terrain/weathers associated with them. I'd like to nominate chimecho and ampharos as honorary electric-psychic types.
1716914748172.png

Also who doesn't love raichu:
1716914817784.png
 
On second thought… yeah, let’s bring this thread back for real. I’d be open to more discussions.

What are your guys’s opinions on the idea that there doesn’t seem to be one consensus best typing in the game? I’ve been thinking about the type chart a lot lately, and I’m starting to wonder how the metagame would look without Steel-Types ruining the lives of offensive threats everywhere. Would physical attackers become too dominant, though? It’s hard to say. All I know for certain is that Steel’s combinations frequently rank among the best in the game, and they’re only further aided by their strong passive traits.
its hard to say whether ground and fighting would be much worse without steel types. it seems that paradoxically, steel is held back by its weaknesses to fighting and ground, but that a large part of why ground and fighting are so good is their ability to hit steel types. it is also incredible that two weaknesses hold back some otherwise absolutely busted types, like fire/steel and electric/steel from being in the top 10. also, ground is literally the only (figurative) weakness of fairy/steel, but it alone makes an otherwise no brainier for best type into just arguably the best. I think that without steel types, bulky rock types might be able to actually function. what do you think?
 
its hard to say whether ground and fighting would be much worse without steel types. it seems that paradoxically, steel is held back by its weaknesses to fighting and ground, but that a large part of why ground and fighting are so good is their ability to hit steel types. it is also incredible that two weaknesses hold back some otherwise absolutely busted types, like fire/steel and electric/steel from being in the top 10. also, ground is literally the only (figurative) weakness of fairy/steel, but it alone makes an otherwise no brainier for best type into just arguably the best. I think that without steel types, bulky rock types might be able to actually function. what do you think?
Rock-Types definitely get a lot better without Steel-Types in the picture offensively and defensively, since the latter type’s removal would theoretically give players less of a reason to select Fighting and Ground-Type options which, gee would you look at that, Rock is also weak to both of them. On average, though, I think the archetypal Rock-Type Pokémon needs more to be able to succeed in this environment, namely accurate STAB moves, higher Speed, and reliable recovery. When you take Mega Evolutions out of the equation, your options for fast Rock-Types that hit hard are surprisingly limited even outside of the Steel-Type head-to-head matchup.

On an unrelated note, bulky Rock-Types got done so dirty in Pokémon Emerald. Not only did they replace a bad matchup into Steven with… another bad matchup into Wallace, but Route NPCs and other Trainers still use the occasional Steel-Types, and the other bad Gym matchups still persist. The real kicker is that Rock Slide’s newly added Move Tutor is… postgame exclusive. Yikes.
 
My hot take on bulky Rock types is that Rock as a type feels decent... for special attacks. Fighting and Ground generally lean physical, while Steel/Water/Grass are pretty rare as coverage. Sandstorm's boost to SpDef can make neutral hits more favourable here (I may also have too much experience with Blissey to think that resists are 100% required to survive repeated hits), and a Fire resistance is very useful. Both Rock mons with free Sandstorm frequently run Specially defensive utility sets as a result. GF just keeps using SpDef as a dumpstat for Rock types when they aren't making something generalist.
 
My hot take on bulky Rock types is that Rock as a type feels decent... for special attacks. Fighting and Ground generally lean physical, while Steel/Water/Grass are pretty rare as coverage. Sandstorm's boost to SpDef can make neutral hits more favourable here (I may also have too much experience with Blissey to think that resists are 100% required to survive repeated hits), and a Fire resistance is very useful. Both Rock mons with free Sandstorm frequently run Specially defensive utility sets as a result. GF just keeps using SpDef as a dumpstat for Rock types when they aren't making something generalist.
Can I add something to this because it’s been bothering me for a while now? I think it’s both hilarious and sad that special attacking Rock-Types might be better on average than the archetypal slow, physical Rock-Type tank. If you were to ask me if I thought Rock’s strengths would ever shift to the special side 10 years ago I would have said you were crazy, but here we are. On defense you’ve got Sandstorm utility, and on offense you’ve got actually accurate STAB moves and statistical depth for the rare specially focused Rock-Types. I would much rather run one of either Power Gem or the more recent Meteor Beam as my go-to Rock-Type option over Rock Slide or Stone Edge, and the Pokémon who often utilize these moves strangely seem to be more consistent in neutral matchups because of their access to special type coverage such as Earth Power or a secondary STAB or something.

Switching focus back over to Steel-Types for a bit, I think it speaks to the dominance of Steel/Flying as a type combination that standard play (OU) has seen three different standout Pokémon with this type combination that can all succeed in different ways. Being a Flying-Type that takes neutral damage from Rock-Type moves and Stealth Rock is incredible opportunity cost value, and even without having higher Speed compared to most other Flying-Types, all of Skarmory, Celesteela, and Corviknight have an ability to inflict damage over the course of a game. In single player, this typing gets even better, since you’re more easily able to build around specific targets your Steel and Flying STABs may not have the natural coverage for. Ground-Types notably cover both Fire and Electric at the same time, so that’s a big plus.
 
Now, evaluating at both defensive and offensive aspects is rather tricky. My idea is to have each of the 171 typings face off one another. During each matches, say between typing A/B against typing C/D (A the same as B and C the same as D, to account monotypes), I calculate which of A and B has the better effectiveness (x4, x2, x1, x0.5, x0.25, or x0) against typing C/D, let's call this effectiveness as max(A/B). Likewise I calculate max(C/D), then compare max(A/B) with max(C/D). If max(A/B)>max(C/D) then typing A/B wins the match, and if vice versa then typing C/D wins the match, otherwise it's a draw.

With number of wins minus number of losses as the basis for the ranking, the best typings are Flying/Steel (96 minus 35, also the highest number of wins), Flying/Ground, and Ground/Fire (both 91 minus 30). The lowest number of losses is Water/Dragon with 17.
I've been mulling over what measure to use as a tiebreaker. The easy way is to use number of wins, but I was wondering if there's a way to measure how big of a win each win is. The answer I arrived at is basically how much health the winning side has at the end of the match.

To understand it, we need to go back to how we defined a match. It used to be just a comparison between the best effectiveness each side has against the other side. This time, imagine these:
  • Each side is represented by a Pokemon.
  • These Pokemon have 4 HP.
  • These Pokemon have 1 move for each of its type, so mono-type will have 1 move and dual-type will have 2.
  • Each move deals 1 HP multiplied by its type effectiveness against the defending Pokemon.
  • HP and damage dealt can be non-integer.
  • Every turn, each Pokemon will use the move that has best type effectiveness against the defending Pokemon.
  • Every turn, attacks from both sides happen simultaneously.
  • Keep doing this until one side faints.
  • If both sides are immune to each other, assume that they faint simultaneously.
At the end of the match, we'll take the proportion (think percentage, but represented as 0 to 1 instead of 0% to 100%) of the winning side's remaining HP. This number is then added to both sides in the table, named as "Win Score" for the winning side and "Loss Score" for the losing side.

As an example, imagine a match between Flying/Ground and Ground/Fire:
  • Turn 1: Flying/Ground uses Ground move, dealing 2 HP of damage (2 HP left). Ground/Fire uses Fire move, dealing 1 HP of damage (3 HP left).
  • Turn 2: Flying/Ground uses Ground move, dealing 2 HP of damage (0 HP left). Ground/Fire uses Fire move, dealing 1 HP of damage (2 HP left).
  • Ground/Fire has fainted, Flying/Ground has 2 HP left.
  • 2/4 = 0.5 is added to Flying/Ground's "Win Score" and Ground/Fire's "Loss Score".
You may have noticed that the remaining HP proportion is entirely dependent on the best type effectiveness each side has against one another, which I denoted by max(A/B) and max(C/D). You can see the value of remaining HP proportion on the table below.

Effectiveness00.250.5124
0011111
0.25100.50.750.8750.9375
0.510.500.50.750.875
110.750.500.50.75
210.8750.750.500.5
410.93750.8750.750.50

As you can see, the remaining HP proportion is actually equivalent to 1 - (max(C/D) / max(A/B)) where A/B is the winner of the match A/B vs C/D. This is what I use in my calculation, instead of actually simulating a match.

This method should give the same number of Win-Draw-Loss as our old method. But, now we also have a measurement of how big of a win each win is (Win Score) and how big of a loss each loss is (Loss Score).

With that covered, I recalculated the table. With number of wins minus number of losses (henceforth called "Result Difference") as the basis for the ranking and "Win Score" minus "Loss Score" (henceforth called "Score Difference") as the tiebreaker, our new sole #1 is Flying/Steel. This is expected because both the other old tied-#1 has 4x weaknesses, amplifying their "Loss Score".

Interestingly, our old tied-#1 Flying/Ground and Ground/Fire ties again here. They have the same number of Win-Draw-Loss, so the next fitting tiebreaker is probably either head-to-head or "Win Score" alone. Flying/Ground wins on head-to-head while Ground/Fire has the higher "Win Score".

Another interesting way to see the new table is what if we use "Score Difference" as the basis and "Result Difference" as the tiebreaker instead. In this ranking, the highly-regarded Steel/Fairy rises from #7 to #4 and Ground/Steel, which can be seen as the combination of arguably the best offensive and best defensive type, rises from #8 to #5. There are a lot of moving around in the table, but our top 3 remains the same. The main takeaway is this ranking highly rewards types with immunities and punishes types with x4 weaknesses.

The table can be checked here.

------------------

There's one other thing I mulled over. My table seems to massively underrate mono-types. The highest ranked mono-type on the table is Fairy at #98 with "Result Difference" as the basis, and Steel at #100 with "Score Difference" as the basis.

This seems to stem from the fact that they only have 1 choice for their attack, meanwhile the dual-types can choose the better of their 2 attacks and just disregard the other attack for the whole match.

The solution I came up for this is to take the effectiveness from both types in dual-types and add them together. For mono-types I just double the effectiveness, this is equivalent to treating them as dual-types, but has the same first and second type.

If you read the Explanation spoiler above, this time think of the Pokemon starting with 6120 HP and using 2 moves, 1 of each type, every turn. Yes, this means there are 4 moves used in each turn and they all happen simultaneously.

Why 6120? It's the LCM of (0.25, 0.5, 0.75, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 4, 4.25, 4.5, 5, 6, 8), all the possible damage dealt in a single turn, except 0. This makes sure that each match ends with one side dealing damage exactly equal to the remaining HP of the opponent.

Like the previous method, I use a much simpler formula for the calculation, but this time using sum instead of max.

You'd think that this is even more impractical because, why would a Pokemon ever use its weaker attack? But, I find the results interesting.

With "Result Difference" as the basis and "Score Difference" as the tiebreaker, our #1 is... Flying/Steel again. But, this time it wins by a landslide, with a "Result Difference" of 74 compared to 65 of the second place, Steel/Fairy. Rounding out the top 5 are Steel/Water (62), Flying/Ground (61), and Steel/Dragon (60).

Swapping the basis and the tiebreaker for the ranking gives a top 5 of Flying/Steel, Steel/Fairy, Ghost/Steel, Steel/Water, and Ground/Steel.

This new method does solve the problem of mono-types being underrated, with the highest mono-type being Ghost at #17 with "Result Difference" as the basis, and Steel at #23 with "Score Difference" as the basis.

The table can be checked here.

------------------

One of the biggest talking points of ranking the 171 typings is how much weight should one give to the offensive side of the typing. After all, a better type effectiveness always results in higher damage than having STAB. So, a Pokemon can just have the best defensive typing and use the best offensive types for its attacks.

How do we find the best defensive typing? I've seen a few people rating each typing by averaging the type effectiveness it has defensively against the 18 offensive types, and the sorting the results from lowest to highest.

That method does give good result. But, I want to take one step further, I want to take into account that the better offensive types will see higher usage.

How do we do it? We'll give a weight to each offensive type, representing how good they're as an offensive type. How do we calculate this weight? We use the same idea we used defensively, we average the type effectiveness each offensive type has against all the 171 possible type combination, let's call this "Offensive Score".

Now, we can get a new defensive typing by averaging the type effectiveness, but this time we weight (multiply) each offensive type by the "Offensive Score" they have.

But, we won't stop here. Since the better defensive type will also see higher usage, we'll take the defensive type effectiveness average to update our "Offensive Score". But, note that the average is reversed, i.e. the higher average a typing has, the worse typing it is. To account for this, I'll use the reciprocal of the number, and we'll call this "Defensive Score".

Similar to how we updated our "Defensive Score", we'll update our "Offensive Score" by averaging type effectiveness, weighted by each typing "Defensive Score. After this, we can update our "Defensive Score" again.

So, in short, we use "Defensive Score" (for 171 typings) to calculate "Offensive Score" (for 18 types), then use that "Offensive Score" to update the "Defensive Score" which we can use to update the "Offensive Score" again. We can repeat this as many times as we want. But, I found that after doing 25 iterations the ranking has converged.

What's the best defensive typing we get by this method? Surprise, it's Flying/Steel again. Our second place is Steel/Fairy. People would've expected it to get the first place, and indeed it would've been first if we only did 1 iteration (i.e. all "Offensive Score" are 1). I guess changing Ground weakness into immunity gives a big swing to the score. Rounding out the top 5 are Steel/Water, Steel/Dragon, and Ghost/Steel.

You can check the "Defensive Score" numbers here (the final score is on the rightmost column, named Iteration 25).

Note that the numbers are oscillating in period 2. That's why I said the ranking converged, instead of the numbers. I guess this happened because I was taking reciprocals. But, don't worry, the ranking is still the same even if you sort by Iteration 24.

This method also gave me the ranking for offensive types, in order they're Ground, Rock, Fire, Ice, Water, Fairy, Flying, Fighting, Steel, Dark, Ghost, Psychic, Electric, Dragon, Grass, Bug, Poison, Normal. You can see the "Offensive Score" numbers here.

EDIT: By treating Offensive Score as probability (constraining the sum to 1) I managed to make the numbers converge. The new Defensive Score sheet is here and new Offensive Score sheet is here. The ranking doesn't change.
 
Last edited:
Back
Top