TL;DR Scroll down to the table in the middle of the post.

If you’ve already read my previous threads on CP efficiency for Snorlax, Gyarados, Vaporeon, Exeggutor, or Lapras, skip the intros and go to the new section on Measuring efficiency.

Noob’s intro to how training/prestiging works

When training up a gym of your own team, you get 1000 prestige for the battle if the CP of your entire team of attackers is 50% or less the CP of the defender. For example, to get 1000 prestige, if the defender is 2400 CP, you must use attackers that are 1200 CP or lower.

You only get 500 prestige if your attackers are the same CP as the defender. You get 750 prestige if they’re 75% the CP of the defender, and so on for every CP value between 50% and 100%.

In my thread 1000 prestige/battle is most time- and potion-efficient, I prove that you should always go for 1000 prestige, with attackers that are 50% or less the CP of the defender. All of the simulations I’ve done are based on this premise.

Intro to CP efficiency

The spreadsheets from Professor_Kikui, qmike, and dneal12 and various infographics you may have seen around here are for attacking enemy gyms, so they are based on performance at the same level, e.g. how a level 30 Wartortle performs versus a level 30 Vaporeon. They show that Vaporeon is much stronger.

For training up a friendly gym, the CP of your attackers is essential. At 1100 CP, Vaporeon is around level 12, while a Wartortle is around level 30. When these two Pokemon are at the same CP, Wartortle is actually slightly stronger. So Wartortle is very CP efficient.

Measuring Efficiency

Your two most important resources when battling gyms are time and potions. I have decided to focus on time. In almost all cases, the most time-efficient attackers also take the least damage and consume the fewest potions.

In my previous posts, I used /u/vlfph‘s excellent CP efficiency spreadsheet, which is based on a theoretical formula. My new method uses /u/celandro‘s Pokebattler, which I believe is even more accurate. vlfph’s spreadsheet sorted by DPS is fairly similar to these results.

With /u/ClamusChowderus‘s help, we have simulated 39 battles for each matchup, at defender levels 20-39 (CP 2046-3530), with the attacker at half the CP or slightly below. The results of the 39 battles have been averaged together. For Dragonite alone, we simulated 3.7 million battles.

Dragonite

  • Time – Combat time, averaged across all matchups and movesets
  • Time% – Similar to Time, but a percentile
  • Dmg – Damage your Pokemon receives. Useful if you’re concerned about potion-efficiency. This is based on the matchup where the defender is level 30 / CP 3070.
  • Power – Pokebattler stat that shows how many times the attacker can defeat the defender. For example, 250% means the attacker could defeat two of the exact same defender, and faint halfway through the third attempt.

Pro tip: you can sort columns by clicking on the header. By default, it’s sorted by Time.

 PrestigerQuickChargeTime %TimeDmgPower
