BW Stat Ratings (Update)

bugmaniacbob

Was fun while it lasted
is an Artist Alumnusis a CAP Contributor Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnus
#1
OK so here's what's what with this article:

This article is based on the Stats Ratings designed by X-Act here

X-Act later updated these for Platinum with a new set of formulae here

The current Ratings system we used is based on the above, updated for BW by Rising_Dusk here. This article is basically going to be a rewrite of that thread for the on-site standard, so all credit to RD for the hard work and X-Act for the genius. Myself, I'm just the biographer.

Oh and I'm removing the stuff on ODB and PSB because really it is pretty pointless all things considered.

I haven't updated this to include the Therian or Kyurem formes because that's a temporal investment I can't really make. Even so, these should be pretty adequate for our purposes.

----

[title]
BW Stat Ratings
[page]
<div class="author">Written by <a href="/forums/member.php?u=2412">X-Act</a>, revised by <a href="/forums/member.php?u=16017">tennisace. Second revision by <a href="/forums/member.php?u=25105">bugmaniacbob</a>, with formulae by <a href="/forums/member.php?u=2412">X-Act</a> and <a href="/forums/member.php?u=43161">Rising_Dusk</a>. </div>

<ol class="toc">
<li><a href="#intro">Introduction</a></li>
<li><a href="#ptst">Physical Tankiness and Special Tankiness</a></li>
<li><a href="#psss">Physical Sweepiness and Special Sweepiness</a></li>
<li><a href="#overall">Overall Base Stat Rating</a></li>
<li><a href="#example">Example</a></li>
</ol>

<h2><a name="intro">Introduction</a></h2>

<p>To the average user, looking at stats can be either incredibly simple or incredibly complex. After all, a base Attack stat of 150 is much better than a stat of 50. That much is obvious. Similarly, you'd be well within your rights to claim that a Pokemon with a Base Stat Total (BST) of 600 is overall better than one with a BST of 490. Or would you? After all, Alakazam, with a BST of 490, is used far more often than Mew, who has a BST of 600. Other questions come up often, too. What is better, a Pokemon with base 50 HP and base 100 Defense, or one with base 100 HP and base 50 Defense?</p>

<p>The recognition of these limits with rating stats based on BST and the individual stats themselves led to the creation of BSR, or the Base Stat Ratings. These provide a framework within which stats can be constructed based on their overall efficacy for particular roles, and can show how well the stats link together to create a cohesive rating in each area, and of the whole.</p>

<p>Hereunder is a collection of ratings of a Pokemon used in determining the efficacy of the stat spread:</p>

<ul><li><strong>Physical Tankiness</strong> (PT) denotes the overall capacity of the Pokemon to take physical hits.</li>
<li><strong>Special Tankiness</strong> (ST) denotes the overall capacity of the Pokemon to take special hits.</li>
<li><strong>Physical Sweepiness</strong> (PT) denotes the overall capacity of the Pokemon to sweep with physical attacks.</li>
<li><strong>Special Sweepiness</strong> (PT) denotes the overall capacity of the Pokemon to sweep with physical attacks.</li>
<li><strong>Base Stat Rating</strong> (BSR) provides an overall rating for that Pokemon based on each of the Pokemon's other ratings.</li></ul>

<p>Note that these ratings are treated in complete isolation, and are not affected by typing, ability, movepool, or any other part of the Pokemon's build. They are purely used for an objective rating of the stats.</p>

<h2><a name="ptst">Physical Tankiness and Special Tankiness</a></h2>

<p>To calculate the tankiness of a Pokemon requires the defensive stat of choice, along with the HP stat. These ratings give the overall capacity for the Pokemon to take hits on that particular side, based purely on the stats. These ratings can be worked out using only the base stats and the formulae - no other information is required. Note that it is possible to break the rating system with excessively high or low HP or defensive values, which is treated as "BSR abuse" in most CAP stat spread polls and will likely result in your submission being disqualified.</p>

<p>First, the base stats for the Pokemon must be changed to their statistical values&mdash;these are the exact values used by the cartridge game to calculate numbers for stats without EV investment, as detailed below:</p>

<p><pre>SHP = HP × 2 + 141

