⚔ smogu

Usage Lookup — how to read the data

Selecting a format

Choose a tier from the left dropdown (e.g. gen9ou, gen9championsou) and a month from the right. The list is populated from Smogon’s public usage-stats files at smogon.com/stats.

Higher rating cutoffs in the format name (1630, 1760, 2000) filter to games played by better-rated accounts, so the data skews toward higher-level play.

The tier list

  • # — usage rank within the selected format and month
  • Usage % — percentage of teams in that month’s ladder games that included this Pokémon

Click any row to open the per-Pokémon detail panel on the right.

Per-Pokémon detail

  • Moves — top moves by usage %, with type and category chips. Only moves used in at least ~1 % of sets are shown.
  • Items — most common held items and their share of sets.
  • Abilities — most common abilities and their share of sets.
  • Tera types — Gen 9 only; distribution of Tera types across all recorded sets.
  • Checks & counters — Pokémon that frequently beat or force out this one.
    • KO% — how often the counter knocks this Pokémon out when they meet
    • ↩% — how often this Pokémon switches out when the counter appears (without being KO’d)
  • Top teammates — Pokémon most often seen on the same team, with co-occurrence percentage.

Data source & freshness

All data is sourced from Smogon’s monthly usage-stats exports. smogu caches the raw files locally (memory + disk) and refreshes the format index every 6 hours, so newly published months appear automatically.

Stats reflect ladder play only — tournament sets, unofficial formats, and low-sample Pokémon may differ from what you see here.

Team Import — How to read the analysis

Importing a team

Paste a Pokémon Showdown team export or a pokepast.es URL directly into the import box. Select a tier and month first to unlock counter data, synergy analysis, and swap suggestions.

Saving & loading teams

