Combat Power (CP) is a numerical value assigned to each Pokémon as a function of its stats and level. CP was originally defined by Niantic as “how well a Pokémon can perform in Battle”, but as it will be shown in this article, that is not always the case.
Each Pokémon’s CP is just calculated by the CP formula as a numerical value depending on the Pokémon’s:
- Attack stat (and IVs)
- Defense stat (and IVs)
- Stamina stat (and IVs)
However, not all of these factors have the same influence in the CP formula. If you ever heard that the attack stat was the most important one is simply because it has the greatest influence in the CP formula, but Pokémon can be used in different ways and that does not necessarily imply that a species that cannot reach a very high CP is useless at all.
Pokemon GO’s combat power formula
The attack, defense and stamina stats need to be computed in order to calculate a Pokémon’s CP. They are defined as:
As it can be seen, the main elements to calculate a specific stat are its base value and its IV value. Once the main stats have been determined, the CP can be calculated.
The formula can now be defined, where the Pokémon’s level is also considered by the CP Multiplier (CPM), a numerical value associated to each level:
Let’s use a simple example to show how these formulas work. The sample case will be a Machamp at level 30 with 15 IVs in every single stat (100%). Machamp’s base stats are 234 (attack), 162 (defense) and 180 (stamina) and the CPM value at level 30 is 0.7317.
Then, the CP at that level would be:
Similarly, the max CP of a certain species can be computed by just including the CPM corresponding to level 40, which is 0.7903. In this case, the formula gives a result of 2889, which is Machamp’s Max CP. The floor function is just used to round down the result. For example, the result of the formula above was 2476.677, whose rounded down value is 2476. Finally, the max function is just used to make sure that the minimum CP obtained from that formula is at least 10.
Even if the base stats of a Pokémon were not enough to give a result of 10, this function would assign a CP value of 10 as the minimum.
How is the CP gain for each power up determined?
The CP gain can also be calculated for each power up. Based on several attempts with different CPM values, a rule of thumb formula was defined for each range of levels. Keep in mind that values obtained as a result should be rounded down too.
|Pokémon level||CP gain per power up|
|1-10||CP * 0.00445946079 / CPM^2|
|10-20||CP * 0.008919025675 / CPM^2|
|20-30||CP * 0.008924905903 / CPM^2|
|30-40||CP * 0.00445946079 / CPM^2|
From these formulas it can be deduced that from levels 30-40 the CP gain per power up will be significantly lower if compared to the previous level ranges, as you have probably seen in the game when you decided to power up a Pokémon further than level 30.
The resources needed to power up that Pokémon, however, will significantly increase.
Therefore, the player should really consider whether it is necessary or not to power up a Pokémon further than level 30.