Armor penetration

Armor penetration (abbreviated armor pen or ArP) is a value indicating the percentage of armor that is ignored by physical attacks. In Patch 4.0.1 armor penetration rating was removed from all items as part of Blizzard's effort to "simplify statistics" for Cataclysm. Armor penetration rating that was on items prior to Patch 4.0.1 was converted to critical strike rating or haste rating depending on which stat was not previously present. Percentage-based armor penetration is still present in a few passive and active abilities.

The following passive and active abilities reduce or ignore a target's armor:
 * Find Weakness - rogue passive that causes attacks to bypass up to 70% of the enemy's armor when certain abilities are used.
 * Expose Armor - rogue ability that reduces an enemy's armor by 4%.
 * Sunder Armor and Devastate - warrior abilities that reduce an enemy's armor by up to 4%. Warriors also gain Colossus Smash at level 81, allowing all their attacks to bypass 100% (50% in PvP) of the target's armor for 6 seconds.
 * Faerie Fire - druid ability that reduce an enemy's armor by up to 4%.
 * Tiger Palm - monk ability that applies a stacking buff, causing the monk to ignore 30% of the target's armor.

None of the 4% armor debuffs stack with one another.

Armor penetration rating
Armor penetration is a rating system that affects a percentage of armor ignored. This means that upgrades scale more cleanly with all bosses but has a side effect of becoming less useful on low armor ones.

The conversion rate is about 7 ArP = 1 ArP rating. So if you had 1000 ArP, you now have 142.8 ArP rating. In the past, this would have been a 6% gain on a 15k armor foe and a 12.5% gain on an 8k armor foe; at level 80 it now gives a 9.2% gain to both targets.

Percentage-based ArP
This was Pre-WOTLK:

Since some talents operate on percentages such as Mace Specialization, they operate onto the already existing modifiers. Instead of ignoring armor from the base value of the target immediately, it takes into account the effects of Sunder Armor, Expose Armor, Faerie Fire, Curse of Weakness, Sting, and Acid Spit and then does a post operation of the value when it calculates mace specialization and piercing shots.

In addition, what this entails for percentage based ArP is that the higher the armor the greater the ArP raw value and the lesser the armor the less ArP raw value. That is to say, percentage based ArP suffers diminishing returns for heavily sundered units in terms of raw ArP value, especially for those with very low armor value.

'Now everything operates in percentages and stacks additively in two categories: Debuffs and personal Armor Penetration. The two categories stack multiplicatively with each other.'

Armor penetration benefits
Armor penetration will increase non-Bleed physical damage by a percentage significant for virtually every target, however, for lightly armored targets it is less effective in the damage it provides.

From the perspective of a warrior, because armor penetration increases damage, he will get a moderate gain in rage generation as a result of higher armor penetration. Also, armor penetration causes the warrior to increase Execute damage.

Opportunistically, from a PvP point of view, a warrior may apply fewer stacks of Sunder Armor, assuming they have a higher armor pen than usual, because they have a head start on armor ignored. Or they may choose to boost the sustained damage further by a significant percentage by applying more stacks.

Skills and talents

 * Deathknight: Blood Gorged.
 * Druid: Faerie Fire.
 * Hunter: Acid Spit (Worm pet) and Sting (Wasp pet).
 * Rogue: Mace Specialization and Serrated Blades. Expose Armor also effectively counts as armor penetration.
 * Warrior: Mace Specialization and Battle Stance. Sunder Armor also effectively counts as armor penetration.
 * Expose Armor, Sunder Armor, and Acid Spit do not stack.
 * Faerie Fire, Curse of Weakness, and Sting do not stack.

Countering armor penetration
To effectively neutralize or counter the effectiveness of armor penetration one could simply increase their armor value in combat time with drinking potions such as Indestructible Potion, changing to Bear Form or Moonkin Form, equipping a Shield, dropping a Stoneskin Totem, casting Inner Fire or Devotion Aura, or speccing in Thick Hide (druid ability). You can also enchant your gear with armor. For example: Enchant Cloak - Mighty Armor to counter armor pen. In short, armor penetration is really only countered by more armor.

Technical explanation from Ghostcrawler
Quote from: Ghostcrawler

Okay, here is a fairly technical explanation we put together for how armor pen works.

We didn’t want Armor Penetration Rating to be too powerful against low armor targets, like it had been in BC. We also didn’t want Armor Penetration Rating to be too powerful against high armor targets.

''So, we decided on a system where there is a cap on how much armor the Armor Penetration Rating can be applied to. So, the first X armor on the target is reduced by the percentage listed in the Armor Penetration Rating tooltip, and all armor past that X is unaffected. Another way of understanding that is we multiply the percentage in the tooltip times the minimum of the two values: the cap, and the amount of armor on the target after all other modifiers.''

''Computing the cap is a little tricky unless you are already familiar with how World of Warcraft armor works. There is an armor constant we’ll call C. C is derived as follows (in some pseudocode):''

If (level<60) C=400+85*targetlevel Else'' C=400+85*targetlevel+4.5*85*(targetlevel-59);

''For a level 80 target, C=15232.5. For a level 83, C=16635.''

The cap for Armor Penetration then is: (armor + C)/3.

''A level 80 warrior creature has 9729 armor. C=15232.5. So, the cap is (9729+15232.5)/3=8320.5. Let’s say a player has 30% armor penetration from armor penetration rating and no other modifiers that complicate the calculation (talents, Battle Stance, Sunder Armor, etc.). The game chooses the minimum of 8320.5 and 9729, so 8320.5. That is multiplied by 30% = 2496.15, and so that much armor is ignored. The effective armor on the target is 7232.85 (9729-2496.15). From a player point of view, the armor penetration rating didn’t ignore the full 30%, but instead ignored 25.66%. (85.5% as effective as expected).''

''These equations should help you be able to test and verify that Armor Penetration Rating is working correctly and as we designed. The tooltip is not actually inaccurate, as it states: “Enemy armor reduced by up to 30.00%.” That "up to" is key.''

Please be sure to test without any other effects which modify the armor calculation (Battle Stance, Sunder Armor, Mace Specialization, etc.) as they may involve other systems that add additional complexity to the calculation.

The formula for the Armor Penetration cap can be simplified to ArPcap = (935/6)*x + y/3 -44335/6, where x is the target level and y the target armor. Then effArmor = targetArmor - ArP * min{ targetArmor, ArPcap} as explained above, with the Armor Penetration ArP of your character. ArP is given, lately changed in 3.1.2, by the formula ArP = min{ 1,(Sum ArPcontributions)%}.

Calculating
Calculating the ARP it's done in 2 parts:

First up - the debuffs. These reduce your target's initial armor. For example, if your target has 10k armor and it gets 20% sunder, its armor would be 8k. The debuffs stack additively, so Faerie Fire will stack with sunder, totaling a 25% reduction on the target, taking it to 7.5k armor.

Second, comes the formula GC provided, you grab the armor after the debuff calculation and to that armor you apply the formula (armor + C)/3. Using the same example as before, lets say the target is level 80, so C=15232.5, now calculate (7500 + 15232.5)/3 = 7577.5. This makes the target's armor lower than the result, meaning that each 1% removes 75 armor and you are hitting a 0 armor target on the 100% ARP get. The ArP "buffs" (items, stances and such) stack additively too, meaning that 90% ARP on battle stance for a warrior would mean a 100% ARP final.