SDef = Def × 2 + 36

SSpD = SpD × 2 + 36

where HP is the base HP stat
Def is the base Defense stat
SpD is the base Special Defense stat
SHP is the Statistical HP stat
SDef is the Statistical Defense stat
SSpD is the Statistical Special Defense stat</pre></p>

<p>These statistical base stats can then be converted into a "raw" measure of physical or special tankiness by multiplying them together, as follows:</p>

<p><pre>RPT = SHP × SDef

RST = SHP × SSpD

where SHP is the Statistical HP stat
SDef is the Statistical Defense stat
SSpD is the Statistical Special Defense stat
RPT is the raw physical tankiness
RST is the raw special tankiness</pre></p>

<p>Finally, to obtain the final values, the ratings are scaled so that the mean is exactly 100 and the standard deviation exactly 50. This is done so that the stat ratings can have appropriate cutoffs at clean numbers. For example, anything under a rating of 100 in any of these categories would be seen as below the average, while everything above 100 would be seen as above the average. The rating categories are separated by half a standard deviation - thus every time the rating goes up by 25, it enters a new category, so a Pokemon with a rating of 100 would be considered Above Average in that rating, and one with 125 would be considered Good.</p>

<p><pre>PT = (RPT ÷ 401.424544) - 24.593586

ST = (RST ÷ 415.017219) - 19.123917

where RPT is the raw physical tankiness
RST is the raw special tankiness
PT is the physical tankiness value
ST is the special tankiness value</pre></p>

<p>Once the stat rating has been calculated, it can be placed in one of the following categories depending on its efficacy:</p>

<table class="sortable">
<thead>
<tr class="a">
<th>PT/ST Range</th>
<th>Stat Description</th>
<th>Example (PT) </th>
<th>Example (ST) </th>
</tr>
</thead>
<tbody>
<tr>
<td> < 25 </td>
<td> Horrible </td>
<td> Diglett </td>
<td> Krabby </td>
</tr>
<tr class="a">
<td> 25 - 49</td>
<td> Bad </td>
<td> Whismur </td>
<td> Shuppet </td>
</tr>
<tr>
<td> 50 - 74 </td>
<td> Poor </td>
<td> Buneary </td>
<td> Gible </td>
</tr>
<tr class="a">
<td> 75 - 99 </td>
<td> Below Average </td>
<td> Espeon </td>
<td> Furret </td>
</tr>
<tr>
<td> 100 - 124 </td>
<td> Above Average </td>
<td> Scyther </td>
<td> Quagsire </td>
</tr>
<tr class="a">
<td> 125 - 149 </td>
<td> Good </td>
<td> Slowking </td>
<td> Moltres </td>
</tr>
<tr>
<td> 150 - 174 </td>
<td> Very Good </td>
<td> Weezing </td>
<td> Gyarados </td>
</tr>
<tr class="a">
<td> 175 - 199 </td>
<td> Excellent </td>
<td> Tyranitar </td>
<td> Mantine </td>
</tr>
<tr>
<td> 200 - 224 </td>
<td> Fantastic </td>
<td> Bastiodon </td>
<td> Umbreon </td>
</tr>
<tr class="a">
<td> > 224 </td>
<td> Amazing </td>
<td> Rhyperior </td>
<td> Kyogre </td>
</tr>
</tbody>
</table>

<h2><a name="ptst">Physical Sweepiness and Special Sweepiness</a></h2>

<p>To calculate the sweepiness of a Pokemon is more difficult, marginally, than to calculate the tankiness, based on the specifics of the Speed stat. Calculating it requires the offensive stat of choice, along with the Speed stat, and a value known as the Speed factor, which is simply the number of Pokemon that that particular base Speed will enable you to outrun. These ratings give the overall capacity for the Pokemon to sweep using that particular offensive side, based purely on the stats.</p>

<p>The following is a table of Speed Factor numbers:</p>

