Raid simulator accuracy
Our Monte Carlo raid simulator, run against six reference bosses at attacker level 40, no weather, no friendship and no dodging, and put side by side with pokebattler.com's own answer for the same fight.
Two questions get separate answers here, because they have separate answers. Did we find the same attackers? Measured with both sides sorted on Estimator, a column both tools publish — that is the “top-10 overlap” number, 85% on page default. Do we put them in the same order? Measured with both sides on their own Overall column — ours against theirs — and the answer is weaker: the same #1 pick on 5 of 6 bosses in page-default mode, 11 of 12 across both filter modes, with the shared attackers ordered at r 0.90 on average. And can the difference be measured at all? Usually not, at the very top: the same attacker's time to win differs from Pokebattler's by a median of 1.6%, and the contenders for #1 are routinely inside that of each other, which is why /raids presents them as a joint top pick rather than a ranking.
Pokebattler does publish how its Overall column is scored — an earlier round of this page said it does not, and that was wrong. Its battle-simulator help page gives a weighted blend of Power and Time to Win against per-tier goals (“Tier 5 Raids — 50% Power, 50% Time to Win. Time to Win goal is 300s. Raid size 8”), where Power is “a percent that represents how many times a Pokemon would kill another”. Ours is that formula in its log-linearised form: time to win discounted by damage dealt per life, exponent 0.17. The single constant Pokebattler does not publish is how it normalises its Power percentage, and that exponent is that constant — measured against Pokebattler's own published rows rather than guessed, with the derivation printed by npx tsx gauntlet/validate-raid.ts --overall-weight.
A second help page of theirs gives a different, older table (25% Power at Tier 1-3, goals of timer×size). Rounds 5 and 6 of this page used that one. It is the wrong one, and their own API numbers say so: rearrange the blend for its single unpublished constant and the older weights need a negative Power coefficient on two of the six reference bosses — Pokebattler would have to prefer the frailer attacker — while the table quoted above stays positive and near-constant on all twelve reference lists (spread 0.5% on Rayquaza, 4% on Mewtwo). Switching to it is what this round's ordering numbers are measured on.
Pokebattler numbers read from its public API on 2026-10-03; our side re-simulated on 2026-10-04 with 50 Monte Carlo runs per attacker. Reproduce both with npx tsx gauntlet/validate-raid.ts --refresh then npx tsx gauntlet/validate-raid.ts.
Per boss
| Boss | Tier | Attackers allowed | Top-10 overlap | Vs its raw 30 | Its page order | Same order? | Time-to-win bias | Worst attacker | Faints solo / group | Ranked in |
|---|---|---|---|---|---|---|---|---|---|---|
| Alolan Marowak | Tier 1 | Page default | 90% | same | 70% | r 0.86same #1 | -0.0% | Gigalith -5.7% | 0.00xrank r 0.84 | 0.2 s |
| Alolan Marowak | Tier 1 | Everything on | 90% | same | 100% | r 0.92same #1 | -0.0% | Mega Staraptor -5.1% | 0.30xrank r 1.00 | 0.2 s |
| Machamp | Tier 3 | Page default | 100% | same | 90% | r 0.93same #1 | +0.7% | Vikavolt +2.9% | 0.99xrank r 0.98 | 0.4 s |
| Machamp | Tier 3 | Everything on | 80% | same | 80% | r 0.95same #1 | +0.8% | Shadow Mewtwo +3.7% | 1.00xrank r 0.99 | 0.3 s |
| Mewtwo | Tier 5 | Page default | 70% | same | 70% | r 0.68different #1 | -1.5% | Hisuian Zoroark -7.7% | 1.02xrank r 0.96 | 1.3 s |
| Mewtwo | Tier 5 | Everything on | 80% | same | 100% | r 0.88same #1 | -0.8% | Shadow Regigigas +8.9% | 0.99xrank r 0.97 | 1.5 s |
| Rayquaza | Tier 5 | Page default | 80% | same | 100% | r 0.96same #1 | -1.5% | Galarian Darmanitan (Standard) -5.9% | 0.95xrank r 0.97 | 0.7 s |
| Rayquaza | Tier 5 | Everything on | 80% | same | 90% | r 0.98same #1 | -1.7% | Galarian Darmanitan (Standard) -5.9% | 0.92xrank r 0.99 | 0.7 s |
| Mega Charizard Y | Mega | Page default | 90% | same | 100% | r 0.99same #1 | +1.7% | Hisuian Arcanine +4.1% | 0.99xrank r 0.99 | 0.7 s |
| Mega Charizard Y | Mega | Everything on | 90% | same | 90% | r 0.80same #1 | +3.3% | Mega Raichu Y -14.5% | 1.00xrank r 0.98 | 0.7 s |
| Shadow Giratina | Shadow Tier 5 | Page default | 80% | same | 100% | r 0.90same #1 | -0.2% | Hisuian Zoroark +5.6% | 1.01xrank r 0.98 | 2.2 s |
| Shadow Giratina | Shadow Tier 5 | Everything on | 80% | same | 90% | r 0.92same #1 | +1.0% | Necrozma (Dawn Wings) +8.0% | 1.01xrank r 0.98 | 2.0 s |
“Top-10 overlap” counts how many of Pokebattler's ten best attackers by Estimator also appear in our ten. “Vs its raw 30” is the same count against its untouched 30-row answer, filled in only where that answer dropped a whole attacker family and the reference had to be un-truncated from Pokebattler's own per-family lists — one cell out of twelve, and it says why on hover. “Its page order” and “Same order?” switch both sides to their Overall column — its own overallRating key, stored on every reference row, against ours — and ask whether the two default screens list the same ten and lead with the same name (n/a on the one cell where its 30-row answer was truncated to a single attacker family, so its page order is not a list of the ten best at all). “Worst attacker” is the largest single per-attacker time-to-win error in that run — the number the median bias next to it cannot show. The checklist bar is 70%.
Alolan Marowak — Tier 1, boss CP 5,521
Page default90% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Hydreigon 18 s | Hydreigon 18 s |
| 2 | Rhyperior 19 s | Tyranitar 19 s |
| 3 | Tyranitar 19 s | Rhyperior 19 s |
| 4 | Kingler 18 s | Greninja 18 s |
| 5 | Greninja 18 s | Rampardos 17 s |
| 6 | Rampardos 17 s | Kingler 18 s |
| 7 | Dragapult 19 s | Absol 17 s |
| 8 | Primarina 20 s | Inteleon 18 s |
| 9 | Gengar 18 s | Hisuian Zoroark 18 s |
| 10 | Hisuian Zoroark 18 s | Quaquaval 19 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Rampardos Smack Down / Rock Slide · est 0.10 · 17 s | Absol Snarl / Brutal Swing · est 0.10 · 17 s |
| 2 | Absol Snarl / Brutal Swing · est 0.10 · 17 s | Rampardos Smack Down / Rock Slide · est 0.10 · 17 s |
| 3 | Hisuian Zoroark Shadow Claw / Shadow Ball · est 0.10 · 18 s | Hisuian Zoroark Shadow Claw / Shadow Ball · est 0.10 · 18 s |
| 4 | Greninja Bubble / Hydro Cannon · est 0.10 · 18 s | Gengar Shadow Claw / Shadow Ball · est 0.10 · 18 s |
| 5 | Hydreigon Bite / Brutal Swing · est 0.10 · 18 s | Hydreigon Bite / Brutal Swing · est 0.10 · 18 s |
| 6 | Gengar Shadow Claw / Shadow Ball · est 0.10 · 18 s | Kingler Bubble / Crabhammer · est 0.10 · 18 s |
| 7 | Kingler Bubble / Crabhammer · est 0.10 · 18 s | Greninja Bubble / Hydro Cannon · est 0.10 · 18 s |
| 8 | Tyranitar Bite / Brutal Swing · est 0.10 · 19 s | Inteleon Water Gun / Snipe Shot · est 0.10 · 18 s |
| 9 | Inteleon Water Gun / Snipe Shot · est 0.10 · 19 s | Tyranitar Bite / Brutal Swing · est 0.10 · 19 s |
| 10 | Crawdaunt Snarl / Razor Shell · est 0.10 · 19 s | Gholdengo Hex / Shadow Ball · est 0.10 · 19 s |
Everything on90% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Starmie 12 s | Mega Starmie 12 s |
| 2 | Mega Houndoom 13 s | Mega Houndoom 13 s |
| 3 | Primal Kyogre 14 s | Mega Greninja 13 s |
| 4 | Mega Greninja 14 s | Primal Kyogre 15 s |
| 5 | Necrozma (Dawn Wings) 14 s | Shadow Kyogre 14 s |
| 6 | Shadow Kyogre 14 s | Mega Gengar 14 s |
| 7 | Mega Garchomp 16 s | Necrozma (Dawn Wings) 14 s |
| 8 | Mega Gengar 14 s | Mega Garchomp 15 s |
| 9 | Mega Mewtwo Y 16 s | Mega Mewtwo X 16 s |
| 10 | Mega Mewtwo X 16 s | Mega Mewtwo Y 16 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Starmie Water Gun / Liquidation+ · est 0.07 · 12 s | Mega Starmie Water Gun / Liquidation+ · est 0.06 · 12 s |
| 2 | Mega Houndoom Snarl / Dark Pulse+ · est 0.07 · 13 s | Mega Houndoom Snarl / Dark Pulse+ · est 0.07 · 13 s |
| 3 | Mega Greninja Feint Attack / Surf+ · est 0.07 · 14 s | Mega Greninja Feint Attack / Surf+ · est 0.08 · 13 s |
| 4 | Mega Gengar Sucker Punch / Shadow Ball · est 0.08 · 14 s | Mega Gengar Lick / Shadow Ball · est 0.08 · 14 s |
| 5 | Necrozma (Dawn Wings) Shadow Claw / Moongeist Beam · est 0.08 · 14 s | Necrozma (Dawn Wings) Shadow Claw / Moongeist Beam · est 0.08 · 14 s |
| 6 | Shadow Kyogre Waterfall / Origin Pulse · est 0.08 · 14 s | Shadow Kyogre Waterfall / Origin Pulse · est 0.08 · 14 s |
| 7 | Primal Kyogre Waterfall / Origin Pulse · est 0.08 · 14 s | Shadow Gengar Lick / Shadow Ball · est 0.08 · 15 s |
| 8 | Shadow Gengar Lick / Shadow Ball · est 0.08 · 15 s | Primal Kyogre Waterfall / Origin Pulse · est 0.08 · 15 s |
| 9 | Shadow Darkrai Feint Attack / Foul Play · est 0.08 · 15 s | Shadow Darkrai Snarl / Shadow Ball · est 0.08 · 15 s |
| 10 | Mega Garchomp Mud Shot / Earth Power · est 0.09 · 16 s | Mega Absol Snarl / Brutal Swing · est 0.09 · 15 s |
Machamp — Tier 3, boss CP 19,707
Page default100% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Salamence 110 s | Salamence 111 s |
| 2 | Toucannon 114 s | Toucannon 112 s |
| 3 | Metagross 122 s | Espeon 117 s |
| 4 | Espeon 117 s | Alakazam 116 s |
| 5 | Alakazam 116 s | Metagross 123 s |
| 6 | Hisuian Braviary 125 s | Hisuian Braviary 126 s |
| 7 | Staraptor 117 s | Braviary 119 s |
| 8 | Braviary 118 s | Staraptor 117 s |
| 9 | Gardevoir 128 s | Gallade 127 s |
| 10 | Gallade 127 s | Exeggutor 127 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Salamence Dragon Tail / Fly · est 0.63 · 110 s | Salamence Dragon Tail / Fly · est 0.63 · 111 s |
| 2 | Espeon Confusion / Psychic · est 0.67 · 117 s | Toucannon Peck / Beak Blast · est 0.64 · 112 s |
| 3 | Toucannon Peck / Beak Blast · est 0.67 · 114 s | Alakazam Confusion / Psychic · est 0.66 · 116 s |
| 4 | Alakazam Confusion / Psychic · est 0.68 · 116 s | Staraptor Gust / Fly · est 0.67 · 117 s |
| 5 | Metagross Zen Headbutt / Psychic · est 0.69 · 122 s | Espeon Confusion / Psychic · est 0.67 · 117 s |
| 6 | Braviary Air Slash / Fly · est 0.69 · 118 s | Braviary Air Slash / Fly · est 0.68 · 119 s |
| 7 | Staraptor Gust / Fly · est 0.69 · 117 s | Metagross Zen Headbutt / Psychic · est 0.70 · 123 s |
| 8 | Hisuian Braviary Air Slash / Fly · est 0.71 · 125 s | Hisuian Braviary Air Slash / Fly · est 0.72 · 126 s |
| 9 | Exeggutor Confusion / Psychic · est 0.71 · 126 s | Exeggutor Extrasensory / Psychic · est 0.72 · 127 s |
| 10 | Gallade Psycho Cut / Psychic · est 0.71 · 127 s | Gallade Psycho Cut / Psychic · est 0.72 · 127 s |
Everything on80% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Mewtwo Y 53 s | Mega Mewtwo Y 54 s |
| 2 | Mega Mewtwo X 67 s | Mega Mewtwo X 69 s |
| 3 | Mega Rayquaza 69 s | Mega Rayquaza 69 s |
| 4 | Shadow Mewtwo 76 s | Mega Staraptor 82 s |
| 5 | Mega Staraptor 82 s | Shadow Mewtwo 79 s |
| 6 | Mega Alakazam 85 s | Shadow Galarian Articuno 88 s |
| 7 | Shadow Lugia 103 s | Mega Alakazam 87 s |
| 8 | Deoxys 85 s | Mega Skarmory 89 s |
| 9 | Mega Delphox 94 s | Mewtwo 92 s |
| 10 | Mewtwo 91 s | Shadow Lugia 100 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Mewtwo Y Psycho Cut / Future Sight+ · est 0.30 · 53 s | Mega Mewtwo Y Psycho Cut / Future Sight+ · est 0.31 · 54 s |
| 2 | Mega Mewtwo X Psycho Cut / Psystrike · est 0.37 · 67 s | Mega Mewtwo X Psycho Cut / Psystrike · est 0.39 · 69 s |
| 3 | Mega Rayquaza Air Slash / Dragon Ascent · est 0.39 · 69 s | Mega Rayquaza Air Slash / Dragon Ascent · est 0.40 · 69 s |
| 4 | Shadow Mewtwo Psycho Cut / Psystrike · est 0.43 · 76 s | Shadow Mewtwo Confusion / Psystrike · est 0.45 · 79 s |
| 5 | Mega Staraptor Wing Attack / Brave Bird+ · est 0.45 · 82 s | Mega Staraptor Gust / Brave Bird+ · est 0.46 · 82 s |
| 6 | Mega Alakazam Confusion / Psychic · est 0.49 · 85 s | Mega Alakazam Psycho Cut / Psychic · est 0.50 · 87 s |
| 7 | Deoxys Zen Headbutt / Psycho Boost · est 0.50 · 85 s | Shadow Galarian Articuno Psycho Cut / Fly · est 0.50 · 88 s |
| 8 | Mega Skarmory Air Slash / Drill Peck+ · est 0.51 · 89 s | Mega Skarmory Air Slash / Drill Peck+ · est 0.51 · 89 s |
| 9 | Rayquaza Air Slash / Dragon Ascent · est 0.51 · 90 s | Shadow Moltres Wing Attack / Fly · est 0.51 · 90 s |
| 10 | Mewtwo Psycho Cut / Psystrike · est 0.51 · 91 s | Rayquaza Air Slash / Dragon Ascent · est 0.52 · 92 s |
Mewtwo — Tier 5, boss CP 54,148
Page default70% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Different #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Hydreigon 647 s | Chandelure 629 s |
| 2 | Dragapult 644 s | Gholdengo 641 s |
| 3 | Chandelure 650 s | Hydreigon 639 s |
| 4 | Gholdengo 651 s | Dragapult 639 s |
| 5 | Tyranitar 666 s | Tyranitar 661 s |
| 6 | Kingambit 705 s | Volcarona 671 s |
| 7 | Absol 695 s | Polteageist 683 s |
| 8 | Incineroar 710 s | Cursola 689 s |
| 9 | Volcarona 706 s | Kingambit 706 s |
| 10 | Salamence 714 s | Hisuian Typhlosion 706 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Gholdengo Hex / Shadow Ball · est 2.30 · 651 s | Chandelure Hex / Shadow Ball · est 2.28 · 629 s |
| 2 | Dragapult Astonish / Shadow Ball · est 2.31 · 644 s | Hydreigon Bite / Brutal Swing · est 2.31 · 639 s |
| 3 | Hydreigon Bite / Brutal Swing · est 2.32 · 647 s | Dragapult Astonish / Shadow Ball · est 2.31 · 639 s |
| 4 | Chandelure Hex / Shadow Ball · est 2.36 · 650 s | Gholdengo Hex / Shadow Ball · est 2.32 · 641 s |
| 5 | Tyranitar Bite / Brutal Swing · est 2.39 · 666 s | Tyranitar Bite / Brutal Swing · est 2.40 · 661 s |
| 6 | Volcarona Bug Bite / Bug Buzz · est 2.53 · 706 s | Volcarona Bug Bite / Bug Buzz · est 2.43 · 671 s |
| 7 | Kingambit Snarl / Foul Play · est 2.53 · 705 s | Polteageist Sucker Punch / Shadow Ball · est 2.47 · 683 s |
| 8 | Incineroar Snarl / Darkest Lariat · est 2.57 · 710 s | Cursola Hex / Shadow Ball · est 2.50 · 689 s |
| 9 | Absol Snarl / Brutal Swing · est 2.58 · 695 s | Absol Snarl / Brutal Swing · est 2.52 · 697 s |
| 10 | Grimmsnarl Bite / Foul Play · est 2.59 · 724 s | Hisuian Zoroark Shadow Claw / Shadow Ball · est 2.55 · 703 s |
Everything on80% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Necrozma (Dawn Wings) 445 s | Necrozma (Dawn Wings) 455 s |
| 2 | Mega Houndoom 463 s | Mega Houndoom 452 s |
| 3 | Mega Mewtwo Y 473 s | Mega Mewtwo Y 485 s |
| 4 | Mega Mewtwo X 504 s | Mega Mewtwo X 504 s |
| 5 | Mega Beedrill 528 s | Shadow Giratina (Origin) 536 s |
| 6 | Mega Tyranitar 540 s | Mega Tyranitar 537 s |
| 7 | Shadow Darkrai 528 s | Shadow Darkrai 521 s |
| 8 | Shadow Giratina (Origin) 527 s | Mega Beedrill 515 s |
| 9 | Shadow Hydreigon 545 s | Shadow Tyranitar 542 s |
| 10 | Shadow Tyranitar 548 s | Shadow Hydreigon 541 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Necrozma (Dawn Wings) Shadow Claw / Moongeist Beam · est 1.55 · 445 s | Mega Houndoom Snarl / Dark Pulse+ · est 1.64 · 452 s |
| 2 | Mega Mewtwo Y Psycho Cut / Shadow Ball · est 1.65 · 473 s | Necrozma (Dawn Wings) Psycho Cut / Moongeist Beam · est 1.65 · 455 s |
| 3 | Mega Houndoom Snarl / Dark Pulse+ · est 1.68 · 463 s | Mega Mewtwo Y Psycho Cut / Shadow Ball · est 1.76 · 485 s |
| 4 | Mega Mewtwo X Psycho Cut / Shadow Ball · est 1.77 · 504 s | Mega Mewtwo X Psycho Cut / Shadow Ball · est 1.83 · 504 s |
| 5 | Shadow Giratina (Origin) Shadow Claw / Shadow Force · est 1.87 · 527 s | Mega Beedrill Bug Bite / Fell Stinger+ · est 1.87 · 515 s |
| 6 | Mega Tyranitar Bite / Brutal Swing · est 1.92 · 540 s | Shadow Darkrai Snarl / Foul Play · est 1.89 · 521 s |
| 7 | Shadow Darkrai Snarl / Foul Play · est 1.94 · 528 s | Shadow Giratina (Origin) Shadow Claw / Shadow Force · est 1.94 · 536 s |
| 8 | Shadow Tyranitar Bite / Brutal Swing · est 1.98 · 548 s | Mega Tyranitar Bite / Brutal Swing · est 1.94 · 537 s |
| 9 | Shadow Hydreigon Bite / Brutal Swing · est 1.99 · 545 s | Shadow Chandelure Hex / Shadow Ball · est 1.95 · 538 s |
| 10 | Mega Absol Snarl / Brutal Swing · est 2.02 · 545 s | Shadow Hydreigon Bite / Brutal Swing · est 1.96 · 541 s |
Rayquaza — Tier 5, boss CP 49,808
Page default80% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mamoswine 408 s | Mamoswine 396 s |
| 2 | Galarian Darmanitan (Standard) 413 s | Galarian Darmanitan (Standard) 389 s |
| 3 | Baxcalibur 441 s | Baxcalibur 415 s |
| 4 | Glaceon 442 s | Weavile 428 s |
| 5 | Weavile 441 s | Cetitan 441 s |
| 6 | Cetitan 444 s | Glaceon 439 s |
| 7 | Aurorus 477 s | Aurorus 478 s |
| 8 | Vanilluxe 480 s | Vanilluxe 466 s |
| 9 | Avalugg 487 s | Avalugg 485 s |
| 10 | Mr. Rime 493 s | Mr. Rime 478 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mamoswine Powder Snow / Avalanche · est 1.47 · 408 s | Galarian Darmanitan (Standard) Ice Fang / Avalanche · est 1.41 · 389 s |
| 2 | Galarian Darmanitan (Standard) Ice Fang / Avalanche · est 1.53 · 413 s | Mamoswine Powder Snow / Avalanche · est 1.43 · 396 s |
| 3 | Cetitan Ice Shard / Avalanche · est 1.58 · 444 s | Baxcalibur Ice Fang / Avalanche · est 1.50 · 415 s |
| 4 | Glaceon Ice Shard / Avalanche · est 1.61 · 442 s | Weavile Ice Shard / Triple Axel · est 1.55 · 428 s |
| 5 | Weavile Ice Shard / Triple Axel · est 1.63 · 441 s | Glaceon Frost Breath / Avalanche · est 1.59 · 439 s |
| 6 | Baxcalibur Ice Fang / Avalanche · est 1.63 · 441 s | Cetitan Ice Shard / Avalanche · est 1.60 · 441 s |
| 7 | Aurorus Frost Breath / Weather Ball (Ice) · est 1.69 · 477 s | Vanilluxe Frost Breath / Avalanche · est 1.69 · 466 s |
| 8 | Avalugg Ice Fang / Avalanche · est 1.71 · 487 s | Jynx Frost Breath / Avalanche · est 1.73 · 477 s |
| 9 | Vanilluxe Frost Breath / Avalanche · est 1.76 · 480 s | Aurorus Frost Breath / Weather Ball (Ice) · est 1.73 · 478 s |
| 10 | Hisuian Avalugg Powder Snow / Blizzard · est 1.76 · 504 s | Mr. Rime Ice Shard / Triple Axel · est 1.73 · 478 s |
Everything on80% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Kyurem (White) 281 s | Kyurem (White) 274 s |
| 2 | Kyurem (Black) 306 s | Kyurem (Black) 307 s |
| 3 | Mega Mewtwo Y 326 s | Mega Mewtwo Y 329 s |
| 4 | Mega Mewtwo X 345 s | Mega Mewtwo X 345 s |
| 5 | Eternatus 359 s | Shadow Mamoswine 339 s |
| 6 | Shadow Mamoswine 359 s | Eternatus 366 s |
| 7 | Mega Rayquaza 366 s | Mega Rayquaza 368 s |
| 8 | Shadow Weavile 385 s | Shadow Weavile 362 s |
| 9 | Mega Gardevoir 386 s | Shadow Galarian Darmanitan (Standard) 360 s |
| 10 | Mega Dragonite 394 s | Mega Dragonite 380 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Kyurem (White) Ice Fang / Ice Burn · est 1.02 · 281 s | Kyurem (White) Ice Fang / Ice Burn · est 0.99 · 274 s |
| 2 | Kyurem (Black) Dragon Tail / Freeze Shock · est 1.12 · 306 s | Kyurem (Black) Dragon Tail / Freeze Shock · est 1.11 · 307 s |
| 3 | Mega Mewtwo Y Psycho Cut / Ice Beam · est 1.14 · 326 s | Mega Mewtwo Y Psycho Cut / Ice Beam · est 1.19 · 329 s |
| 4 | Mega Mewtwo X Psycho Cut / Ice Beam · est 1.23 · 345 s | Shadow Mamoswine Powder Snow / Avalanche · est 1.23 · 339 s |
| 5 | Eternatus Dragon Tail / Dynamax Cannon · est 1.28 · 359 s | Mega Mewtwo X Psycho Cut / Ice Beam · est 1.25 · 345 s |
| 6 | Shadow Mamoswine Powder Snow / Avalanche · est 1.32 · 359 s | Shadow Galarian Darmanitan (Standard) Ice Fang / Avalanche · est 1.30 · 360 s |
| 7 | Mega Rayquaza Dragon Tail / Breaking Swipe · est 1.33 · 366 s | Shadow Weavile Ice Shard / Triple Axel · est 1.31 · 362 s |
| 8 | Mega Gardevoir Charm / Triple Axel · est 1.35 · 386 s | Eternatus Dragon Tail / Dynamax Cannon · est 1.32 · 366 s |
| 9 | Mega Dragonite Dragon Tail / Outrage+ · est 1.41 · 394 s | Mega Rayquaza Dragon Tail / Breaking Swipe · est 1.33 · 368 s |
| 10 | Mega Garchomp Dragon Tail / Breaking Swipe · est 1.41 · 398 s | Mega Dragonite Dragon Tail / Outrage+ · est 1.38 · 380 s |
Mega Charizard Y — Mega, boss CP 47,739
Page default90% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Glimmora 261 s | Glimmora 270 s |
| 2 | Rampardos 266 s | Rhyperior 276 s |
| 3 | Rhyperior 272 s | Rampardos 266 s |
| 4 | Tyrantrum 272 s | Tyrantrum 282 s |
| 5 | Gigalith 286 s | Gigalith 290 s |
| 6 | Tyranitar 296 s | Tyranitar 306 s |
| 7 | Stonjourner 316 s | Stonjourner 327 s |
| 8 | Aerodactyl 330 s | Aerodactyl 334 s |
| 9 | Aurorus 333 s | Aurorus 339 s |
| 10 | Aggron 339 s | Aggron 345 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Glimmora Rock Throw / Meteor Beam · est 0.93 · 261 s | Rampardos Smack Down / Rock Slide · est 0.95 · 266 s |
| 2 | Rhyperior Smack Down / Rock Wrecker · est 0.95 · 272 s | Glimmora Rock Throw / Meteor Beam · est 0.97 · 270 s |
| 3 | Tyrantrum Rock Throw / Meteor Beam · est 0.96 · 272 s | Rhyperior Smack Down / Rock Wrecker · est 0.99 · 276 s |
| 4 | Rampardos Smack Down / Rock Slide · est 0.98 · 266 s | Tyrantrum Rock Throw / Meteor Beam · est 1.01 · 282 s |
| 5 | Gigalith Smack Down / Meteor Beam · est 1.01 · 286 s | Gigalith Lock-On / Meteor Beam · est 1.04 · 290 s |
| 6 | Tyranitar Smack Down / Stone Edge · est 1.04 · 296 s | Tyranitar Smack Down / Stone Edge · est 1.10 · 306 s |
| 7 | Stonjourner Rock Throw / Rock Slide · est 1.12 · 316 s | Stonjourner Rock Throw / Rock Slide · est 1.17 · 327 s |
| 8 | Omastar Rock Throw / Rock Slide · est 1.18 · 339 s | Aerodactyl Rock Throw / Rock Slide · est 1.20 · 334 s |
| 9 | Aerodactyl Rock Throw / Rock Slide · est 1.19 · 330 s | Aurorus Rock Throw / Meteor Beam · est 1.21 · 339 s |
| 10 | Aurorus Rock Throw / Meteor Beam · est 1.19 · 333 s | Aggron Smack Down / Meteor Beam · est 1.24 · 345 s |
Everything on90% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Diancie 216 s | Mega Diancie 221 s |
| 2 | Shadow Rhyperior 224 s | Shadow Rhyperior 231 s |
| 3 | Shadow Tyrantrum 233 s | Mega Tyranitar 245 s |
| 4 | Shadow Rampardos 243 s | Shadow Tyrantrum 244 s |
| 5 | Mega Tyranitar 243 s | Shadow Gigalith 249 s |
| 6 | Shadow Gigalith 244 s | Mega Aerodactyl 254 s |
| 7 | Mega Aerodactyl 245 s | Shadow Tyranitar 258 s |
| 8 | Shadow Tyranitar 248 s | Shadow Rampardos 254 s |
| 9 | Glimmora 261 s | Glimmora 270 s |
| 10 | Rampardos 266 s | Rhyperior 276 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Mega Diancie Rock Throw / Rock Slide · est 0.77 · 216 s | Mega Diancie Rock Throw / Rock Slide · est 0.79 · 221 s |
| 2 | Shadow Rhyperior Smack Down / Rock Wrecker · est 0.79 · 224 s | Shadow Rhyperior Smack Down / Rock Wrecker · est 0.83 · 231 s |
| 3 | Shadow Tyrantrum Rock Throw / Meteor Beam · est 0.83 · 233 s | Shadow Tyrantrum Rock Throw / Meteor Beam · est 0.87 · 244 s |
| 4 | Mega Tyranitar Smack Down / Stone Edge · est 0.84 · 243 s | Mega Tyranitar Smack Down / Stone Edge · est 0.88 · 245 s |
| 5 | Mega Aerodactyl Rock Throw / Rock Slide · est 0.87 · 245 s | Shadow Gigalith Smack Down / Meteor Beam · est 0.89 · 249 s |
| 6 | Shadow Gigalith Smack Down / Meteor Beam · est 0.87 · 244 s | Shadow Rampardos Smack Down / Rock Slide · est 0.91 · 254 s |
| 7 | Shadow Tyranitar Smack Down / Stone Edge · est 0.88 · 248 s | Mega Aerodactyl Rock Throw / Rock Slide · est 0.91 · 254 s |
| 8 | Shadow Rampardos Smack Down / Rock Slide · est 0.91 · 243 s | Shadow Tyranitar Smack Down / Stone Edge · est 0.93 · 258 s |
| 9 | Glimmora Rock Throw / Meteor Beam · est 0.93 · 261 s | Rampardos Smack Down / Rock Slide · est 0.95 · 266 s |
| 10 | Rhyperior Smack Down / Rock Wrecker · est 0.95 · 272 s | Glimmora Rock Throw / Meteor Beam · est 0.97 · 270 s |
Shadow Giratina — Shadow Tier 5, boss CP 38,326
Page default80% overlap
Shadow, Mega and Legendary all unchecked — what pokebattler.com shows a visitor.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Baxcalibur 1085 s | Baxcalibur 1076 s |
| 2 | Haxorus 1134 s | Haxorus 1123 s |
| 3 | Garchomp 1171 s | Garchomp 1180 s |
| 4 | Dragapult 1164 s | Tyranitar 1274 s |
| 5 | Tyranitar 1288 s | Dragapult 1215 s |
| 6 | Salamence 1256 s | Kingambit 1337 s |
| 7 | Dragonite 1274 s | Salamence 1232 s |
| 8 | Hydreigon 1291 s | Hydreigon 1287 s |
| 9 | Kingambit 1358 s | Dragonite 1322 s |
| 10 | Gholdengo 1348 s | Gholdengo 1376 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Baxcalibur Ice Fang / Glaive Rush · est 3.84 · 1085 s | Baxcalibur Ice Fang / Glaive Rush · est 3.80 · 1076 s |
| 2 | Haxorus Dragon Tail / Breaking Swipe · est 4.05 · 1134 s | Haxorus Dragon Tail / Breaking Swipe · est 3.96 · 1123 s |
| 3 | Garchomp Dragon Tail / Breaking Swipe · est 4.08 · 1171 s | Garchomp Dragon Tail / Breaking Swipe · est 4.16 · 1180 s |
| 4 | Dragapult Dragon Tail / Breaking Swipe · est 4.17 · 1164 s | Dragapult Dragon Tail / Breaking Swipe · est 4.29 · 1215 s |
| 5 | Tyranitar Bite / Brutal Swing · est 4.43 · 1288 s | Salamence Dragon Tail / Draco Meteor · est 4.35 · 1232 s |
| 6 | Salamence Dragon Tail / Draco Meteor · est 4.47 · 1256 s | Tyranitar Bite / Brutal Swing · est 4.50 · 1274 s |
| 7 | Dragonite Dragon Tail / Draco Meteor · est 4.49 · 1274 s | Hydreigon Bite / Brutal Swing · est 4.54 · 1287 s |
| 8 | Hydreigon Bite / Brutal Swing · est 4.53 · 1291 s | Gengar Lick / Shadow Ball · est 4.63 · 1313 s |
| 9 | Kingambit Snarl / Foul Play · est 4.63 · 1358 s | Dragonite Dragon Tail / Draco Meteor · est 4.67 · 1322 s |
| 10 | Gholdengo Hex / Shadow Ball · est 4.69 · 1348 s | Absol Snarl / Brutal Swing · est 4.71 · 1336 s |
Everything on80% overlap
Shadows, Megas and Legendary / Mythical / Ultra Beast attackers all allowed.
The two default screens. Pokebattler's page order (its Overall column) against ours, in the order each site prints them. Same #1.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Eternatus 832 s | Eternatus 811 s |
| 2 | Mega Rayquaza 846 s | Mega Rayquaza 841 s |
| 3 | Mega Dragonite 876 s | Mega Dragonite 861 s |
| 4 | Mega Houndoom 874 s | Kyurem (Black) 889 s |
| 5 | Kyurem (Black) 884 s | Mega Houndoom 903 s |
| 6 | Mega Garchomp 931 s | Mega Garchomp 940 s |
| 7 | Necrozma (Dawn Wings) 935 s | Mega Mewtwo Y 996 s |
| 8 | Shadow Haxorus 935 s | Mega Tyranitar 1039 s |
| 9 | Kyurem (White) 963 s | Kyurem (White) 973 s |
| 10 | Mega Tyranitar 1028 s | Shadow Haxorus 948 s |
Same attackers? Both sides re-sorted on Estimator, the column both tools publish, so this table measures membership rather than ordering.
| # | Pokebattler | Ours |
|---|---|---|
| 1 | Eternatus Dragon Tail / Dynamax Cannon · est 2.89 · 832 s | Eternatus Dragon Tail / Dynamax Cannon · est 2.86 · 811 s |
| 2 | Mega Rayquaza Dragon Tail / Breaking Swipe · est 2.96 · 846 s | Mega Rayquaza Dragon Tail / Breaking Swipe · est 2.97 · 841 s |
| 3 | Mega Houndoom Snarl / Dark Pulse+ · est 3.05 · 874 s | Mega Dragonite Dragon Breath / Outrage+ · est 3.04 · 861 s |
| 4 | Mega Dragonite Dragon Tail / Outrage+ · est 3.05 · 876 s | Kyurem (Black) Dragon Tail / Freeze Shock · est 3.14 · 889 s |
| 5 | Kyurem (Black) Dragon Tail / Freeze Shock · est 3.10 · 884 s | Mega Houndoom Snarl / Dark Pulse+ · est 3.19 · 903 s |
| 6 | Mega Garchomp Dragon Tail / Breaking Swipe · est 3.22 · 931 s | Mega Garchomp Dragon Tail / Breaking Swipe · est 3.32 · 940 s |
| 7 | Necrozma (Dawn Wings) Psycho Cut / Moongeist Beam · est 3.33 · 935 s | Shadow Haxorus Dragon Tail / Breaking Swipe · est 3.34 · 948 s |
| 8 | Kyurem (White) Dragon Breath / Ice Burn · est 3.38 · 963 s | Mega Gengar Lick / Shadow Ball · est 3.43 · 971 s |
| 9 | Shadow Haxorus Dragon Tail / Breaking Swipe · est 3.42 · 935 s | Kyurem (White) Dragon Breath / Ice Burn · est 3.43 · 973 s |
| 10 | Mega Mewtwo Y Psycho Cut / Shadow Ball · est 3.43 · 991 s | Shadow Garchomp Dragon Tail / Breaking Swipe · est 3.48 · 986 s |
Per-attacker outliers
A median bias of +0.2% across twelve runs is a summary, and a summary can hide one attacker being badly wrong. Every attacker whose time to win sits more than 5% away from Pokebattler's is named below — 18 of them, with the 90th-percentile absolute error across all runs at 4.0%. This list is how the Lunala movepool bug was caught: it read 18-28% fast on three bosses while the median never moved off +0.2%.
| Attacker | Boss | Attackers allowed | Ours | Pokebattler | Error |
|---|---|---|---|---|---|
| Mega Raichu Y | Mega Charizard Y | Everything on | 289 s | 338.2 s | -14.5% |
| Shadow Regigigas | Mewtwo | Everything on | 680 s | 625 s | +8.9% |
| Necrozma (Dawn Wings) | Shadow Giratina | Everything on | 1010 s | 935.3 s | +8.0% |
| Hisuian Zoroark | Mewtwo | Page default | 703 s | 761.5 s | -7.7% |
| Gengar | Mewtwo | Page default | 710 s | 767.5 s | -7.5% |
| Mega Heracross | Mewtwo | Everything on | 546 s | 584.6 s | -6.6% |
| Shadow Chandelure | Mewtwo | Everything on | 538 s | 575 s | -6.5% |
| Galarian Darmanitan (Standard) | Rayquaza | Page default | 389 s | 413.2 s | -5.9% |
| Baxcalibur | Rayquaza | Page default | 415 s | 440.5 s | -5.9% |
| Galarian Darmanitan (Standard) | Rayquaza | Everything on | 389 s | 413.2 s | -5.9% |
| Shadow Weavile | Rayquaza | Everything on | 362 s | 385 s | -5.9% |
| Baxcalibur | Rayquaza | Everything on | 415 s | 440.5 s | -5.9% |
| Jynx | Rayquaza | Page default | 477 s | 506.5 s | -5.8% |
| Gigalith | Alolan Marowak | Page default | 21 s | 21.9 s | -5.7% |
| Hisuian Zoroark | Shadow Giratina | Page default | 1417 s | 1342.6 s | +5.6% |
| Shadow Mamoswine | Rayquaza | Everything on | 339 s | 359 s | -5.5% |
| Rampardos | Rayquaza | Page default | 577 s | 608.6 s | -5.2% |
| Mega Staraptor | Alolan Marowak | Everything on | 16 s | 17.3 s | -5.1% |
Known gaps
- Mewtwo's #1 is still not Pokebattler's — and neither is Pokebattler's. We lead with Tyranitar (637 s) and Hydreigon second (639 s). Read live on 2026-09-07 that page led with Hydreigon (649.3 s); our own scrape of the same page on 2026-10-03 leads with Gholdengo (651.0 s), with Hydreigon second — the site's own answer for this boss moved inside a day without our code changing, because its first five sit inside 1.5% of one another. That is the honest shape of this gap. It is worth being precise about the pair anyway: Tyranitar and Hydreigon both run Bite / Brutal Swing, so their damage ratio is fixed by Attack alone (Hydreigon 271 to Tyranitar 266, 1.9% in Hydreigon's favour) and Pokebattler's own times differ by almost exactly that (663.4 / 649.3 = 2.2%), i.e. on this pair its answer is pure damage output. Ours is not: Tyranitar is the bulkier of the two into most of Mewtwo's movepool, and in our simulator that buys back the 1.9% and a second more, so it leads on time and on damage per life. Closing it needs the surviving few percent of per-attacker error, not a different column — so until then /raids names every attacker within 2.1% of the leader as a joint top pick instead of printing a #1 it cannot defend. On Mewtwo that band is Tyranitar and Hydreigon; on Rayquaza it is Mamoswine (the live page's own #1) and Baxcalibur.
- What 2.1% is. Two error bars, measured separately, one of them much larger than the other. Re-rolling the Monte Carlo seed moves an attacker's time to win by about 0.1% (five seeds on Mewtwo span 636-638 s; the page prints the leader's own figure). The same attacker's time differs from Pokebattler's published number by a median of 1.6% (p90 4.0%, worst 14.5%). So this simulator is precise to a tenth of a percent and accurate to about two and a half, and any two attackers inside that are a tie it cannot break. The band is the median, not the p90: a p90 band would swallow most of a top ten and stop being information.
- Pokebattler's Mega Level slider scales a Mega's “+” signature move only (Future Sight+, Drill Peck+, Outrage+). We simulate a Base-level Mega, so the reference is pinned to Mega Level 1; at the site's default Max level those three rank higher there than here.
- The weakest row is Mewtwo, page default, at 70% — the one cell under the 70% bar this round. It is a boundary shuffle in a tightly clustered field: every attacker we place that Pokebattler does not, and every one it places that we do not, sits within 8% of its own time for that species, on a list whose top ten spans 829 s to 1010 s. Recorded rather than tuned away.
- The boss no longer charges off the damage it takes — and that was this simulator's biggest error. Until this round a raid boss gained 0.5 energy per HP of damage it took, the rate a trainer's Pokemon gains. A Tier 5 boss loses 15,000 HP in one fight: that is 7,500 energy against a 100 cap, so it sat at full energy from the opening seconds and fired its most expensive charged move on every decision it was allowed. Real raid bosses land a charged attack every 20-30 s. Graded against Pokebattler's own published
effectiveDeathsover the 179 attacker rows of these six bosses, our faint counts were 2.56x too many; a raid boss that charges only from its own fast moves brings that to 1.47x, and our damage dealt per attacker life — the bulk half of the Overall column — from 2.93x off its published Power to 1.71x. The one knob this leaves free, how long a wipe-and-relobby costs, is swept against the same 179 rows bynpx tsx gauntlet/validate-raid.ts --calibrateand set to 25 s, where the median time-to-win bias is +0.2%. - Faint counts still are not quite the same quantity on the two sides and are reported as a ratio rather than a bias. We simulate one trainer soloing the boss and relobbying a fresh party of six after every wipe; Pokebattler simulates a group and publishes a group-normalised figure with no relobby in it at all (its published Time to Win adds “2 seconds ... for each time the Pokemon fainted” and nothing else). The residual ratio now runs 0.9x to 2.2x rather than the 3x it was.
- Why Mewtwo's faint ranking disagrees. Mewtwo's own movepool contradicts itself about who is bulky, and it is the only reference boss that does. Rank the same fifteen attackers by faints under Psycho Cut/Focus Blast, rank them again under Confusion/Psychic, and the two orders correlate -0.75 — they nearly invert. Both of Mewtwo's fast moves are Psychic, which the Dark half of its counter list triple-resists at 0.39x while the Ghost half takes it neutrally; Focus Blast is the exact mirror (1.6x into Dark, 0.39x into Ghost). So “who survives Mewtwo” has two opposite answers decided by a coin flip, and the mean over an even roll of its ten movesets is a fragile ordering for either simulator. No other reference boss is even negative (Machamp -0.27, the rest +0.2 to +1.0), and no other boss has a faint correlation under 0.71. Time to win is untouched at 0.95, because it is driven by the attacker's own damage output, which does not invert. Pokebattler agrees with us on the same boss's time-to-win ordering and on all ten of its top ten.
- Two candidate fixes for that were tested this round and rejected on the evidence, so neither is in the engine. (1) Pokebattler's reference URL carries
dodgeStrategy=DODGE_REACTION_TIME, which would explain its attackers lasting 2-4x longer than ours — but simulating dodging pushes the time-to-win bias from +0.4% to +6.3% on Mewtwo and +20.8% on Rayquaza and drops the faint correlation further, to 0.25. Its numbers behave as if nothing dodges, so nothing dodges here. (2) Counting only the faints inside one raid timer, the window Pokebattler's group fight occupies, is the more like-for-like quantity in principle; measured, it correlates worse than the whole-fight count on five of six bosses (Mewtwo 0.23 against 0.42). The engine records it asdeathsWithinTimerbut does not rank on it.