GO Rankings Methodology
Exactly how our attacker scores are computed, what goes in, and — just as important — what the model doesn't account for.
What the score is
Our tier list and best-attackers pages rank Pokémon by a neutral-target weave-DPS estimate: how much damage per second a Pokémon deals by weaving its best fast + charged move pairing against a target that neither resists nor is weak to the moves. It is a measure of raw offensive pressure — not a prediction of performance against a specific raid boss.
The exact formula
effectiveAttack = (baseAttack + 15) × 0.7903 // perfect-IV attack at level 40
n = chargedEnergy / fastEnergyGain // fast moves per charged move
cycleDamage = n × fastPower×STAB? + chargedPower×STAB? // STAB = ×1.2 when move type matches
cycleTime = n × fastDuration + chargedDuration
score = (cycleDamage / cycleTime) × effectiveAttack / 100
For each Pokémon we test every fast × charged move combination it can currently learn and keep the highest-scoring pairing. Scores are relative — only the ordering matters. Tier letters are percentiles of the #1 score: S ≥ 95%, A ≥ 85%, B ≥ 72%, C ≥ 60%, else D. By construction the top Pokémon is always S-tier.
Inputs
- GO base Attack per form (regional forms, Megas and Primals have their own real stats).
- Move power, energy, and duration (PvE values), including legacy and Elite-TM moves.
- The ×1.2 same-type attack bonus (STAB) and the official level-40 CP multiplier (0.7903).
What the model does NOT account for
These are real limitations — they're why we label the rankings an estimate:
- Defender typing and type effectiveness — per-boss raid guides use the separate matchup model documented below instead.
- Bulk and survivability (TDO): on the tier list a fragile attacker scores the same as a durable one with equal DPS. Raid guides do model TDO (see below).
- The Shadow Pokémon damage bonus — Shadow forms are listed with base-form stats and annotated on their pages instead.
- Weather boost, friendship bonuses, dodging, relobby time, and multi-Pokémon raid dynamics.
- Energy gained from taking damage.
- Availability: whether a Pokémon (or a legacy move) is currently obtainable is not filtered — but movesets that require a legacy/Elite-TM move now carry a “Legacy” badge.
For research-grade simulations that model all of the above, we genuinely recommend the community simulators (GamePress, Pokebattler, PvPoke for trainer battles). Our rankings aim to be a fast, transparent starting point computed from public game data.
The per-boss matchup model (raid guides)
The counter rankings on each raid guide use a deeper model than the tier list: every attacker's best fast + charged pairing is evaluated against that boss's actual typing and tier-scaled boss stats, using GO's real per-hit damage formula.
damagePerHit = floor(0.5 × power × Atk/Def × multipliers) + 1
// multipliers = STAB(×1.2) × type effectiveness × Shadow(×1.2)
Atk = (baseAttack + 15) × 0.7903 // attacker at level 40, perfect IVs
Def = (bossBaseDefense + 15) × bossCPM // per-tier boss constant, below
DPS = weave-cycle damage / cycle time // n = chargedEnergy/fastEnergy fast moves per charged
TDO = DPS × timeToFaint
score = DPS³ × TDO ÷ 1000
Type effectiveness uses GO's multipliers — super-effective ×1.6, resisted ×0.625, and ×0.390625 for main-series immunities (GO's double-resist tier) — stacked multiplicatively for dual-type bosses (double super-effective = ×2.56). The fast and charged moves' effectiveness are applied separately, since they can differ in type.
Raid bosses don't have levels: their stats are (base stat + 15) × a fixed per-tier CP multiplier, with a fixed HP pool — the well-documented community constants: Tier 1 CPM 0.5974 / 600 HP, Tier 3 CPM 0.73 / 3,600 HP, Tier 5 and Mega CPM 0.79 / 15,000 HP, Elite & Primal CPM 0.79 / 20,000 HP. Boss HP isn't part of the score (it's shared across the whole lobby); the tier CPM scales every candidate identically, so the counter ordering is robust to the tier choice.
Survivability (TDO) is a documented estimate, not a simulation. Incoming damage uses a neutral boss-DPS proxy: boss effective Attack × 3.6 ÷ the attacker's effective Defense — calibrated so a typical Tier-5 boss (effective Attack ≈ 250) matches the long-standing community rule of thumb of ≈ 900 ÷ Defense. Attacker HP and Defense are (base + 15) × 0.7903; Shadow Pokémon take ×1.2 damage (defense ÷ 1.2). We do notmodel the boss's specific moveset or its type matchup against your attacker, dodging, energy gained from damage taken, energy overflow (fast-move counts may be fractional), or relobbying.
The combined score is DPS³ × TDO ÷ 1000— the community-standard balance metric. Cubing DPS weights clear speed heavily (raids are timed) while the linear TDO term still rewards attackers that live long enough to deliver their damage; the ÷1000 only normalizes the displayed numbers. Shadow attackers aren't ranked yet, even though the model supports their ×1.2 damage dealt / ×1.2 damage taken.
How this compares to full simulators:the simplifications above shift absolute DPS/TDO numbers but largely cancel out in ordering, so our top counters track simulator lists (Pokebattler, GamePress) closely. Expect divergence mainly where survivability against a specific boss moveset separates glass cannons from bulky attackers, or where dodging changes the outcome — full simulators model both, we deliberately don't. Every formula on this page is pinned by hand-computed unit-test fixtures in the codebase, so a change to the math can't ship silently.
Where the data comes from
Stats, movepools, and move timings are imported from the community-maintained PogoAPI through a validated import pipeline — data only changes when a new import passes its checks, and the snapshot below is the import the current rankings are computed from. Page caching may re-render daily, but that never means the underlying data changed.
Source: pogoapi.net · Data snapshot: Aug 24, 2026 · 10,016 rows · Methodology