<table class="sortable">
<thead>
<tr><th>Base Speed stat</th><th>Speed Factor</th></tr>
</thead>
<tbody>
<tr> <td> 1 to 5 </td> <td> 0 </td> </tr>
<tr class="a"> <td> 6 to 10 </td> <td> 2 </td> </tr>
<tr> <td> 11 to 15 </td> <td> 5 </td> </tr>
<tr class="a"> <td> 16 to 20 </td> <td> 14 </td> </tr>
<tr> <td> 21 to 22 </td> <td> 27 </td> </tr>
<tr class="a"> <td> 23 </td> <td> 28 </td> </tr>
<tr> <td> 24 </td> <td> 31 </td> </tr>
<tr class="a"> <td> 25 </td> <td> 32 </td> </tr>
<tr> <td> 26 to 28 </td> <td> 42 </td> </tr>
<tr class="a"> <td> 29 </td> <td> 43 </td> </tr>
<tr> <td> 30 </td> <td> 44 </td> </tr>
<tr class="a"> <td> 31 </td> <td> 75 </td> </tr>
<tr> <td> 32 </td> <td> 77 </td> </tr>
<tr class="a"> <td> 33 </td> <td> 81 </td> </tr>
<tr> <td> 34 </td> <td> 83 </td> </tr>
<tr class="a"> <td> 35 </td> <td> 84 </td> </tr>
<tr> <td> 36 </td> <td> 104 </td> </tr>
<tr class="a"> <td> 37 to 38 </td> <td> 109 </td> </tr>
<tr> <td> 39 </td> <td> 110 </td> </tr>
<tr class="a"> <td> 40 </td> <td> 111 </td> </tr>
<tr> <td> 41 </td> <td> 142 </td> </tr>
<tr class="a"> <td> 42 </td> <td> 144 </td> </tr>
<tr> <td> 43 </td> <td> 149 </td> </tr>
<tr class="a"> <td> 44 </td> <td> 153 </td> </tr>
<tr> <td> 45 </td> <td> 154 </td> </tr>
<tr class="a"> <td> 46 </td> <td> 181 </td> </tr>
<tr> <td> 47 </td> <td> 182 </td> </tr>
<tr class="a"> <td> 48 </td> <td> 184 </td> </tr>
<tr> <td> 49 to 50 </td> <td> 189 </td> </tr>
<tr class="a"> <td> 51 </td> <td> 229 </td> </tr>
<tr> <td> 52 </td> <td> 231 </td> </tr>
<tr class="a"> <td> 53 to 55 </td> <td> 233 </td> </tr>
<tr> <td> 56 </td> <td> 262 </td> </tr>
<tr class="a"> <td> 57 </td> <td> 265 </td> </tr>
<tr> <td> 58 </td> <td> 267 </td> </tr>
<tr class="a"> <td> 59 </td> <td> 273 </td> </tr>
<tr> <td> 60 </td> <td> 274 </td> </tr>
<tr class="a"> <td> 61 </td> <td> 313 </td> </tr>
<tr> <td> 62 to 63 </td> <td> 315 </td> </tr>
<tr class="a"> <td> 64 </td> <td> 317 </td> </tr>
<tr> <td> 65 </td> <td> 321 </td> </tr>
<tr class="a"> <td> 66 </td> <td> 357 </td> </tr>
<tr> <td> 67 </td> <td> 361 </td> </tr>
<tr class="a"> <td> 68 </td> <td> 365 </td> </tr>
<tr> <td> 69 </td> <td> 368 </td> </tr>
<tr class="a"> <td> 70 </td> <td> 369 </td> </tr>
<tr> <td> 71 </td> <td> 405 </td> </tr>
<tr class="a"> <td> 72 </td> <td> 408 </td> </tr>
<tr> <td> 73 to 74 </td> <td> 410 </td> </tr>
<tr class="a"> <td> 75 </td> <td> 413 </td> </tr>
<tr> <td> 76 </td> <td> 424 </td> </tr>
<tr class="a"> <td> 77 </td> <td> 427 </td> </tr>
<tr> <td> 78 </td> <td> 429 </td> </tr>
<tr class="a"> <td> 79 </td> <td> 431 </td> </tr>
<tr> <td> 80 </td> <td> 432 </td> </tr>
<tr class="a"> <td> 81 </td> <td> 461 </td> </tr>
<tr> <td> 82 </td> <td> 464 </td> </tr>
<tr class="a"> <td> 83 </td> <td> 465 </td> </tr>
<tr> <td> 84 </td> <td> 468 </td> </tr>
<tr class="a"> <td> 85 </td> <td> 469 </td> </tr>
<tr> <td> 86 </td> <td> 496 </td> </tr>
<tr class="a"> <td> 87 </td> <td> 501 </td> </tr>
<tr> <td> 88 </td> <td> 502 </td> </tr>
<tr class="a"> <td> 89 to 90 </td> <td> 503 </td> </tr>
<tr> <td> 91 </td> <td> 532 </td> </tr>
<tr class="a"> <td> 92 </td> <td> 537 </td> </tr>
<tr> <td> 93 </td> <td> 539 </td> </tr>
<tr class="a"> <td> 94 to 95 </td> <td> 541 </td> </tr>
<tr> <td> 96 to 97 </td> <td> 565 </td> </tr>
<tr class="a"> <td> 98 </td> <td> 569 </td> </tr>
<tr> <td> 99 </td> <td> 573 </td> </tr>
<tr class="a"> <td> 100 </td> <td> 574 </td> </tr>
<tr> <td> 101 </td> <td> 599 </td> </tr>
<tr class="a"> <td> 102 </td> <td> 603 </td> </tr>
<tr> <td> 103 </td> <td> 604 </td> </tr>
<tr class="a"> <td> 104 to 105 </td> <td> 605 </td> </tr>
<tr> <td> 106 </td> <td> 615 </td> </tr>
<tr class="a"> <td> 107 to 108 </td> <td> 616 </td> </tr>
<tr> <td> 109 </td> <td> 622 </td> </tr>
<tr class="a"> <td> 110 </td> <td> 623 </td> </tr>
<tr> <td> 111 </td> <td> 632 </td> </tr>
<tr class="a"> <td> 112 </td> <td> 634 </td> </tr>
<tr> <td> 113 </td> <td> 636 </td> </tr>
<tr class="a"> <td> 114 </td> <td> 637 </td> </tr>
<tr> <td> 115 </td> <td> 638 </td> </tr>
<tr class="a"> <td> 116 </td> <td> 646 </td> </tr>
<tr> <td> 117 to 120 </td> <td> 648 </td> </tr>
<tr class="a"> <td> 121 to 125 </td> <td> 652 </td> </tr>
<tr> <td> 126 to 127 </td> <td> 655 </td> </tr>
<tr class="a"> <td> 128 </td> <td> 656 </td> </tr>
<tr> <td> 129 to 130 </td> <td> 657 </td> </tr>
<tr class="a"> <td> 131 to 140 </td> <td> 661 </td> </tr>
<tr> <td> 141 to 145 </td> <td> 662 </td> </tr>
<tr class="a"> <td> 146 to 150 </td> <td> 663 </td> </tr>
<tr> <td> 151 to 160 </td> <td> 665 </td> </tr>
<tr class="a"> <td> 161 to 180 </td> <td> 666 </td> </tr>
<tr> <td> 181 to 255 </td> <td> 667 </td> </tr>
</tbody>
</table>