JynxFrost BreathAvalanche100.00%20.2547.44200%
SneaselIce ShardAvalanche97.74%22.0558.58174%
JynxFrost BreathIce Punch96.51%23.0349.95194%
PiloswineIce ShardAvalanche95.09%24.1776.62203%
SneaselFeint AttackAvalanche94.87%24.3453.75192%
CloysterIce ShardAvalanche93.74%25.2436.41218%
CloysterFrost BreathAvalanche92.93%25.8932.53240%
JynxPoundIce Punch92.26%26.4356.98168%
SneaselFeint AttackIce Punch92.13%26.5358.25168%
ArticunoFrost BreathIce Beam91.84%26.7658.29211%
PiloswinePowder SnowAvalanche91.33%27.1869.35229%
LaprasIce ShardIce Beam90.67%27.6987.25207%
CloysterFrost BreathBlizzard89.54%28.5937.11212%
OmastarRock ThrowRock Slide88.72%29.2550.45197%
ArticunoFrost BreathBlizzard88.71%29.2655.52224%
GravelerRock ThrowRock Slide88.63%29.3247.73202%
WigglytuffPoundPlay Rough88.55%29.39103.98218%
CloysterIce ShardBlizzard88.43%29.4840.31209%
GranbullSnarlPlay Rough88.33%29.5576.01181%
LaprasIce ShardBlizzard88.28%29.6074.03259%
SudowoodoRock ThrowRock Slide87.68%30.0851.97216%
SeadraWater GunBlizzard87.53%30.2052.97177%
DewgongIce ShardBlizzard87.37%30.3362.35255%
GravelerRock ThrowRock Blast85.91%31.4949.90191%
LaprasFrost BreathBlizzard85.65%31.7075.30258%
DewgongFrost BreathBlizzard85.56%31.7763.44252%
GolemRock ThrowRock Blast85.55%31.7753.50196%
OmastarWater GunRock Slide85.53%31.7954.30183%
BeedrillPoison JabSludge Bomb84.99%32.2264.52177%
ClefableCharge BeamDazzling Gleam84.96%32.2583.52171%
GravelerRock ThrowStone Edge84.87%32.3251.29191%
GolemRock ThrowStone Edge84.87%32.3254.75196%
GravelerMud ShotRock Slide84.85%32.3360.16162%
RaikouThunder ShockWild Charge84.66%32.4969.64164%
DewgongIce ShardIcy Wind84.63%32.5281.75178%
CloysterFrost BreathAurora Beam84.54%32.5840.42186%
SudowoodoRock ThrowStone Edge84.39%32.7055.11209%
SeadraDragon BreathBlizzard84.37%32.7253.65168%
LaprasWater GunIce Beam84.24%32.8288.18207%
PiloswineIce ShardStone Edge84.21%32.8590.92158%
WigglytuffFeint AttackDazzling Gleam84.05%32.97123.01184%
MagcargoRock ThrowStone Edge83.86%33.1344.86217%
DewgongFrost BreathIcy Wind83.79%33.1880.05184%
WigglytuffFeint AttackPlay Rough83.43%33.46114.25194%
TentacruelAcidBlizzard83.26%33.6056.24206%
LaprasFrost BreathIce Beam82.25%34.4078.17230%
WigglytuffPoundHyper Beam82.24%34.42114.30190%
ScizorFury CutterIron Head82.12%34.5156.65167%
CloysterFrost BreathIcy Wind82.06%34.5541.58179%
OmastarWater GunRock Blast81.82%34.7557.48170%
CloysterIce ShardAurora Beam81.77%34.7945.99164%
ElectrodeSparkDischarge81.69%34.8655.91181%
DonphanTacklePlay Rough81.61%34.9268.67166%
ClefableZen HeadbuttDazzling Gleam81.59%34.9485.39168%
ArticunoFrost BreathIcy Wind81.47%35.0261.95185%
TentacruelPoison JabBlizzard81.37%35.1156.62212%
CloysterFrost BreathHydro Pump81.19%35.2543.04174%
OmastarMud ShotRock Slide81.16%35.2764.79155%
WeezingAcidSludge Bomb80.95%35.4559.22171%
GolemRock ThrowAncient Power80.90%35.4863.64165%
CroconawScratchIce Punch80.36%35.9267.81178%
TogeticZen HeadbuttDazzling Gleam79.86%36.3266.81160%
MewPoundBlizzard79.61%36.5179.36159%
MukAcidGunk Shot78.99%37.0185.87161%
DewgongFrost BreathAurora Beam78.91%37.0770.88208%
LaprasFrost BreathHydro Pump78.67%37.2792.91187%
MukPoison JabGunk Shot78.35%37.5282.90167%
MantineBubbleIce Beam78.30%37.5662.90172%
SudowoodoRock ThrowEarthquake78.23%37.6267.24163%
SlowkingConfusionBlizzard77.41%38.2768.39195%
ClefablePoundMoonblast77.33%38.3384.09163%
LaprasWater GunBlizzard77.31%38.3584.99218%
SudowoodoCounterRock Slide77.24%38.4068.20165%
WigglytuffPoundDazzling Gleam76.22%39.22119.53188%
LaprasFrost BreathDragon Pulse75.53%39.7793.76187%
DunsparceBiteRock Slide74.01%40.9794.30186%
DewgongIron TailBlizzard73.93%41.0474.56218%
SkarmorySteel WingSky Attack73.66%41.2643.90233%
NoctowlWing AttackSky Attack73.52%41.3773.23212%
TogeticSteel WingDazzling Gleam73.40%41.4764.14167%
LugiaDragon TailFuturesight73.21%41.6160.39197%
LugiaDragon TailSky Attack73.20%41.6258.21211%
AzumarillBubblePlay Rough73.19%41.6487.60209%
MiltankTackleStomp73.17%41.6573.61187%
TentacruelAcidSludge Wave72.96%41.8269.39171%
LaprasIce ShardDragon Pulse72.83%41.93101.77173%
MiltankTackleBody Slam72.81%41.9472.98189%
TentacruelPoison JabSludge Wave72.81%41.9469.78164%
SlowkingWater GunBlizzard72.76%41.9878.74182%
TentacruelAcidHydro Pump72.70%42.0272.57163%
BlisseyPoundHyper Beam72.23%42.40172.09174%
AzumarillBubbleIce Beam71.97%42.6196.50192%
LugiaExtrasensorySky Attack71.92%42.6558.20210%
SkarmoryAir SlashSky Attack71.72%42.8149.20211%
TogeticSteel WingAerial Ace70.97%43.4062.04165%
SkarmorySteel WingFlash Cannon70.76%43.5747.90211%
SteelixDragon TailHeavy Slam70.70%43.6243.73248%
DewgongFrost BreathWater Pulse70.61%43.6981.52175%
SkarmorySteel WingBrave Bird70.51%43.7746.32218%
HypnoZen HeadbuttShadow Ball70.39%43.8781.20163%
NoctowlExtrasensorySky Attack70.38%43.8780.87190%
LugiaExtrasensoryFuturesight70.18%44.0363.40199%
ForretressBug BiteHeavy Slam69.71%44.4149.30228%
SnorlaxLickHyper Beam69.69%44.43118.22167%
WigglytuffFeint AttackHyper Beam69.32%44.72153.96151%
SteelixIron TailHeavy Slam69.09%44.9044.85239%
LanturnCharge BeamThunderbolt68.92%45.0492.10209%
HypnoZen HeadbuttFuturesight68.88%45.0775.01181%
HypnoZen HeadbuttPsyshock68.54%45.3477.77170%
DewgongFrost BreathAqua Jet67.95%45.8180.42176%
MantineWing AttackAerial Ace67.76%45.9654.61189%
LanturnWater GunThunderbolt67.66%46.0489.85215%
SlowbroConfusionIce Beam66.89%46.6787.12156%
SkarmoryAir SlashBrave Bird66.77%46.7653.67195%
SnorlaxLickBody Slam66.39%47.0699.92189%
HypnoConfusionShadow Ball65.91%47.4487.95150%
TogeticExtrasensoryAerial Ace65.88%47.4668.17151%
SkarmoryAir SlashFlash Cannon65.56%47.7256.58181%
MantineWing AttackIce Beam65.06%48.1261.67169%
HypnoZen HeadbuttPsychic64.93%48.2280.22167%
DewgongIce ShardAqua Jet64.79%48.3388.36161%
HypnoConfusionFuturesight64.78%48.3483.93162%
UmbreonSnarlDark Pulse64.74%48.3778.37185%
HypnoConfusionPsyshock64.58%48.5083.63158%
LugiaDragon TailHydro Pump64.57%48.5176.28159%
UmbreonSnarlFoul Play64.41%48.6363.73230%
SteelixDragon TailEarthquake64.23%48.7855.16193%
BlisseyPoundDazzling Gleam64.23%48.78129.63236%
SnorlaxZen HeadbuttBody Slam63.93%49.02112.65167%
TogeticZen HeadbuttAerial Ace63.92%49.0270.78145%
UmbreonFeint AttackFoul Play63.71%49.1960.74240%
MiltankZen HeadbuttBody Slam63.61%49.2885.68161%
SteelixIron TailEarthquake63.34%49.4855.19195%
UmbreonFeint AttackDark Pulse63.34%49.4975.24193%
AzumarillRock SmashPlay Rough62.91%49.8289.89201%
AzumarillRock SmashIce Beam62.88%49.87103.27176%
MiltankZen HeadbuttStomp62.34%50.2987.81157%
SteelixIron TailCrunch62.00%50.5558.73182%
SnorlaxLickHeavy Slam61.31%51.11107.82175%
LanturnCharge BeamThunder61.31%51.11102.12188%
ForretressStruggle BugHeavy Slam61.03%51.3461.16182%
HypnoConfusionPsychic60.93%51.4188.83150%
NoctowlWing AttackPsychic60.30%51.9193.63164%
SteelixDragon TailCrunch57.68%53.9956.53189%
NoctowlWing AttackNight Shade56.76%54.7499.76151%
BlisseyPoundPsychic52.71%57.97107.48272%
ChanseyPoundHyper Beam51.44%58.98205.49211%
ChanseyPoundDazzling Gleam51.26%59.13212.53202%
BlisseyZen HeadbuttDazzling Gleam47.28%62.31141.99211%
ChanseyZen HeadbuttDazzling Gleam44.16%64.79230.58185%
BlisseyZen HeadbuttHyper Beam38.56%69.25149.51204%
ChanseyPoundPsychic37.64%69.99241.11175%
ChanseyZen HeadbuttHyper Beam23.67%81.12161.89270%

