Guides

Pokémon GO: Everything players need to know about IVs and playing the “end game”

Learn how to get the most of your Pokémon GO team and make taking over Gyms all the easier!

Disclaimer: if you just want to play the game casually, totally for fun, and/or enjoy the simplicities of catching a Pokémon you happen to bump into on your daily commute, then please disregard IVs. The mechanic, like it is in the core series handheld Pokémon games, is really meant for min/max type players or those who have reached the “end game” and need something else to fill their time.

If you really want to care about IVs for whatever reason and don’t know where to start, then read on. Most of the following information is widely available on the web, but I’ll try to compile them into simpler terms if none are available.

Individual Values (IVs)

IVs stand for Individual Values. These are hidden numbers you cannot see on surface level assigned to every single Pokémon in the game. They are the game’s equivalent to real world genes. Every living thing on this planet is born with a set of genes. Every Pokémon that is generated in Pokémon GO comes with a set of IVs. Organisms in the real world that have superior genes are, well, technically better off than their brethren. In Pokémon GO, Pokémon with higher IVs have higher raw potential than their brethren of the same species (more on this later).

A little history…

In the core series handheld games (Pokémon Red, Blue, Gold, Silver, Diamond, etc.), IVs are associated with each of a Pokémon’s specific stats. Starting in Generation III (e.g. Ruby, Sapphire), the IV system covers a Pokémon’s HP, Attack, Defense, Special Attack, Special Defense, and Speed stats. Each stat has an IV range from 0 to 31.

The system is much more complicated in the core series games compared to Pokémon GO. In the former, you can manipulate the stats through breeding, take into account Natures, and a whole slew of other factors when planning out how you want to manage a Pokémon’s stats.

No need to worry about any of that for Pokémon GO… (yet?)

IVs in Pokémon GO

In Pokémon GO, rather than having six separated stats, IVs are separated into three stats: Attack, Defense, Stamina (HP). And instead of a range from 0 to 31, the range is 0 to 15. IVs are generated completely at random and you have no control over them at all.

Pokémon that hatch from Eggs, however, will have a much higher chance of coming with high IVs.

IVs and CP

Ah, CP (Combat Potential). The magic number that players love staring at, with many beginner players using the number as an end-all, be-all factor in what’s good versus what’s bad. Sure, it’ll give you an idea of what a “strong” Pokémon would look like, but because we’re dealing with IVs and hidden numbers, there’s always more underneath.

Without jumping into ugly formulas, know that a Pokémon’s CP is determined from a combination of the following:

  • A Pokémon’s base Attack, Defense and Stamina stats,
  • A Pokémon’s IVs for each Attack, Defense and Stamina stats, and
  • A Pokémon’s current level (including power ups)

Every Pokémon species has its own base stats. For example:

Poliwrath | Attack: 180 | Defense: 202 | Stamina 180
Gengar | Attack: 204 | Defense: 156 | Stamina 120
Chansey | Attack: 40 | Defense: 60 | Stamina 500

A common observation many players bring up for Chansey is that its CP always seems low. This is because of how CP is calculated based on a Pokémon’s base stats. If you’re really curious, the formula is below:

CP = FLOOR(Attack * Defense0.5 * Stamina0.5 / 10)
Where:
Attack = (BaseAttack + AttackIV) * TotalCpMultiplier
Defense = (BaseDefense + DefenseIV) * TotalCpMultiplier
Stamina = (BaseStamina + StaminaIV) * TotalCpMultiplier
And:
TotalCpMultiplier = CpMultiplier + AdditionalCpMultiplier (you should just refer to a chart for this because there are too many numbers associated with each level)
BaseAttack = 2 * ROUND(Attack0.5 * SpecialAttack0.5 + Speed0.5)
BaseDefense = 2 * ROUND(Defense0.5 * SpecialDefense0.5 + Speed0.5)
BaseStamina = 2 * HP
HP, Attack, SpecialAttack, Defense, SpecialDefense, Speed are all values taken directly from the Pokémon’s Generation VI (X, Y, Omega Ruby, Alpha Sapphire) base stats.
Example:
chansey_pokemongo_status
Gen. VI Chansey stats:
HP: 250
Attack: 5
Defense: 5
Sp. Attack: 35
Sp. Defense: 105
Speed: 50
BaseAttack = 2 * ROUND(50.5 * 350.5 + 500.5) = 2 * ROUND(20.2998243672) = 40
BaseDefense = 2 * ROUND(50.5 * 1050.5 + 500.5) = 2 * ROUND(29.9839462866) = 60
BaseStamina = 2 * (250) = 500
*Any Pokémon GO resource will report Chansey’s base stats at 40 Attack, 60 Defense, 500 Stamina. I thought it’d be useful to show people why the values are what they are.*
This Level 20 Chansey’s IVs | Attack: 13 | Defense: 11 | Stamina: 14
CpMultiplier at level 20 is 0.59740001
Attack = (40 + 13) * (0.59740001) = 31.66220053
Defense = (60 + 11) * (0.59740001) = 42.41540071
Stamina = (500 + 14) * (0.59740001) = 307.06360514
CP = FLOOR(31.66220053 * 42.415400710.5 * 307.063605140.5 / 10) = 361

