Pokémon Go Stat Mechanics

Experienced Pokémon players may be left confused by Pokémon Go's stat system. Instead of the familiar levels and six stats - HP, Attack, Defense, Special Attack, Special Defense and Speed - Pokémon in Go only appear to have an HP stat and a single Combat Power value (CP), which varies by species but can also be boosted for individual Pokémon. How exactly does this work, and what's really going on behind the scenes?

Table of Contents

The Relevant Variables

Pokémon Go's stat system is actually more similar to the main series than it looks. Pokémon do have a level, as well as Attack and Defense stats. The CP value is not a fundamental quantity, but rather a measure of overall strength calculated from the true underlying stat values in order to make the game simpler and more accessible: it provides one simple number to regard as a rough estimate of how strong the Pokémon is instead of having to weigh many numbers against one another.

Levels

Oddly, in Pokémon Go, Pokémon levels can be either whole or half numbers. Your Pokémon's level is indicated by the white arc above it on its status screen. The bottom left corner of the arc stands for level 1, while the bottom right corner stands for your trainer level + 1.5; the possible positions are not linearly distributed, though, so raising a level 1 Pokémon to level 2 results in a more significant shift on the arc than raising a level 20 Pokémon to level 21. Powering up a Pokémon will raise its level by a half; there is no other way to increase the level of a Pokémon. Evolving a Pokémon will only change its species to one with higher base stats, while keeping its level the same.

Pokémon can be caught in the wild at any level up to and including your trainer level, with a maximum of 30; Pokémon hatched from eggs will always turn out at your trainer level at the time of obtaining the egg, up to a maximum of 20.

Base Stats

Like in the main series games, each species of Pokémon has certain base stats that determine the general range of stats they can have at a given level. Pokémon Go ditches the physical/special distinction and the Speed stat in favor of a single Attack stat, a single Defense stat, and the familiar visible HP stat. Pokémon Go base stats are simply values set in the game data, but these values are actually calculated from the Pokémon's main series sixth-generation base stats, as follows, where Stathigher denotes the higher out of the physical and special main series base stat and Statlower denotes the lower, and Statmain denotes an individual main series base stat:

You'll notice the main series Speed base stat is part of the formulas for Attack and Defense; this might seem odd, but it's necessary to ensure speedy Pokémon get a fair deal in a game that has no Speed stat, since otherwise all the stat points they wasted on Speed in the main series would be moot in Go. The Speed factor essentially scales the stat according to the main series base Speed, boosting or reducing it by 1% for every five points of Speed it has above or below 75.

Prior to a November 2016 update, the base stat formulas were different:

The change was made because the old formulas were crucially flawed and affected the game balance in a counterintuitive way: the way they were calculated gave greater weight to the lower of the physical and special stats, punishing highly specialized Pokémon, and by using the square root of the Speed, speedy Pokémon got less bang for their buck than slower ones. Pokémon like Alakazam, who in the main series excel in Speed and one attacking stat while never using the other, ended up with subpar Attack in Go and nothing to make up for their weak defenses. With the new formula, the better stats are given greater weight, and they're scaled according to Speed in a linear fashion, giving speedy Pokémon a more appropriate boost.

IVs

Also like in the main series, Pokémon in Go have individual values, or IVs, that fuel individual stat differences among Pokémon of the same species. Each Pokémon has one IV for each of its three stats, and each IV is a number ranging from 0 to 15, with a higher IV yielding a higher value for the corresponding stat.

IVs are set at random to any number between 0 and 15 when you catch a Pokémon in the wild, but when one hatches from an egg, they'll be set to a number between 10 and 15, ensuring that Pokémon hatched from eggs have significantly better IVs on average than wild Pokémon. IVs cannot be changed; your Pokémon is stuck with the IVs it's had from the start forever, even if you power up or evolve it.

There are various fanmade IV calculators that'll try to estimate your exact IVs (here's one), but the Appraisal feature also allows you to get a rough idea of your Pokémon's IVs in-game. If you open the bottom-right menu on the Pokémon screen, selecting Appraise will call up the leader of your team and they will assess the strengths of your Pokémon. They will make three relevant statements: first, they will give the Pokémon an overall rating based on the sum of its three IVs (which can range from 0-45); then they will name the stat(s) with the highest IV for this Pokémon; and finally, they will assess how high that highest IV is. (After this they might also comment on the size of the Pokémon, but this is unrelated to IVs and whether it has any gameplay function is unknown.) This can be a little confusing, since the leaders will sometimes say that a Pokémon is subpar in battle only to follow it up with saying its stats are incredible; that simply means that the IV sum is lackluster but the Pokémon does have one good IV that the second sentence refers to. The messages, and their meanings, are as follows:

Overall rating

Candela (Team Valor)

Blanche (Team Mystic)

Spark (Team Instinct)

IV sum

Overall, your Pokémon simply amazes me. It can accomplish anything!

Overall, your Pokémon is a wonder! What a breathtaking Pokémon!

Overall, your Pokémon looks like it can really battle with the best of them!

37+

Overall, your Pokémon is a strong Pokémon. You should be proud!

Overall, your Pokémon has certainly caught my attention.

Overall, your Pokémon is really strong!

30-36

Overall, your Pokémon is a decent Pokémon.

Overall, your Pokémon is above average.

Overall, your Pokémon is pretty decent!

23-29

Overall, your Pokémon may not be great in battle, but I still like it!

Overall, your Pokémon is not likely to make much headway in battle.

