Home

Blog

GO Guide
Formula Verified
Updated May 2026
Game Master Data

How CP Is Calculated in Pokémon GO — Full Formula Explained

Pokémon GO calculates Combat Power (CP) using a formula that multiplies a Pokémon’s total Attack stat by the square roots of its Defense and Stamina stats, then scales the result by the square of the CP Multiplier (CPM) for its current level and divides by 10. In simpler terms, CP is a compressed score derived from three hidden stats — Attack, Defense, and Stamina — combined with Individual Values (IVs) and a level-based scaling factor that rises with every power-up.
15 min read
All trainer levels
Pokémon GO

Last verified against Pokémon GO Game Master file, GO Wiki, and Silph Road research: May 2026. CP formula unchanged since 2020 level 50 expansion.

What Is Combat Power (CP) in Pokémon GO?

Combat Power, or CP, is the single number Niantic displays above every Pokémon to represent its overall strength. It is not a direct battle stat — CP itself is never used inside the damage formula during combat. Instead, it is a summary metric that compresses three hidden values (Attack, Defense, and Stamina) into one easy-to-read integer.

When you catch a wild Pikachu at 456 CP and another at 612 CP, the higher number tells you the second Pikachu has better stats, higher IVs, a higher level, or all three. But CP can be misleading. A Blissey with 2,800 CP is far tankier in battle than a Gengar with 3,000 CP, because the cp formula pokemon go weights Attack far more heavily than Defense or Stamina. Understanding how that weighting works is the first step to building teams that actually win — not just teams that look strong on paper.

CP ranges from a minimum of 10 (every Pokémon has at least 10 CP) up to roughly 5,600+ for a Level 50 Mega Rayquaza with perfect IVs. The cap varies by species because base stats differ dramatically across the Pokédex.


Use these free tools to verify CP, IVs, and battle performance for any Pokémon before investing Stardust:

The Official Pokémon GO CP Formula

Niantic has never publicly published the CP formula, but data miners extracted it from the Game Master file within weeks of the game’s 2016 launch. The formula has remained unchanged ever since — even after the Level 50 expansion in 2020 and the Trainer Level 80 update in 2025.

// Official Pokémon GO CP Formula (Game Master verified)
CP = FLOOR(
  (
    (BaseAttack + AttackIV)
    * SQRT(BaseDefense + DefenseIV)
    * SQRT(BaseStamina + StaminaIV)
    * POW(CPM, 2)
  ) / 10
)

Breaking this down: the formula takes your Pokémon’s base Attack plus its Attack IV (0–15), multiplies that by the square roots of (Base Defense + Defense IV) and (Base Stamina + Stamina IV), then scales everything by the square of the CP Multiplier (CPM) for the Pokémon’s current level. Finally, it divides by 10 and rounds down to the nearest whole number.

Why Attack Is King

Notice that Attack is not square-rooted — it enters the formula at full linear value. Defense and Stamina are both square-rooted, which means they contribute far less to the final CP number. This is why glass cannons like Gengar and Alakazam have deceptively high CP despite being fragile, while tanks like Blissey and Lugia have lower CP than their actual battle durability would suggest. When evaluating a Pokémon for PvP, never rely on CP alone — use the Stat Calculator to see the underlying Attack, Defense, and HP values.


CP is never used in battle calculations. The actual damage formula uses raw Attack and Defense stats — not CP. A 1,500 CP Azumarill can defeat a 3,000 CP Dragonite because the damage formula ignores CP entirely. CP is only a visual summary.

CP Multiplier (CPM) — The Hidden Scaling Factor

The CP Multiplier (CPM) is a level-dependent constant that determines how much your Pokémon’s stats — and therefore its CP — grow with each power-up. Every half-level from 1 to 50 has a unique CPM value hardcoded in the Game Master file. The CPM rises in a curve, not a straight line, meaning early levels see dramatic CP gains while late levels deliver smaller incremental bumps for the same Stardust cost.

Key CPM Values by Level

Level CPM Value Key Milestone
1 0.0940000 Minimum possible level
10 0.4225000 Early-game wild catches
15 0.5173939 Research task reward cap
20 0.5974000 Raid boss / Egg hatch cap
25 0.6679340 Weather-boosted raid cap
30 0.7317000 Wild catch cap (non-boosted)
35 0.7615638 Weather-boosted wild cap
40 0.7903000 Old Trainer cap (pre-XL)
45 0.8153000 Mid-XL tier
50 0.8403000 Current Pokémon max level