Observations

Ice is double super effective (1.56x) against Dragonite, so Jynx, Sneasel, Piloswine, Cloyster, Lapras are at the top of the rankings.

With the Gen 2 rebalance favoring charge moves, any attacker with Avalanche ranks highly. Even Sneasel Feint Attack / Avalanche performs almost as well as Ice Shard / Avalanche.

Rock attacks are super effective (1.25x), so Pokemon with Rock Slide do well, such as Omastar, Graveler, Sudowoodo.

Fairy attacks are also super effective, so Pokemon with Play Rough do well, such as Wigglytuff and Granbull.

Beedrill’s typing is neutral against Dragonite. This may mean that it as an excellent all-purpose prestiger. We’ll find out when we look at the other defenders.

Blissey is not too bad, taking 42 seconds, though this is twice as long as Jynx.

Spreadsheet

Strict results: view only, or make a copy.  Only movesets that win all matchups, best strategy selected. The above table is extracted from this.

Complete results: view only or make a copy. All movesets, all strategies, even losing ones.

Caveats

Pokebattler simulations dodge perfectly; a human player won’t do as well. But most of the higher ranked attackers in the above table are able to win with plenty of HP remaining. You can determine this from the Power column. An attacker with 200% Power would have 50% HP remaining.

The only Pokebattler strategies that can win all matchups are Dodge All and Dodge All Pro (except for Blissey).

