Teamforce is back!
Sorry about the ages with no activity. I've been reviving this project (Teamforce, the brute-force RMT bot) on my own over the last week or so; this time, though, instead of using a human-built list of what counters what, I've used statistics.
The basis of the method used is the switching stats that Colin provided last August, listing which Pokémon tend to switch into which. (Unfortunately, due to the age of the statistics, this approach is kind-of inapplicable to UU at the moment because it's changed so much since then, so I've been focusing on OU.) The idea is this: players are more likely to switch in a good counter to a particular Pokémon, then a bad one, if they have it on their team, so by weighting the number of switches with the usage of the Pokémon switched into, you can calculate how good a counter a Pokémon is likely to be, with commonly used sets in practice. Some examples:
- Of teams that owned a Hippowdon, almost exactly 1/6th of the time they faced a Porygon2 and decided to switch, they used their Hippowdon as the switch-in. This is a kind-of "baseline" stat; you can expect a Pokémon to be used for 1/6th of switchins if all the Pokémon on a team are equally good at countering the Pokémon has sent out. The formula used rates this situation as a "countering number" of 0.000; Hippowdon is almost exactly average as a switchin to Porygon2.
- An example of a very good counter is Blissey to Alakazam; pretty much the only thing the Blissey has to fear is tricked Choice Specs, the rest of the time Alakazam isn't getting past. Teams which had a Blissey available sent it out about half the time they faced an Alakazam, meaning (statistically) that Blissey is a very good Alakazam counter. Teamforce gives her a countering number of +1.084 against Alakazam, based on the stats.
- The other extreme is an incredibly poor counter. Electrode is a truly terrible counter to Salamence; it has rather poor defences, and is normally built as a lead. (In August, over 98% of Electrodes ran no defense or special-defence EVs; and 90% used either Focus Sash or Damp Rock, both items indicating a lead.) Additionally, Electrode, being often used as a suicide lead, often isn't even alive by the time the enemy Salamence comes out, making it an even worse counter. As a result, teams with an Electrode in sent it out only 5% of the time they were facing Salamence, far below the 16% that would be predicted by chance. Teamforce gives Electrode a countering number of -1.047 against Salamence.
These statistics have one big advantage over the ones compiled by hand: they can be relatively comprehensive (there's enough data to get reasonably reliable results for all Pokémon with at least 1% usage in OU, meaning that Pokémon like Absol, Ambipom and Porygon2 can be included in the stats). There are also some disadvantages, though: it doesn't allow for unusual sets like "bait" sets which are designed to cripple a Pokémon's usual counters, and it doesn't take the difficulty of countering an individual Pokémon into account (just think: half of all Pokémon are above-average Garchomp counters!). Even so, it can still serve as a useful first check of a team to see if it has any glaring weaknesses (I've been testing it on some recent OU RMTs, and often see the same problems listed the OP has stated, whether it's an individual Pokémon, or a strategy; seeing Skarmory, Blissey and Rotom-H listed as problems can imply that a team is stall-weak, for example.)
Sorry about the ages with no activity. I've been reviving this project (Teamforce, the brute-force RMT bot) on my own over the last week or so; this time, though, instead of using a human-built list of what counters what, I've used statistics.
The basis of the method used is the switching stats that Colin provided last August, listing which Pokémon tend to switch into which. (Unfortunately, due to the age of the statistics, this approach is kind-of inapplicable to UU at the moment because it's changed so much since then, so I've been focusing on OU.) The idea is this: players are more likely to switch in a good counter to a particular Pokémon, then a bad one, if they have it on their team, so by weighting the number of switches with the usage of the Pokémon switched into, you can calculate how good a counter a Pokémon is likely to be, with commonly used sets in practice. Some examples:
- Of teams that owned a Hippowdon, almost exactly 1/6th of the time they faced a Porygon2 and decided to switch, they used their Hippowdon as the switch-in. This is a kind-of "baseline" stat; you can expect a Pokémon to be used for 1/6th of switchins if all the Pokémon on a team are equally good at countering the Pokémon has sent out. The formula used rates this situation as a "countering number" of 0.000; Hippowdon is almost exactly average as a switchin to Porygon2.
- An example of a very good counter is Blissey to Alakazam; pretty much the only thing the Blissey has to fear is tricked Choice Specs, the rest of the time Alakazam isn't getting past. Teams which had a Blissey available sent it out about half the time they faced an Alakazam, meaning (statistically) that Blissey is a very good Alakazam counter. Teamforce gives her a countering number of +1.084 against Alakazam, based on the stats.
- The other extreme is an incredibly poor counter. Electrode is a truly terrible counter to Salamence; it has rather poor defences, and is normally built as a lead. (In August, over 98% of Electrodes ran no defense or special-defence EVs; and 90% used either Focus Sash or Damp Rock, both items indicating a lead.) Additionally, Electrode, being often used as a suicide lead, often isn't even alive by the time the enemy Salamence comes out, making it an even worse counter. As a result, teams with an Electrode in sent it out only 5% of the time they were facing Salamence, far below the 16% that would be predicted by chance. Teamforce gives Electrode a countering number of -1.047 against Salamence.
These statistics have one big advantage over the ones compiled by hand: they can be relatively comprehensive (there's enough data to get reasonably reliable results for all Pokémon with at least 1% usage in OU, meaning that Pokémon like Absol, Ambipom and Porygon2 can be included in the stats). There are also some disadvantages, though: it doesn't allow for unusual sets like "bait" sets which are designed to cripple a Pokémon's usual counters, and it doesn't take the difficulty of countering an individual Pokémon into account (just think: half of all Pokémon are above-average Garchomp counters!). Even so, it can still serve as a useful first check of a team to see if it has any glaring weaknesses (I've been testing it on some recent OU RMTs, and often see the same problems listed the OP has stated, whether it's an individual Pokémon, or a strategy; seeing Skarmory, Blissey and Rotom-H listed as problems can imply that a team is stall-weak, for example.)
This time, I've written the bot as a web page rather than as an IRC bot, to provide more comprehensive results (an entire threat list, as well as a threat summary). Unfortunately, I have nowhere to host it at the moment; I've put the file temporarily at
http://filebin.ca/jcszd/teamforce.html for people to have a play around with, although eventually it'll be deleted from there (it's a place for temporary file storage; note that it's set to prompt to download/open even HTML files, as a result) and somewhere else to host it will be needed.
Does anyone have questions/suggestions/comments?