<p>Once you have obtained the Speed Factor of your base Speed, the base stats for the Pokemon can be changed to their statistical values, as was the case with the tankiness ratings. SAtk and SSpA are calculated in the same manner as SDef and SSpD, but SSpe is calculated using the Speed Factor alone, not the base stat:</p>

<p><pre>SAtk = Atk × 2 + 36

SSpD = SpD × 2 + 36

SSpe = SF ÷ 667

where Atk is the base Attack stat
SpA is the base Special Attack stat
SF is the Speed Factor
SAtk is the Statistical Attack stat
SSpA is the Statistical Special Attack stat
SSpe is the Statistical Speed stat</pre></p>

<p>As with the tankiness ratings, these statistical base stats can then be converted into a "raw" measure of physical or special sweepiness; however, the formulae to achieve this are slightly more complicated, thus:</p>

<p><pre>RPS = SAtk × (SAtk × SSpe + 415) ÷ (SAtk × (1 - SSpe) + 415)

RSS = SSpA × (SSpA × SSpe + 415) ÷ (SSpA × (1 - SSpe) + 415)

where SAtk is the Statistical Attack stat
SSpA is the Statistical Special Attack stat
SSpe is the Statistical Speed stat
RPS is the raw physical sweepiness
RSS is the raw special sweepiness</pre></p>