Now if you bothered to navigate through all the numbers above, then you might ask…

Well, how the hell do you know the exact IVs for any Pokémon?!

Finding exact IVs

Determining your Pokémon’s IVs can be a really easy process or somewhat painstaking if you really care about the numbers. There are countless offline tools you can use to calculate IV ranges and there are also many online tools that directly pull the information from your Pokémon GO account.

The latter ones I mentioned do access Niantic’s servers, which means they are risky tools. I will not provide URLs for them. The offline tools generally give you enough idea to work with, especially when you combine them with the in-game appraisal feature.

The two more popular IV calculators I often see are the Silph Road IV Rater and PokeAssistant. Neither have pinpoint accuracy in most cases, but they do point you in the right direction.

For instance, in the Chansey example I used earlier in the spoiler tags for calculating CP, I reported mine as having an IV spread of 13 Attack, 11 Defense and 14 Stamina. How do I arrive at these numbers?

pokemongo_chansey_ivs

So if we add this Chansey to PokeAssistant, we get the following IV ranges. Depending on the Pokémon you’re using, you may get more or fewer results due to varying factors (your level, the Pokémon’s level, CP, for instance).

The in-game appraisal feature works well here to help narrow down the ranges.

chansey_3

Based on Blanche’s first comment, we can immediately eliminate the 77.8% and 80% ratings because that comment is only reserved for Pokémon at 82.2% (37/45) and above. Find a full list of appraisal comments here.

With three ranges left, we move on to the second comment, which states the Chansey’s stamina has the highest IV out of the three stats. This eliminates the 88.9% range because should Blanche have mentioned the stat is matched by another, we’d go with that. So this leaves us with two ranges: the 84.4% (13/11/14) one and the 86.7% (13/11/15) one.

Blanche’s final comment nails down the exact numbers, as her comment indicates the stamina IV is at 13 or 14. Should she have said “Its stats exceed my calculations. It’s incredible!” then we would know the IV is 15 and we’d end up looking at the 86.7% range.

Voila, this Chansey has the IV spread of 13 Attack, 11 Defense and 14 Stamina.

Obviously, it’s not always smooth sailing like this if you’re relying on tracking down the exact IV numbers. But you should be able to get a solid understanding for the potential you’re dealing with.

The End Game

So should I keep this Pokémon or not?

The big money question at the end of the day for anyone looking at IVs is whether or not the Pokémon has the potential to be invested in. None of us really want to throw around Candy and Stardust just to find a even more powerful Pokémon two days later.

I mentioned way further up that CP is not the end-all, be-all factor. It gives you an idea to start with, but we know IVs have an impact on the Pokémon’s max potential. There are other factors to keep in mind when you’re deciding on what to do with any particular Pokémon you obtain.

Movesets

Movesets include the Pokémon’s quick move (or primary move) and charge move (secondary move). A perfect IV Pokémon with a terrible moveset will generally not give you better results than an imperfect Pokémon (stats-wise) with the best moveset. If you were somehow born with perfect genes, that’s great and all. But if you want to be a professional basketball player and have no competency to dribble and shoot, you’re not going to stand out more than someone born with “weaker” genes but has the talent and skillset to make an impact.

The same goes for individual Pokémon in Pokémon GO and the core series Pokémon games. Depending on the role, such as for attacking or defending gyms, you’d want Pokémon with superior stats and the ideal moveset. You don’t want a Nidoking with Fury Cutter. Period. If I’m deciding between a 100% IV rating Nidoking with Fury Cutter and a 77.8% one with Poison Jab, I will take the one with Poison Jab without any hesitation.

And while we’re at it, Earthquake > the other charge moves.

