Objective

In most Pokémon games the player has to make a choice: to choose six Pokémon to carry and let all the others on the “Pokémon Center”. Usually, this choice is made based on how much the player likes each one of them, their level, their rarity or other random feature, but we will take another approach.

We will rank all Pokémon based on how effective they are against others, so we can chose our six Pokémon in a bias-less manner.

Exploratory Analysis

The damage in Pokémon is calculated based on multiple factors, but on our estimation we will just use attack, defense and type effectiveness (as described on the “Damage estimation” section). So let’s try to infeer which caracteristics a good Pokémon might have through an exploratory data analysis.

To start things off, let’s see how types are distributed among all Pokémon:

Our three most common Pokémon types are: Water (14.23%), Normal (13.10%) and Grass (9.73%). So picking a Pokémon that is good against water types might be a good option.

Besides type effectiveness, our damage depends only on attack and defense. Legendary Pokémon are known for being stronger than other Pokémon, let’s see if this holds true when analysing those features:

As we can see, almost 75% of legendary Pokémon are stronger if considering those features than the majority of “non-legendary” Pokémon. So, a simple strategy would be picking a legendary Pokémon that is good against water type Pokémon as our first pick. Of course, we are considering that we could choose between a lendary or a “non-legendary” Pokemon, but we know that lendary Pokémon are a much more difficult to find and catch.

Damage estimation

To calculate each Pokémon damage output and how much damage it would take from others, we are going to use a simplified version of the damage calculation presented by Bulbapedia.

We are going to consider all Pokémon having the same level, power and are going to use just type effectiveness (Type) as our modifier. This changes are made because we don’t have any information about the abilities that a specific Pokémon can use, other than their name. Thus, our damage will be calculated as:

Every Pokémon have a default attack/defense and a special one. So, to estimate how much damage a Pokémon will cause, we are going to calculate the average of those two attacks:

For each Pokémon, we are going to calculate the damage it would deal and how much damage it would take from all other Pokémon, using the formula presented above.

Most of the Pokémon have an estimated damage output similar to the estimated damage taken, but this doesn’t seems to hold true to Pokémon with an damage output greater than 1.5. Those Pokemos have high damage output and also a good defense.

Here are our top one hunderd fifty Pokémon when sorted by estimated damage output, feel free to choose your top six and I see you on the battleground.