<p>Finally, as with the tankiness ratings, the raw sweepiness ratings are scaled so that the mean is exactly 100 and the standard deviation exactly 50. As with the above, anything under a rating of 100 in any of these categories would be seen as below the average, while everything above 100 would be seen as above the average.</p>

<p><pre>PS = (RPS ÷ 1.891436) - 4.668834

SS = (RSS ÷ 1.939729) + 3.716211

where RPS is the raw physical sweepiness
RSS is the raw special sweepiness
PS is the physical sweepiness value
SS is the special sweepiness value</pre></p>

<p>As before, once the stat rating has been calculated, it can be placed in one of the following categories depending on its efficacy:</p>

<h3><a name="biasexamples">Stat Bias and Base Stat Rating Examples</a></h3>
<table class="sortable">
<thead>
<tr class="a">
<th>PS/SS Range</th>
<th>Stat Description</th>
<th>Example (PS) </th>
<th>Example (SS) </th>
</tr>
</thead>
<tbody>
<tr>
<td> < 25 </td>
<td> Horrible </td>
<td> Chansey </td>
<td> N/A </td>
</tr>
<tr class="a">
<td> 25 - 49</td>
<td> Bad </td>
<td> Wynaut </td>
<td> Beldum </td>
</tr>
<tr>
<td> 50 - 74 </td>
<td> Poor </td>
<td> Munchlax </td>
<td> Corsola </td>
</tr>
<tr class="a">
<td> 75 - 99 </td>
<td> Below Average </td>
<td> Snorlax </td>
<td> Tauros </td>
</tr>
<tr>
<td> 100 - 124 </td>
<td> Above Average </td>
<td> Gligar </td>
<td> Swampert </td>
</tr>
<tr class="a">
<td> 125 - 149 </td>
<td> Good </td>
<td> Hitmonchan </td>
<td> Dragonite </td>
</tr>
<tr>
<td> 150 - 174 </td>
<td> Very Good </td>
<td> Mew </td>
<td> Blaziken </td>
</tr>
<tr class="a">
<td> 175 - 199 </td>
<td> Excellent </td>
<td> Infernape </td>
<td> Roserade </td>
</tr>
<tr>
<td> 200 - 224 </td>
<td> Fantastic </td>
<td> Electivire </td>
<td> Porygon-Z </td>
</tr>
<tr class="a">
<td> > 224 </td>
<td> Amazing </td>
<td> Rayquaza </td>
<td> Alakazam </td>
</tr>
</tbody>
</table>

<h2><a name="overall">Overall Base Stat Rating</a></h2>

<p>Once the Physical Tankiness, Special Tankiness, Physical Sweepiness, and Special Sweepiness have been calculated, it is possible to calculate an overall rating for the Pokemon - this is the Base Stat Rating, or BSR. Since all of the individual rating categories have exactly the same mean and standard deviation, there is no need to modify them for use in the BSR formula. They are simply added together, then scaled to give a mean of 200 and a standard deviation of 100. Thus, anything under a rating of 200 for BSR would be seen as below the average, while everything above 200 would be seen as above the average. Every time the rating goes up by 50, it enters a new category - so a Pokemon with a rating of 200 would be considered Above Average in that rating, and one with 250 would be considered Good.</p>

<p><pre>BSR = (PT + ST + PS + SS) ÷ 1.527059 - 61.941419

where BSR is the Base Stat Rating
PT is the Physical Tankiness value
ST is the Special Tankiness value
PS is the Physical Sweepiness value
SS is the Special Sweepiness value</pre></p>

<p>The Base Stat Rating can be used to categorise Pokemon by the overall strength of their base stats, as follows:</p>