Overall, your Pokémon has room for improvement as far as battling goes.

0-22

Highest IV rating

Candela (Team Valor)

Blanche (Team Mystic)

Spark (Team Instinct)

Highest IV

I'm blown away by its stats. WOW!

Its stats exceed my calculations. It's incredible!

Its stats are the best I've ever seen! No doubt about it!

15

It's got excellent stats! How exciting!

I am certainly impressed by its stats, I must say.

Its stats are really strong! Impressive.

13-14

Its stats indicate that in battle, it'll get the job done.

Its stats are noticeably trending to the positive.

It's definitely got some good stats. Definitely!

8-12

Its stats don't point to greatness in battle.

Its stats are not out of the norm, in my estimation.

Its stats are all right, but kinda basic, as far as I can see.

0-7

Stat Calculation

The actual value of each of your Pokémon's stats is given by the formula (base stat + IV) * level multiplier; the Attack and Defense stats are not rounded at all and can have fractional values since they are hidden from the player, but the HP stat is rounded down to the nearest whole number for display and in battle. The level multiplier (referred to as "CP multiplier" on some other sites; I think that's a misleading and confusing term, so I will be using "level multiplier") is a fractional multiplier based on the Pokémon's level; the exact values are programmed as a lookup table that has been extracted from the game data, but the multiplier is close to being 0.095 * sqrt(level * 2 - 1) for level 1-30, while for the higher levels (31-40) it starts to rise more slowly, with the formula turning into something closer to 0.05 * sqrt(level * 2 - 1) + 0.35. Overall, it ranges from 0.094 (level 1) to 0.7903 (level 40), with the difference between consecutive levels being greater for lower levels. This is the level multiplier table:

Level

Multiplier

1

0.094

1.5

0.135137432

2

0.16639787

2.5

0.192650919

3

0.21573247

3.5

0.236572661

4

0.25572005

4.5

0.273530381

5

0.29024988

5.5

0.306057377

6

0.3210876

6.5

0.335445036

7

0.34921268

7.5

0.362457751

8

0.37523559

8.5

0.387592406

9

0.39956728

9.5

0.411193551

10

0.42250001

10.5

0.432926419

11

0.44310755

11.5

0.4530599578

12

0.46279839

12.5

0.472336083

13

0.48168495

13.5

0.4908558

14

0.49985844

14.5

0.508701765

15

0.51739395

15.5

0.525942511

16

0.53435433

16.5

0.542635767

17

0.55079269

17.5

0.558830576

18

0.56675452

18.5

0.574569153

19

0.58227891

19.5

0.589887917

20

0.59740001

20.5

0.604818814

21

0.61215729

21.5

0.619399365

22

0.62656713

22.5

0.633644533

23

0.64065295

23.5

0.647576426

24

0.65443563

24.5

0.661214806

25

0.667934

25.5

0.674577537

26

0.68116492

26.5

0.687680648

27

0.69414365

27.5

0.700538673

28

0.70688421

28.5

0.713164996

29

0.71939909

29.5

0.725571552

30

0.7317

30.5

0.734741009

31

0.73776948

31.5

0.740785574

32

0.74378943

32.5

0.746781211

33

0.74976104

33.5

0.752729087

34

0.75568551

34.5

0.758630378

35

0.76156384

35.5

0.764486065

36

0.76739717

36.5

0.770297266

37

0.7731865

37.5

0.776064962

38

0.77893275

38.5

0.781790055

39

0.78463697

39.5

0.787473578

40

0.79030001

So What Is CP Anyway?

CP is simply meant to be an overall measure of the Pokémon's battle strength. It is calculated from the Pokémon's unrounded Attack, Defense and HP stats using the following formula:

`CP = max(|__("Attack" * sqrt("Defense") * sqrt("HP")) / 10__|, 10)`

This means that the maximum possible CP for a given Pokémon species at a given level can be calculated as follows, after plugging the stat formula in for the stat values and doing a bit of rearranging:

CP variation by IV is proportionally greater for Pokémon with lower base stats, since then the difference between an IV of 0 and an IV of 15 is proportionally greater. For example, a level 20 Caterpie (base stats 62 Attack, 66 Defense and 90 HP) can range from 170 CP to 253 CP, the latter being almost 49% higher, while a level 20 Butterfree (base stats 144 Attack, 144 Defense and 120 HP) can range from 675 CP to 831 CP, only a 23% increase. The Attack IV has the biggest effect on the CP on average, but again, that also depends on the base stat.

CP itself is not actually used in any calculations during battle; only the actual underlying Attack, Defense and HP stats are. CP determines the order of Pokémon in gyms and how much experience and prestige you gain for training at a friendly gym, but that's about it. Don't focus too much on CP - it may give a rough idea of a Pokémon's strength, but it arguably overweighs Attack compared to Defense and HP (Niantic likely made it this way in order to give equal weight to the single offensive stat and the two defensive stats, but this is arguably incorrect), and there's no guarantee that a Pokémon with a higher CP is necessarily better than one with a lower CP.

I care about the truth, and I strive to keep the information on this website accurate and up-to-date. For instance, where possible, I have taken pains to personally test claims about the video games before making them. However, doing so is not always feasible, occasionally I manage to be wrong even when I think I've confirmed something, and with a website of this size, it's difficult to keep track of every single piece of information anywhere on it that might need to be changed or updated. Thus, if you spot any errors, mistakes or out-of-date tidbits - or even just typos - I'd be thrilled if you would report them via this form.