The CPM at Level 50 (0.8403) is only about 6.3% higher than the Level 40 CPM (0.7903). That small difference is why the jump from 40 to 50 yields roughly 8–10% more CP — not the massive leap many new players expect. The real value of Level 50 is hitting breakpoints in the damage formula, where a slightly higher Attack stat flips a 3-hit KO into a 2-hit KO.

For half-levels, the CPM is calculated as the average of the two adjacent whole-level CPMs. For example, Level 40.5 uses (0.7903 + 0.7953) / 2 = 0.7928. This is why every power-up raises CP by a predictable, smooth amount rather than jumping in chunks.

Base Stats, IVs & How They Feed Into CP

Every Pokémon species has three base stats — Attack, Defense, and Stamina — derived from the main-series Generation 6 stats. These are identical for every member of that species. On top of those base stats, each individual Pokémon adds Individual Values (IVs) ranging from 0 to 15 for each stat. IVs are permanent and never change.

Base Stats Example: Blissey vs. Gengar

Pokémon Base Attack Base Defense Base Stamina Max CP (L50, 15/15/15)
Blissey 129 169 496 ~3,113
Gengar 261 149 155 ~3,247
Mewtwo 300 182 214 ~4,724
Slaking 290 166 284 ~4,430

Blissey has the highest base Stamina in the game (496) but mediocre Attack (129). Because Attack is not square-rooted in the CP formula, Blissey’s massive HP pool is heavily discounted — giving it a lower max CP than Gengar despite being far superior in gym defense and PvP bulk. This is the single most important reason why combat power calculation should never be your only metric.

IV Impact on CP

A perfect 15/15/15 IV Pokémon will always have higher CP than a 0/0/0 IV Pokémon of the same species and level — but the gap is smaller than most players assume. For a Level 40 Mewtwo, the difference between 0% and 100% IVs is roughly 360 CP. For a Level 40 Blissey, the gap is only about 230 CP. The reason? Mewtwo’s sky-high base Attack (300) amplifies the +15 Attack IV more than Blissey’s low base Attack (129) does.


Attack IV matters most for CP. Because Attack enters the formula linearly while Defense and Stamina are square-rooted, a +15 Attack IV raises CP more than +15 Defense or +15 Stamina. In PvP, this is actually a disadvantage — high Attack inflates CP without adding proportional bulk, which is why Great League specialists often hunt for low-Attack, high-Defense/Stamina IV spreads.

CP vs. Actual Battle Performance

This is where most trainers get tripped up. CP is not used in the damage formula. When your Pokémon attacks a raid boss or a gym defender, the game calculates damage using raw Attack and Defense stats — completely ignoring the CP number displayed on the summary screen. CP is purely a visual convenience.

How Damage Is Actually Calculated

// Simplified Pokémon GO Damage Formula
Damage = FLOOR(
  0.5 * Power * (Attack / Defense)
  * STAB * Effectiveness
  * Modifier
) + 1

In this formula, Attack is your Pokémon’s (Base Attack + Attack IV) × CPM. Defense is the defender’s (Base Defense + Defense IV) × CPM. CP never appears. This means two Pokémon with identical CP can deal wildly different damage depending on their stat distributions. A 2,500 CP Medicham (high Defense/Stamina, low Attack) will survive far longer in Great League than a 2,500 CP Haunter (high Attack, terrible bulk) — even though both show the same CP.

When CP Misleads

High CP, Weak in Battle
  • Slaking — massive CP from high Attack, but terrible moveset
  • Regigigas — sky-high CP, nerfed by Slow Start mechanic
  • Aggron — inflated CP, weak to common Fighting-type counters
Lower CP, Strong in Battle
  • Azumarill — low CP cap, dominates Great League with bulk
  • Medicham — mediocre CP, elite typing and coverage
  • Registeel — low CP for a Legendary, walls entire metas

The 9% Nerf & Special CP Cases

In 2017, Niantic introduced a hidden 9% stat nerf for any Pokémon whose max CP at Level 40 would exceed 4,000. This was implemented right before Mewtwo’s first EX Raid release to prevent a single species from completely dominating every gym and raid. The nerf applies to base stats, not IVs or CPM.

Nerfed Pokémon (9% Stat Reduction)