The problem with movesets is in its randomness, with the situation made worse for multi-stage Pokémon. Upon evolution, a Pokémon’s moveset will change. Just because your Dratini has Dragon Breath when you caught it doesn’t mean it’ll still have Dragon Breath by the time it becomes a Dragonite.

Because of this, you have to think carefully about whether or not you want to keep/evolve a Pokémon just because its IV spread is nice. You can risk ending up with a high IV/terrible moveset Pokémon. At the same time, you could also end up with another Pokémon of the same species with slightly better IVs when you just got to the second stage of a three-stage evolution. These are things you’ll end up dealing with.

Pokémon levels

Lastly, another factor you should always consider is the Pokémon’s current level when you obtain it. A Pokémon’s level is not the same as your player level. The Pokémon’s level determines its CP ceiling at that time. The higher level the Pokémon, the higher the CP ceiling will be. The higher your player level, the higher level the Pokémon can reach. The Pokémon’s level cap will always be your level +1.5 until level 40, with each Stardust/candy power up going at 0.5 level intervals.

So for example, let’s use a Raichu:

A player at level 5 means the Raichu’s level cap will be 6.5 (5+1.5). At level 6.5, the Raichu can have a CP range of 305 up to 365, from 0% to 100% perfect IVs, respectively.

When the player levels up to 6, the Raichu’s level cap will automatically increase to 7.5. Assuming the player already used Stardust/candy to cap the Raichu at CP365 previously, he can now further power up the Raichu two more times from level 6.5 to 7.5, with the CP range now at 357 to 426.

This will keep going all the way until the player hits level 40, where an equal level 40 Raichu will have the maximum CP of 2028.

Knowing how the above works, when you obtain a Pokémon, you need to figure out what level it is, even if it’s just approximate. If you take into account its IVs, you know its potential. But is the potential great enough to warrant using resources to power it up? To evolve it (if applicable) and risk a moveset disappointment?

The final decision is up to you. If you’re desperate for a powerful Arcanine, you might want to roll the dice and gamble on a mid-level Growlithe with fantastic IVs, check the moveset and decide if you want to spend the resources powering it up. This is pretty much what I did for my first Arcanine. It had an IV rating of 88.9% (11/15/14) so I decided to evolve the Growlithe. It ended up with a terrible charge move in Bulldoze, so at CP1798, I decided to leave it as it is and start working on a second Arcanine with a better moveset. I’ve since acquired a 86.7% rated Arcanine with Fire Fang/Flamethrower, even though it’s at CP1668. I haven’t decided on powering it up just yet.

When should I power up a Pokémon?

Some people say you shouldn’t power up a Pokémon until you’re level 18. Until you’re level 21. Until you’re level 25. Until you’re level 30.

The only one I can really agree with is level 30 since that’s the threshold where wild Pokémon can never be found beyond level 30 (their CP caps and max CP will not be affected). But honestly, the way I played this entire time, I continuously powered up my strongest Pokémon to “competitive levels” respective of what I see around me as I did take time engaging in gym battles. It’s pretty much how I ended up with four Exeggutors around CP2000-2400 and three Gyarados above CP2000.

If you’re not going to be challenging and defending gyms, there’s no reason to power up any Pokémon. You might as well focus on getting your own player level up in order to raise the CP ceilings of Pokémon you encounter and obtain… at least until level 30.

This is even more important for players who do not have access to a lot of resources. I knew I could be aggressive with spending candy and Stardust because I know where to find the nests of many Pokémon I wanted to power up. But if it took you ages to hoard up enough Bellsprout candy to evolve a Bellsprout all the way to a Victreebel, maybe you would want to think twice about which Bellsprout you want to evolve as all those candies will vanish in the blink of an eye.

The power and choice are literally in your hands. You know what you want, so think carefully about how you want to pursue it.

Closing

Honestly, Pokémon GO is just a game. A pretty simplistic game at that.

If you’re not a min/max type of player, most of what I wrote above will seem crazy. But if you’re the player that spends hours, days, weeks, months, years grinding out really specific things in a game, then you know what this is all about.

There’s still plenty of question marks regarding the game’s mechanics and we all know Niantic is fairly active in making changes (including ninja changes). So everything here is potentially subject to change. Take it all with a grain of salt.

Useful resources

IV calculators:
Silph Road IV Rater
PokeAssistant

Databases & charts:
Pokémon GO @ Gamepress
Decoded base stats & capture rates @ github

Edited by bobandbill.