-
Notifications
You must be signed in to change notification settings - Fork 0
PvP IV Ranker
The PvP IV Ranker at /pvp finds the best IV spreads for a Pokemon in each GO Battle League format. Unlike raids, where pure attack wins, league play caps CP, so lower attack IVs often allow a higher level and a better overall stat product. Search a Pokemon and the tool ranks every possible IV combination for the league you picked.
Three league tabs sit at the top:
- Great League: 1500 CP cap
- Ultra League: 2500 CP cap
- Master League: no cap
Type a Pokemon name (for example "Azumarill") and press Show IV Rankings or hit Enter. The result shows the Pokemon's sprite, genus, Pokedex flavor text, and a Legendary or Mythical badge where it applies, followed by a ranked table.
Each row of the table is one IV spread: rank, the attack, defense, and stamina IVs, the best level that spread can reach while staying under the league cap, the CP at that level, and the stat product. The number one spread gets a gold highlight and ranks 2 through 10 a silver one. The table shows the top 25 spreads out of all 4,096 combinations (16 x 16 x 16), with a note telling you how many were ranked.
For Master League there is no cap, so 15/15/15 at the maximum level always wins; the table is mostly useful for seeing how little the lower spreads give up.
Everything is computed client side in ts/pvp.ts from the PoGoAPI base stats and CP multiplier table (see Data-Sources).
CP formula. With each stat scaled by the level's CP multiplier (atk = (baseAtk + ivAtk) * cpm, and likewise for def and sta):
CP = max(10, floor(atk * sqrt(def) * sqrt(sta) / 10))
This is algebraically the familiar floor((baseAtk + iv) * sqrt(baseDef + iv) * sqrt(baseSta + iv) * cpm^2 / 10) form, since the three multipliers combine into cpm^2 under the square roots.
Best level. For each IV spread, the ranker walks the CP multiplier table in level order and keeps the highest level whose CP stays at or under the cap.
Stat product, the ranking metric:
statProduct = (baseAtk + ivAtk) * cpm * (baseDef + ivDef) * cpm * floor((baseSta + ivSta) * cpm)
Attack and defense stay fractional, but stamina is floored because the game floors HP; two spreads with slightly different stamina can therefore tie at the same HP breakpoint.
All 4,096 IV combinations are evaluated, sorted by stat product descending, and assigned ranks before the top 25 are rendered. The league tabs are lazy: each panel is built on first activation by the shared tab helper in ts/shared/tabs.ts (see Frontend-Guide).
Repository | Live site | hailsDotGO is a fan-made project, not affiliated with, endorsed by, or connected to Niantic or The Pokémon Company. Game data comes from community sources credited on the Data Sources page.
Start Here
Features
- Raids and Counters
- DPS Calculator
- IV Calculator
- PvP IV Ranker
- Events
- Shiny Tracking
- Trainer Directory
- Raid Finder
- Social Features
- Trust and Awards
- Bug Reports
- Player Reports
- Store
- Accounts and Roles
- Admin Guide
Self-Hosting
Development
Translations