Pokémon Unnerfed Max CP Nerfed Max CP Why It Matters
Mewtwo ~5,200 ~4,724 Still the top Psychic raid attacker
Slaking ~4,800 ~4,430 CP looks impressive, moveset is not
Dialga ~4,500 ~4,150 Master League staple despite nerf
Giratina (Origin) ~4,300 ~3,950 Nerf barely hurts its bulk-focused role
Groudon ~4,500 ~4,115 Precipice Blades keeps it raid-relevant
Kyogre ~4,600 ~4,150 Origin Pulse makes it the best Water attacker

To calculate CP for a nerfed Pokémon, first multiply its base Attack, Defense, and Stamina by 0.91, then plug the reduced values into the standard CP formula. The 9% reduction is applied before IVs and CPM are factored in. This is why nerfed Pokémon often perform better in PvP than their CP suggests — the nerf reduced their inflated Attack (which hurts CP more than bulk) while preserving relatively more of their defensive stats.

Best Buddy CP Boost

A Best Buddy Pokémon receives a hidden +1 level boost in most contexts — effectively raising its CPM to the next half-level above its actual level. A Level 40 Best Buddy Mewtwo uses the Level 40.5 CPM (0.7928 instead of 0.7903), adding roughly 15–25 CP depending on species. This boost does not allow power-ups past Level 50, but it does let a Level 50 Best Buddy function as if it were Level 50.5 for stat calculations.

How to Calculate CP Yourself: A Step-by-Step Example

Let us walk through a real example: calculating the CP of a Level 40 Mewtwo with 15/15/15 IVs. You can follow these exact steps for any Pokémon using the CP Calculator to verify your math.

1
Find base stats. Mewtwo’s base stats are: Attack 300, Defense 182, Stamina 214. Mewtwo is nerfed, so multiply each by 0.91: Attack = 273, Defense = 165.62, Stamina = 194.74.
2
Add IVs. With 15/15/15 IVs: Total Attack = 273 + 15 = 288. Total Defense = 165.62 + 15 = 180.62. Total Stamina = 194.74 + 15 = 209.74.
3
Get the CPM. At Level 40, CPM = 0.79030001. Square it: 0.7903² = 0.624574.
4
Plug into the formula. CP = FLOOR((288 × √180.62 × √209.74 × 0.624574) / 10). √180.62 = 13.439. √209.74 = 14.483. Multiply: 288 × 13.439 × 14.483 × 0.624574 = 35,060. Divide by 10 = 3,506. Floor = 3,506 CP.
5
Verify with the calculator. Enter “Mewtwo”, Level 40, IVs 15/15/15 into the CP Calculator. The result should match 3,506 CP exactly — confirming your manual calculation is correct.

Skip the math. The CP Calculator handles base stats, nerfs, IVs, CPM lookup, and rounding automatically. Just enter your Pokémon, level, and IVs for an instant, Game Master-accurate result.

CP Caps by League, Format & Encounter Type

Different game modes enforce different CP ceilings. Understanding these caps helps you target the right IV spreads and power-up levels for each format.

Format CP Cap Level Cap Strategy
Great League 1,500 CP ~Level 50 Low Attack IV, high Defense/Stamina for bulk
Ultra League 2,500 CP ~Level 50 Balanced IVs; some species max below cap
Master League Classic No cap Level 40 100% IVs optimal; no XL Candy needed
Master League (Open) No cap Level 50 100% IVs + Level 50 for maximum stats
Raids No cap Level 50 High Attack IV for damage breakpoints
Gyms No cap Level 50 High CP for motivation decay resistance

Encounter Level Caps & CP Ranges

Wild Pokémon, raid bosses, and eggs all spawn at fixed level ranges, which directly limits their CP:

Source Level Range IV Floor Max CP Factor
Wild (standard) 1 – 30 0/0/0 CPM 0.7317
Wild (weather boost) 6 – 35 4/4/4 CPM 0.7616
Eggs Trainer level, max 20 10/10/10 CPM 0.5974
Raids 20 10/10/10 CPM 0.5974
Raids (weather boost) 25 10/10/10 CPM 0.6679
Research tasks 15 10/10/10 CPM 0.5174
Team GO Rocket 8 – 13 0/0/0 (Grunts) CPM 0.2902 – 0.3625
GO Battle League 20 10/10/10 CPM 0.5974

