Now that my brain has had some time to grind this through my gears and actually understand it, I have a few things to say.
Before that though, I'm curious: Did you consider things like Huge/Pure Power or Hustle in these "battles?"
My biggest issue with this is that Att and SpA are treated equally in the rating in all cases. This ignores 2 key aspects of attackers:
- Pokemon with one really good offensive stat and one really bad one (like Alakazam and Heracross) can choose to focus entirely on the good stat and totally ignore the bad one, becoming a pure attacker and not allowing the bad offensive stat to drag it down.
- Mixed attackers can choose to hit an opponent exclusively with either a Physical or Special attack depending on which would do more damage.
To rectify these problems I see, I propose this as a possible solution:
Split each Pokemon into 3 different "classes." Nomenclature and the behavior of the classes would go like this:
- P-class Pokemon would have P_ preceding the name, such as P_Infernape. This denotes a purely Physical Pokemon, and only the Att stat would be used in the calculations of the simulated "battles."
- S-class Pokemon would have S_ preceding the name, such as S_Infernape. This denotes a purely Special Pokemon, and only SpA stat would be used in the calculations of the simulated "battles."
- M-class Pokemon would have M_ preceding the name, such as M_Infernape. This denotes a Mixed attacking Pokemon, and both Att and SpA have a chance to be used in the calculations. In a battle with an M-class Pokemon, the Pokemon would determine whether attacking with the Att or SpA stat would do more damage to the opponent, and would use that stat for the calculation of the simulated "battle."
Under these rules, an M-class Pokemon should
always be ranked ahead of its S-class and P-class counterparts. I believe this because M-class Pokemon can choose which stat is best for any given battle, while P- and S-classes are stuck using a potentially disadvantageous stat (such as S_Heracross vs Blissey).
Furthermore, let us consider how a Pokemon's different classes could be ranked in relation to each other.
Consider Weavile, a Pokemon with large physical power and pitiful SpA. A Pokemon like this would gain a comparatively small advantage in the M-class since the SpA might not be large enough to be stronger than Att in many cases, even against SpD weak foes like Hippowdon. This would mean that the M-class and the P-class would be ranked relatively close to each other, with the S-class ranked far below. The opposite would be true for a SpA dominant Pokemon like Alakazam.
For Pokemon whose offesive stats are fairly close to each other, such as Salamence, Lucario, Infernape, etc., there would be a large advantage to using a Mixed moveset, taking advantage of being able to hit opponents strongly on their weaker defensive stat. Therefore, the M-class set should be ranked much higher than the P- and S-class sets, with the S- and P-classes ranked comparatively close.
If that prediction holds true, then by comparing a Pokemon's 3 class' position in relation to each other, you can roughly gauge how much of a
general advantage a Pokemon can have by using a Mixed or pure moveset.
Granted, this could only be used to gauge general advantages. There can be specific advantages for a Pokemon to run a slightly mixed moveset, even if the Pokemon's M-class is ranked fairly low in relation to one of the pure classes. Heracross can benefit from using Hidden Power Ice to hit Gliscor, one of its main counters. That is a specific advantage though, because Close Combat would hit most things that aren't Gliscor much harder, even something like Hippowdon.