How rankings are calculated
Every score on this site — attackers, defenders, per-type lists, and counters — comes from the same estimator. This page explains it, what it assumes, and exactly where its numbers come from.
What this measures
Each score is an estimated cycle damage-per-second (DPS): how much damage a Pokémon's best fast + charged moveset deals per second, averaged over one full attack cycle. It is not a battle simulation — no dodging, no shields, no opposing moveset, no HP tracking. It is a comparative estimate for ranking Pokémon against each other, the same honesty framing used on every rankings and counters page.
The formula, worked
This is the current #1 Top Attacker, Eternatus, worked step by step:
Poison Jab + Dynamax Cannon
9.2What changes across contexts
The same formula runs in four contexts — only the target-type list and a bulk multiplier change:
| Context | Moveset | Target types | Extra step |
|---|---|---|---|
| Attacker rating / Top Attackers | Every moveset | None (neutral) | — |
| Defender rating / Top Defenders | Every moveset | None (neutral) | × bulk factor (√(Defense × Stamina) ÷ 100) |
| Best by type / type rankings | Restricted to one type | None (neutral) | — |
| Counters | Every moveset | The target's own types | Real effectiveness multiplier per move |
What the score does not account for
The formula never applies a CP Multiplier or a level. It uses each Pokémon's raw base Attack stat directly, so scores are proportional to base stats, not an absolute DPS figure at any specific level. They will not match a level-scaled DPS calculator's output — they're built to compare Pokémon against each other, not to predict real battle damage.
Where the data comes from
Base Attack, Defense, and Stamina come straight from PoGoAPI's own published GO base stats (its pokemon_stats data) — pogo-db copies them through unchanged. Every move's power, energy cost, and cast time come from PoGoAPI's move data the same way. The only computation pogo-db performs on top of these numbers is the score formula itself, described above.
Full attribution: Pokémon data and artwork from PokéAPI. Pokémon GO data from PoGoAPI.
What's not modeled
No weather boost, no friendship/buddy bonus, no dodge timing, no opponent moveset or shield behavior. Treat every score here as a ranking signal, not a battle outcome.