Advanced Pokemon Stats

In Pokemon Go, every Pokemon species has 3 Base Stats:

  • Attack
  • Defense
  • HP

In the main series, every Pokemon species has 6 Base Stats: HP, Attack, Defense, Special Attack, Special Defense, and Speed.

These are Snorlax's Base Stats from the main series:

HP
160
ATK
110
DEF
65
Sp.ATK
65
Sp.DEF
110
SPEED
30

And these are Snorlax's Base Stats in Pokemon Go:

ATK
190
DEF
169
HP
330
Base Stat Conversion

Base Attack in Pokemon Go is calculated with the following formula:

$$BaseATK = \frac{1}{4} Lower(Attack, Sp.Attack) + \frac{7}{4} Higher(Attack, Sp.Attack) * SpeedMultiplier $$
  • The lower value between Attack and Special Attack (in this case, Special Attack) is multiplied by 14.
  • The higher value between Attack and Special Attack (in this case, Attack) is multiplied by 74.

Base Defense is calculated similarly:

$$BaseDEF = \frac{3}{4} Lower(Defense, Sp.Defense) + \frac{5}{4} Higher(Defense, Sp.Defense) * SpeedMultiplier $$
  • The lower value between Defense and Special Defense (in this case, Defense) is multiplied by 34.
  • The higher value between Defense and Special Defense (in this case, Special Defense) is multiplied by 54.

The Speed Multiplier is calculated as follows:

$$SpeedMultiplier = 1 + \frac{Speed-75}{500}$$

Base HP is calculated with this formula:

$$BaseHP = Floor(50 + 1.75*HP)$$

Putting this together, we get the following values for Snorlax:

  • Base Attack = (14(65) + 74(110)) * (1 + (30 - 75500))
    • Base Attack = 190
  • Base Defense = (34(65) + 54(110) * (1 + (30 - 75500))
    • Base Defense = 169
  • Base HP = Floor(50 + 1.75 * 160)
    • Base HP = 330

And again, here are Snorlax's base stats in Pokemon Go:

ATK
190
DEF
169
HP
330
Actual Stats

IVs are added directly onto a Pokemon's base stats and multiplied by the CP multiplier (explained below) to get the Pokemon's actual stats. Actual stats are what's used in damage calculations when your Pokemon is fighting.

  • Actual Attack = (Base Attack + Attack IV) * CP Multiplier
  • Actual Defense = (Base Defense + Defense IV) * CP Multiplier
  • Actual HP = (Base HP + HP IV) * CP Multiplier
Pokemon Levels

Every Pokemon has a Level ranging from 1 to 40. You can estimate your Pokemon's Level using its Stardust Cost:

The CP Multiplier

Why is a Level 40 Rayquaza stronger than a Level 20 Rayquaza?

The answer may be obvious: because a Level 40 Rayquaza has higher stats than a Level 20 Rayquaza. But why does a Level 40 Rayquaza have higher stats than the Level 20 one?

The CP multiplier is a number that Niantic uses to scale a Pokemon's stats to its Level. Each level has a corresponding CPM value:

For example, here are Rayquaza's base stats:

ATK
284
DEF
170
HP
213

A Level 40 Rayquaza with IVs of 0/0/0 will have the following actual stats:

  • Actual Attack = (284 Base Attack + 0 Attack IV) * 0.79030001
    • Actual Attack = 224
  • Actual Defense = (170 Base Defense + 0 Defense IV) * 0.79030001
    • Actual Defense = 134
  • Actual HP = (213 Base HP + 0 HP IV) * 0.79030001
    • Actual HP = 168

And a Level 20 Rayquaza with IVs of 15/15/15 will have these actual stats:

  • Actual Attack = (284 Base Attack + 15 Attack IV) * 0.59740001
    • Actual Attack = 179
  • Actual Defense = (170 Base Defense + 15 Defense IV) * 0.59740001
    • Actual Defense = 111
  • Actual HP = (213 Base HP + 15 HP IV) * 0.59740001
    • Actual HP = 136
CP Formula

If we have the base stats, IVs, and Level for a Pokemon, we can calculate its CP:

$$CP = Floor((Attack)*\sqrt{Defense}* \sqrt{HP} * (CPM^2/10)) $$
  • Attack = (Base Attack + Attack IV)
  • Defense = (Base Defense + Defense IV)
  • HP = (Base HP + HP IV)

For example, a Level 20 Rayquaza with IVs of 15/15/15 will have the following CP:

$$CP = Floor((284 + 15)*\sqrt{170 + 15}* \sqrt{213 + 15} * (0.59740001^2/10)) $$
$$CP = \boldsymbol{2191}$$
The 9% Nerf

As a game-balancing measure, any Pokemon whose max CP naturally exceeds 4000 has its base stats reduced by 9%.

For example, here are Rayquaza's base stats from the main series:

HP
105
ATK
150
DEF
90
Sp.ATK
150
Sp.DEF
90
SPEED
95

Converting Rayquaza's stats to Pokemon Go gives us this set of base stats:

ATK
312
DEF
187
HP
233

Using the CP Formula for a Level 40 Rayquaza with IVs of 15/15/15, we get the following CP:

$$CP = Floor((312 + 15)*\sqrt{187 + 15}* \sqrt{233 + 15} * (0.79030001^2/10)) $$
$$CP = \boldsymbol{4571} $$

Since Rayquaza's max CP is over 4000, its base stats are all reduced by 9%:

  • Base Attack = 312 * 0.91
    • Base Attack = 284
  • Base Defense = 187 * 0.91
    • Base Defense = 170
  • Base HP = 233 * 0.91
    • Base HP = 213+

And again, here are Rayquaza's base stats in Pokemon Go:

ATK
284
DEF
170
HP
213

+Base stats are converted to Pokemon Go from the main series, multiplied by 0.91, and then rounded.