<table class="sortable">
<thead>
<tr class="a">
<th>BSR Range</th>
<th>Rating Description</th>
<th>Examples</th>
</tr>
</thead>
<tbody>
<tr>
<td> < 50 </td>
<td> Horrible </td>
<td> Caterpie, Magikarp </td>
</tr>
<tr class="a">
<td> 50 - 99</td>
<td> Bad </td>
<td> Horsea, Slugma </td>
</tr>
<tr>
<td> 100 - 149 </td>
<td> Poor </td>
<td> Elekid, Gulpin </td>
</tr>
<tr class="a">
<td> 150 - 199 </td>
<td> Below Average </td>
<td> Plusle, Monferno </td>
</tr>
<tr>
<td> 200 - 249 </td>
<td> Above Average </td>
<td> Gorebyss, Vespiquen </td>
</tr>
<tr class="a">
<td> 250 - 299 </td>
<td> Good </td>
<td> Roserade, Magnezone </td>
</tr>
<tr>
<td> 300 - 349 </td>
<td> Very Good </td>
<td> Metagross, Uxie </td>
</tr>
<tr class="a">
<td> 350 - 399 </td>
<td> Excellent </td>
<td> Salamence, Suicune </td>
</tr>
<tr>
<td> 400 - 449 </td>
<td> Fantastic </td>
<td> Garchomp, Landorus </td>
</tr>
<tr class="a">
<td> > 450 </td>
<td> Amazing </td>
<td> Mewtwo, Arceus </td>
</tr>
</tbody>
</table>

<h2><a name="example">Example</a></h2>

<p>Let's say we are considering creating a hypothetical Pokemon having the following Base Stats:</p>

<p><pre>52 HP / 117 Atk / 93 Def / 80 SpA / 67 SpD / 101 Spe (BST 510)</pre></p>

<p><strong>Calculating the Categorical Ratings</strong></p>

<p>First we find the statistical stat values and the Speed Factor:</p>

<p><pre>Speed Factor = 599

SHP: 52 × 2 + 141 = 245
SAtk: 117 × 2 + 36 = 270
SDef: 93 × 2 + 36 = 222
SSpA: 80 × 2 + 36 = 196
SSpD: 67 × 2 + 36 = 170
SSpe: 599 ÷ 667 = 0.898050975</pre></p>

<p>Now we find RPT, RST, RPS, and RSS:</p>

<p><pre>Raw Physical Tankiness = 245 × 222 = 54390
Raw Special Tankiness = 245 × 170 = 41650
Raw Physical Sweepiness = 270 × (270 × 0.898 + 415) ÷ (270 × (1 - 0.898) + 415) = 401.1466468
Raw Special Sweepiness = 196 × (196 × 0.898 + 415) ÷ (196 × (1 - 0.898) + 415) = 266.3087756</pre></p>

<p>Finally, we can find the PT, ST, PS, and SS:</p>

<p><pre>Physical Tankiness = (54390 ÷ 401.424544) - 24.593586 = <strong>110.8988766</strong>
Special Tankiness = (41650 ÷ 415.017219) - 19.123917 = <strong>81.2333648</strong>
Physical Sweepiness = (401.15 ÷ 1.891436) - 4.668834 = <strong>207.4169288</strong>
Special Sweepiness = (266.31 ÷ 1.939729) + 3.716211 = <strong>141.0079541</strong></pre></p>

<p>From this, we can say that the PT is <strong>Above Average</strong>, the ST is <strong>Below Average</strong>, the PS is <strong>Fantastic</strong>, and the SS is <strong>Good</strong>. Thus, we can expect this Pokemon to function as a powerful, but somewhat frail, physical sweeper. If its physical sweepiness is taken in isolation, it should be a fantastic physical sweeper; however, is that the case when all stats are taken into consideration?</p>

<p><strong>Calculating the Overall Base Stat Rating</strong></p>

<p>Now, for the overall rating, we simply need to add together PT, PS, ST and SS, and place that number in our final formula:</p>

<p><pre>PT + ST + PS + SS = 110.90 + 81.23 + 207.42 + 141.01 = 540.5571243

Base Stat Rating = 540.56 ÷ 1.527059 - 61.941419 = <strong>292.0443303</strong></pre></p>

<p>From the chart, a rating of 292 means that the stats are, overall, classified as <strong>Good</strong>.</p>

------

It is 3am here and I have spent hours doing this

Why am I doing this to myself? I have no idea...