Teams are saved to your browser's localStorage — no account needed. Data persists across page refreshes but is local to this browser and device.

  • 💾 Save Team — appears in the controls bar once a team is loaded. Press it to give the team a name and store it.
  • Saved Teams sidebar — visible on the Team Import and Compare tabs. Each card shows the format, an editable name, and mini sprites for the 6 team members.
  • Load — click Load on a saved card to immediately re-import that team (format is restored too, if it's still available in the dropdown).
  • Load A / Load B — on the Compare tab the sidebar shows two load buttons so you can send any saved team directly to Team A or Team B.
  • Rename — click the team name in a sidebar card and type a new one; it saves on blur or Enter.
  • ✕ Delete — removes the team from localStorage after a confirmation prompt.
  • Collapse sidebar — press the button to shrink the sidebar to a thin strip; press it again (or the vertical 💾 Saved label) to expand.

Role labels

Each Pokémon’s role is derived from three signals in priority order:

  • Item — most decisive (Choice Band → Physical Attacker regardless of EVs)
  • EV spread — ground truth for how the set is built
  • Moves — determines function (hazard setter, pivot, setup sweeper…)

Common labels:

  • Physical / Special Attacker fully offensive EVs, no setup or pivot
  • Setup Sweeper carries Swords Dance, Nasty Plot, Dragon Dance, Calm Mind…
  • Pivot U-turn / Volt Switch / Flip Turn / Teleport on a non-fully-offensive spread
  • Hazard Setter Stealth Rock, Spikes, Toxic Spikes, or Sticky Web
  • Hazard Control Rapid Spin, Defog, or Court Change
  • Cleric Wish, Heal Bell, or Aromatherapy
  • Wall heavy defensive EV investment, item signals bulk
  • Trick Room Setter carries Trick Room

Note: a fully offensive Pokémon with a pivot move is labelled as an attacker — not a pivot — when the rest of the team already has two or more offensive threats.

Team archetype

Derived from counting offensive threats, pivots, hazard presence, and setup sweepers across all 6 slots:

  • Hyper Offense 5+ offensive threats, minimal bulk
  • Bulky Offense 2–3 offensive threats backed by pivots and support
  • Volt-Turn high pivot density, momentum-based
  • Balance even mix of offense and defense, complete hazard game
  • Semi-Stall mostly defensive with 1 offensive threat
  • Stall no offensive threats, pure attrition
  • Trick Room 2+ Trick Room setters

Type coverage

  • Offensive — how many team members can hit each type super-effectively
  • Defensive — how many team members are weak to each type
  • Offensive gaps — types the team has zero SE coverage against
  • Defensive threats — types that beat 3 or more team members

Top team counters

Pokémon that appear most often in the “Checks and Counters” section of your team members’ Smogon moveset pages (fetched live from smogon.com/stats).

  • X/6 mons — how many of your team this counter checks
  • KO% — highest KO rate recorded against any of your members
  • ↩% — highest switch-out rate (forces out without KOing)
  • ▲ Gap — the counter’s types overlap a coverage gap, making it harder to threaten back
  • Usage fallback — shown when Smogon data is sparse; these are simply high-usage Pokémon in the tier

Team synergy

Measures how often each pair of team members appear together in Smogon ranked ladder games for the selected tier and month (sourced from the teammates% field in Smogon moveset data).

  • Strong ≥20%  Good ≥10%  Moderate ≥5%  Weak <5%
  • Cohesion — average pairwise score across all 15 pairs
  • Common Partners Not On Team — Pokémon that frequently appear alongside 2+ of your members but aren’t in the team — potential additions worth considering

⚠️ Disclaimer: scores reflect co-occurrence on the ladder, not inherent strategic synergy. Three important caveats:

  • Meta bias — popular Pokémon accumulate high teammate percentages with other popular picks. Niche combinations score near 0 even if they work well together, simply because they’re rarely seen on the ladder.
  • Missing tier data — if a Pokémon is not found in the selected tier’s moveset file, all its pairs default to 0. This reflects absence from the data, not absence of synergy.
  • Correlation vs causation — two strong Pokémon often appear together because they’re both individually good, not because they specifically complement each other.

Low synergy does not mean your team doesn’t work. Off-meta teams, stall builds, and creative combinations will naturally score lower here.

Suggested changes

Two suggestion types, generated when a tier is selected:

  • ⚠️ Counter threat — a top counter checks 2+ team members. The most vulnerable member is flagged for a swap; candidates are chosen from high-usage Pokémon that aren’t weak to the counter’s types.
  • 🕳️ Coverage gap — a type the team cannot hit super-effectively. Candidates of that type are suggested from the tier’s usage rankings.

Each suggestion also shows the archetype impact: what the team’s style would become if that member were removed.

Builds (per Pokémon)

Smogon aggregate data for the selected tier is used to classify common archetypes for each Pokémon. Tabs show role name and usage %; moves include type and category chips. This reflects the tier’s common builds, not your imported set.

Disclaimer

AI assistance

The development of this project was aided with AI tools. Though large parts of the project backend were hand-coded (such as most things in the smogu package), AI tools helped with generating integral parts of the project — like the web UI and parts of the API service — and refining the codebase.

If you do not want to support projects that use AI in any way or form, I apologise if this disappoints you.

Active development & accuracy

This project is in active development and may contain bugs or incomplete features. I am also not a seasoned competitive Pokémon player, so some of the analysis could probably be improved with the help of more experienced players or additional data.

Reporting issues

Please report any bugs, inaccuracies, or suggestions by emailing nwumechib@gmail.com.

Affiliations

Not affiliated with Nintendo, Game Freak, The Pokémon Company, Smogon, or any related organisation. Pokémon names, sprites, and data are the property of their respective owners and are used here for non-commercial, educational purposes.

⚔ smogu

A competitive Pokémon team analysis tool. Look up Smogon usage statistics, analyse your team’s coverage and counters, and explore VGC tournament data — all in one place.

📊 Usage Lookup

Browse live Smogon usage statistics for any ranked format. Select a tier and month, then click any Pokémon for its full moveset breakdown.

  • Tier list ranked by usage %
  • Top moves, items, abilities & EV spreads
  • Build archetypes (Physical Attacker, Support…)
  • Tera type distribution
  • Checks & counters with KO / switch-out rates
  • Top teammates
🛡️ Team Import

Paste a Pokémon Showdown team export and get a full breakdown of your team’s strengths, weaknesses, and actionable swap suggestions.

  • Per-Pokémon role badge, types & EV spreads
  • Move category & type chips
  • Defensive weakness display
  • Offensive & defensive type coverage bars
  • Top 10 counters with coverage-gap highlighting
  • Swap suggestions with archetype impact preview
🕸️ VGC Graph

An interactive force-directed graph built from real VGC tournament data. Nodes are Pokémon; edges show how often they appear on the same team.

  • Co-occurrence edges weighted by team frequency
  • Louvain community detection highlights team cores
  • Node size scales with tournament usage
  • Slider to filter out low-frequency pairings
  • Click any node for sprite, top partners & builds
  • Pause physics / fit view controls
🏆 VGC Usage

Usage rankings and build data sourced from the Limitless TCG tournament database. See what Pokémon top players actually bring.

  • Pokémon ranked by tournament appearances
  • Build roles classified by item & move pattern
  • Move type and category chips per build
  • Top partners for each Pokémon
  • Example teams with real placement data
⚔️ Compare Teams

Load two teams side by side and compare them across speed tiers, type coverage gaps, role distribution, team scores, and a directed threat map showing which Pokémon threaten which.

  • Speed tier ladder — all 12 Pokémon on one track
  • Offensive & defensive coverage gaps per team
  • Role distribution comparison
  • Offense, defense, hazards, pivots & stalliness scores
  • Directed threat map with STAB, items, abilities & weather
  • Click any node for a full threat breakdown panel
Pick a format to load the tier list.

Click a Pokémon to view its Smogon data.

No team imported yet.

Compare Teams — how to read each section

Speed Tiers

Each Pokémon is placed on a horizontal track based on its computed level 100 speed stat (2×base + 31 IVs + ⌊EV / 4⌋ + 5, neutral nature). A Choice Scarf multiplies speed by 1.5×; a speed-boosting nature adds 10%. Blue chips = Team A, orange = Team B. Hover any chip for the exact value.

Coverage Gaps

Offensive gaps — types the team has zero super-effective moves against. A gap means an opponent’s Pokémon of that type can switch in freely with no fear of a super-effective hit.

Defensive threats — types that hit 3 or more of the team’s Pokémon super-effectively. A shared weakness can be exploited by a single Pokémon to break through the team.

Rows are grouped by which team has the gap: A only, Both, or B only.

Role Distribution

Counts how many Pokémon on each team fill each role (e.g. Physical Attacker, Hazard Setter, Pivot). Roles are derived from held item, EV spread, and moves. Comparing distributions shows which team has more support, more offense, or redundant roles.

Team Scores

  • Offense — share of team slots with offensive or bulky-offensive posture (0–1)
  • Defense — share of slots with defensive or balanced posture (0–1)
  • Hazards — count of hazard setters (+1.0) and removers (+0.5) across the team
  • Pivots — count of Pokémon with U-turn / Volt Switch / Flip Turn / Teleport
  • Setup — count of setup sweepers (Swords Dance, Nasty Plot, Dragon Dance…)
  • Stalliness — derived metric: (defense×2 − offense)÷3, clamped 0–1. 0 = pure offense, 1 = pure stall.

Threat Map

A directed graph: an edge A→B means a Pokémon on Team A threatens one on Team B. Click the ? inside the Threat Map section for a full breakdown of what each criterion means.

Edge colour = the type of the best threatening move. Edge width and opacity scale with threat severity. Only edges above the minimum threshold (score ≥ 1.5) are shown.

Click any node to open the threat detail panel for that Pokémon.

Threat Map — criteria explained

Threat score

A combined rating for how dangerous Pokémon A is against Pokémon B. Computed as:
(effectiveness × STAB × attack × weather × speed) / (defence × HP / 300)
Then multiplied by 1.25 if Smogon counter data confirms the matchup. Higher = more threatening. Edges are only drawn when score ≥ 1.5.

Type effectiveness (×2 / ×4)

The move’s type hits the defender’s type(s) for super-effective damage. ×2 = one weakness, ×4 = dual weakness (e.g. a Ground move vs a Fire/Rock Pokémon).

STAB

Same Type Attack Bonus. The move’s type matches the attacker’s own type(s), adding ×1.5 damage. Doubles to ×2 for Pokémon with the Adaptability ability.

↑ Faster / ↓ Slower / = Speed tied

Compares the two Pokémon’s computed speed stats (level 90100, 31 IVs, EV investment, nature, held item). Being faster means you move first in most situations. Faster attackers score 20% higher; slower attackers score 20% lower. Numbers shown are the computed speed stats.

Sun / Rain boost ×1.5

Active weather amplifies certain move types. Drought / Desolate Land boosts Fire moves by ×1.5; Drizzle / Primordial Sea boosts Water moves by ×1.5 (and halves the opposing type). Weather is detected from a team member’s ability.

SR chip −X% HP

Stealth Rock chip damage on switch-in, applied when the opposing team has a Stealth Rock setter and the defender doesn’t hold Heavy-Duty Boots. Damage = Rock-type effectiveness vs the defender × 12.5%. This reduces the defender’s effective bulk (a 50%-chip Charizard is much easier to KO).

Item modifiers

  • Choice Band / Specs — ×1.5 to physical or special attack
  • Life Orb — ×1.3 to all moves
  • Muscle Band / Wise Glasses — ×1.1 to physical or special moves
  • Assault Vest (defender) — ×1.5 to Special Defence
  • Eviolite (defender) — ×1.5 to both Defence stats for NFE Pokémon

Ability modifiers

  • Huge Power / Pure Power ×2 — doubles the attacker’s physical Attack stat
  • Gorilla Tactics ×1.5 — boosts physical Attack like a Choice Band
  • Protosynthesis / Quark Drive ×1.3 — Paradox Pokémon boost to their highest stat in Sun or Electric Terrain
  • Intimidated (−Atk) — the defender’s Intimidate ability reduces this attacker’s physical Attack by one stage (×2/3) on switch-in
  • Type immunity — abilities like Levitate, Flash Fire, Water Absorb etc. make certain moves deal 0 damage; those moves are excluded from threat calculation entirely

Stat-overriding moves

  • Body Press (uses Def) — damage is calculated using the attacker’s Defence stat instead of Attack. High-Defence walls using this move can be surprisingly threatening.
  • Psyshock / Psystrike / Secret Sword (hits Def) — these are special moves (use SpA to attack) but target the defender’s physical Defence instead of Special Defence, bypassing specially bulky Pokémon like Blissey.

✓ Smogon counter

The attacker appears in Smogon’s “Checks and Counters” data for the defender’s team members. This confirms the matchup with real ladder data and adds a 25% bonus to the threat score. It catches cases the stat heuristic misses (e.g. abilities, items, or movesets not modelled here).

Team A
VS
Team B

Import Team

Import Team

Loading VGC usage…

Click a Pokémon to see its VGC build data.