A weather-boosted wild Tyranitar can spawn at Level 35 with 4/4/4 minimum IVs, giving it significantly higher CP than a raid-caught Tyranitar locked at Level 20 with 10/10/10 IVs — even though the raid version has better IVs. This is why serious PvP players often hunt weather-boosted wild spawns for Great and Ultra League: the higher level allows a lower-IV Pokémon to reach the CP cap with more stat points invested in bulk.

CP Formula FAQ

Pokémon GO calculates CP using the formula: CP = FLOOR(((BaseAttack + AtkIV) × √(BaseDefense + DefIV) × √(BaseStamina + StaIV) × CPM²) / 10). Attack is added linearly, while Defense and Stamina are square-rooted. The result is scaled by the square of the CP Multiplier (CPM) for the Pokémon’s current level, then divided by 10 and rounded down. Use the CP Calculator to compute this instantly for any Pokémon.

The CP Multiplier (CPM) is a hidden level-based scaling factor extracted from the Game Master file. It ranges from 0.094 at Level 1 to 0.8403 at Level 50. Each half-level has its own CPM value. The CPM is squared in the CP formula, meaning even small increases at high levels create noticeable CP jumps. Half-level CPMs are calculated as the average of the two adjacent whole-level values.

No. CP is not used in the damage formula. Damage is calculated from raw Attack, Defense, and Stamina stats — not the CP number. A high-CP glass cannon like Gengar can be outlasted by a lower-CP tank like Azumarill because the damage formula rewards bulk and typing, not CP. Always check actual stats with the Stat Calculator rather than relying on CP alone.

Because Attack enters the CP formula linearly while Defense and Stamina are square-rooted, Pokémon with high Attack and low bulk get inflated CP scores. Conversely, tanks with massive Defense and Stamina but low Attack get deflated CP scores. Blissey is the classic example: it has the highest Stamina in the game (496) but mediocre Attack (129), so its CP is lower than Gengar’s despite being far superior in gym defense and PvP survival.

The 9% nerf applies to any Pokémon whose max CP at Level 40 would exceed 4,000. Affected species include Mewtwo, Slaking, Dialga, Kyogre, Groudon, Giratina (Origin), and several others. Their base stats are multiplied by 0.91 before IVs and CPM are applied. This was implemented to prevent a single species from dominating every game mode. Nerfed Pokémon often perform better in PvP than their CP suggests because the nerf hits Attack (which inflates CP) harder than it hurts bulk.

IVs add 0–15 points to each of the three base stats. The impact on CP depends on the species’ base stats. A 15 Attack IV raises Mewtwo’s CP by more than it raises Blissey’s because Mewtwo has a much higher base Attack (300 vs. 129). For most species at Level 40, the gap between 0% and 100% IVs is roughly 200–400 CP. Attack IV has the largest CP impact because Attack is not square-rooted in the formula.

As of 2026, the highest possible CP belongs to a Level 50 Mega Rayquaza with perfect 15/15/15 IVs, reaching approximately 5,650 CP. Mega Mewtwo X and Y, Primal Groudon, and Primal Kyogre also exceed 5,000 CP at Level 50. For non-Mega, non-Primal Pokémon, Slaking holds the record at roughly 4,430 CP — though its terrible moveset makes that number misleading in actual battle.

The CP Formula Mastery Framework

Understanding how CP is calculated separates informed trainers from those who waste resources on misleading numbers. Apply this framework to every Pokémon you evaluate:

1

Remember CP is a summary, not a battle stat — it compresses Attack, Defense, and Stamina into one number but is never used in the damage formula

2

Attack dominates CP — because it is not square-rooted, high-Attack Pokémon get inflated CP while high-bulk Pokémon get deflated CP

3

Verify with the CP Calculator — enter any Pokémon, level, and IVs for an instant, Game Master-accurate result

4

Check actual stats for PvP — use the Stat Calculator to see real Attack, Defense, and HP before investing Stardust

5

Account for the 9% nerf — Mewtwo, Slaking, Dialga, Kyogre, and Groudon have their base stats reduced by 9% before CP calculation

6

Target the right CP cap for your format — 1,500 for Great League, 2,500 for Ultra League, no cap for Master League (Open = Level 50, Classic = Level 40)

Information accurate as of May 2026. Verified against Pokémon GO Game Master file, GO Wiki (Fandom), Silph Road research, and Bulbapedia. CP formula unchanged since 2020 level 50 expansion. Trainer level cap increased to 80 in October 2025 with no change to Pokémon CP mechanics.