The complete results spreadsheet shows some cases like Piloswine, which wins 5 seconds faster using Dodge Specials Pro than Dodge All Pro, but loses against Dragon Tail / Hurricane. Piloswine can even win against half of Dragonite’s movesets by not dodging at all!

But these cases are rare, and leave you with less HP for the next battle, or in case you miss a dodge, so I made a decision to exclude them from the table above.

All defender movesets are weighted equally, though the Gen 2 moves are probably less common than the legacy moves currently. Fortunately, all of the attackers perform similarly across all the movesets, so this doesn’t really matter.

Matchups were simulated for the defender at levels 20-39 (CP 2046-3530). Attackers like Shuckle with low max CP will not do well in these rankings, though a 250 CP Shuckle can defeat three 500 CP Dragonites.

Both attacker and defender are assumed to have perfect IV. /u/vlfph shows that “optimal IVs are 15/0/0 to maximize RDPS and 0/15/15 to maximize RBE”. My rankings incorporate both RBE (by excluding attackers that can’t win every matchup) and RDPS (by sorting by time), so it’s not clear how IV would affect the rankings. If they do, the difference would be small. My advice is to just ignore IV for prestigers. So then the average IV for prestigers would be 8/8/8, which has the same attack/defense/HP distribution as 15/15/15.

 

Methodology

Nitty gritty technical details in this section; you probably want to skip it.

/u/ClamusChowderus wrote a wrapper around /u/celandro‘s open source Pokebattler code. This can simulate millions of battles in minutes. This produced a massive 3 GB set of CSVs (download 620 MB zipped). This is too large for Google Sheets to open (Sheets is limited to 2 million cells).

So I uploaded the data into a Google BigQuery dataset (Google Cloud Platform account required).

This query generates Dragonite_avg, which averages the results of all the different CP matchups.

Then this query generates Dragonite_avg_result, which compares each strategy across all the defender movesets.

Then this query generates Dragonite_avg_collapse, which removes all strategies that can’t win all matchups, and then selects only the fastest strategy for each moveset.

Save the results to Google Sheets, copy and paste into my spreadsheet, sheet Import. The Dragonite sheet will then format everything nicely. If you want to sort, do so on the Import sheet.

VictoryTime is a commonly used variable. If the attacker wins, Then VictoryTime = CombatTime, Else VictoryTime = CombatTime / Power. For example, if an attacker loses with Power 50%, then it would take 2 of the same attacker to actually defeat the defender. So VictoryTime = CombatTime / 0.5. CombatTime can be very low if the attacker faints early, so VictoryTime is an attempt to address that. This doesn’t account for the 2-3 second wait time between battles, and that the defender will have some carryover energy.

 

Credits

/u/celandro for making Pokebattler open source.

/u/ClamusChowderus for collaborating with me on every aspect of this post.

/u/vlfph for first developing the CP efficiency spreadsheet.

Further research

I look forward to feedback. I’m currently working on other popular defenders like Rhydon, Blissey, and Tyranitar and will also rewrite my previous guides on Snorlax, Gyarados, and Vaporeon using this new methodology. I’ll take your comments into consideration before I publish those results.

See also

1000 prestige/battle is most time- and potion-efficient

The following threads are based on Gen 1 and will be updated in the upcoming weeks: