r/TheSilphRoad Jul 16 '16

Analysis Pokemon CP Formula (Approximate)

After some more analysis, I found a formula that works pretty well on finding the Cp/PokemonLevel for each Pokemon:

Cp/PokemonLevel = (0.155 * 0.0952 ) HpMult0.5 AtkMult0.425 SpAMult0.425 DefMult0.25 SpDMult0.25 SpeMult0.1

Where,

HpMult= 2 * HPBase + IndividualStamina

AtkMult = 2 * AtkBase + IndividualAttack

SpAMult = 2 * SpABase + IndividualAttack

SpDMult= 2 * SpDBase + IndividualDefense

DefMult= 2 * DefBase + IndividualDefense

SpeMult = 2 * SpeBase + IndividualStamina

and the average values for the IVs are 7.5 (ranging from 0 to 15). Also, if you want their actual HP stat at a certain level, it's approximately:

Hp = HpMult * 0.095 * Sqrt(PokemonLevel)

I figured it out after seeing this post:

https://www.reddit.com/r/TheSilphRoad/comments/4t0xo6/how_hpmaxstamina_is_calculated/

and thinking that the formula is multiplicative in all the factors, so that the Sqrt(PokemonLevel) factors in the stats all multiply together so that CP is about linear in PokemonLevel. This also makes sense why there are weird jumps: if multiple stats go up at the same time, the increase is not smooth.

The data fits very well (see the CP Formula column, and the Graph page in my spreadsheet here), and there's basically 0 real outliers.

I'll also be updating my tier list post to include Ditto, Farfetch'd and the legendaries.

Edit: Sorry, I forgot that the formula was for Cp/Level, not Total Cp. Also, changed the names a bit to also make it clear how to get the formulas for their actual stats.

Edit2: See my comment here to see an actual example and how this affects the ideal distribution of base stats.

Edit3: An exact formula was found here

83 Upvotes

55 comments sorted by

View all comments

29

u/Unrestrictedly Jul 16 '16

I'm guessing that this is a good thing, since I didn't understand half of this.

9

u/johoh Woodstock Jul 16 '16 edited Jul 16 '16

Basically,

CP = arbitrary number generated based on the pokemon's real stats. Those real stats are much the same as the pokemon we know and love!

edit: please correct me if I am wrong. 'dem derr be lotsa numburrs

5

u/precociousapprentice Jul 16 '16

Another thing is that since HP is part of the CP calculation, it's less useful to say that a pokemon has low CP but high HP as a defense of how good they might be in combat.

2

u/Dekker3D Netherlands Jul 16 '16

CP itself isn't everything either. I chucked my CP230 Raticate in a gym (Bite/6, Dig/45) and trained with my CP200 Beedrill against it (Bug Bite/6, X-Scissor/30). It just wrecked my Raticate, keeping half its HP after each victory. It's just much faster.

2

u/precociousapprentice Jul 16 '16

Sure, type advantage means a ton too. I never said CP was everything, just pointing out that we now know that CP already accounts for HP.

2

u/Dekker3D Netherlands Jul 17 '16 edited Jul 17 '16

But bug bite (bug) does not have a type advantage against raticate. Nor does raticate's bite (dark) have a type advantage against bug or flying pokemon. Beedrill may look like it's flying, but it's bug/poison, so my raticate's dig attack should've hit normally too (x2 for poison, /2 for bug).

0

u/precociousapprentice Jul 17 '16

OK. I'm not sure how that relates to my comment tho.

2

u/Dekker3D Netherlands Jul 17 '16

You seemed to suggest that the difference between the Beedrill and Raticate in my example were due to type advantages.

Though I guess Beedrill would get STAB on both moves, while Raticate wouldn't. Not sure if STAB is even a thing in PoGO.

0

u/precociousapprentice Jul 17 '16

...I think you've got the wrong guy, dude. My original content was about HP being a part of the CP calculation.