Damage reduction

Armor reduces physical damage done against you by a certain proportion. It depends entirely on the level of the monster (or player) hitting you and your own armor. Your level doesn't matter. By hovering your mouse over Armor on your Character screen, you can see the percentage value of this reduction for damage done by enemies that are at your current level. This percent reduction will actually fall as soon as you gain a level if you're still wearing the same armor. You haven't lost anything, it's merely showing you that your armor isn't as effective against monsters one level higher than you used to be. 
The most important thing to remember about armor is: An X% increase in armor means an X% increase in armor's contribution to the amount of damage you can take.
The formula for the base armor value is:
Base Armor = 2 * Agility + gear armor + magic armor
Gear armor is the armor value from the gear you are wearing. Magic armor is the extra armor from buffs such as scrolls, mage armor, armor kits etc.
Note that talents which give a percentage bonus to armor (like druid bear form) do not include magic armor in their boost to the armor rating. This is especially important for druids since bonuses received from armor kits, sets and green effects in general are not affected by Bear, Moonkin, or Tree Form or armor-increasing talents.
For enemies from level 1 to 59, the reduction to physical damage, as a percentage, is given by the following formula:
%Reduction = (Armor / ([85 * Enemy_Level] + Armor + 400)) * 100
For enemies from level 60 and up, the reduction to physical damage, as a percentage, is given by the following formula:
%Reduction = (Armor / ([467.5 * Enemy_Level] + Armor - 22167.5)) * 100
For level 80 and raid bosses, this simplifies to:
%Reduction for 80 = (Armor / (Armor + 15232.5)) * 100
%Reduction for 83 = (Armor / (Armor + 16635)) * 100
Note that the maximum damage reduction is capped at 75%. The 15232.5 and 16635 numbers in the denominator are often confused. The constant is based on the attacker's level, not the target's level. Use 15232.5 for your attacks (outgoing) and 16635 for damage received. 
For level 83 bosses, as described below, armor caps at 49905. The Diminishing Returns on armor as you approach the cap are rather harsh; both functions are graphed below.
== Damage Soak ==
Although the character sheet tooltip gives the amount of damage that the armor absorbs, it is more useful to think of how much more damage the player can take.
In general, the armor reduction formula can be written as
Reduction = Armor / (Armor + X)
If the enemy is lower than level 60, X = 85 * Enemy_Level + 400. If the enemy is level 60 or higher, X = 467.5 * Enemy_Level - 22167.5 Therefore, the amount of damage that the player takes after their armor's damage reduction is applied is:
Damage_Taken = Damage_Dealt * ( 1 - ( Armor / (Armor + X) ) )
or
Damage_Taken = Damage_Dealt * ( X / (Armor + X) )
So the ratio of damage dealt to damage taken is:
Damage_Dealt / Damage_Taken
or
(Armor + X) / X
or
1 + (Armor / X)
Therefore, the increase in the amount of damage the player can take compared to having no armor at all, as a percentage, is:
(Armor / X) * 100
Therefore, an X increase in armor (compared to 0 armor) means an 100% increase in the amount of damage the player can take. e.g. For a level 70 enemy, X = 10557.5. So a player with 10557.5 armor attacking a level 70 enemy would be able to take 100% more damage. A player with 31672.5 armor would be able to take 300% more damage than a player with 0 armor (which is the maximum).
== Armor required to get X% damage reduction ==
To calculate the amount of armor needed for maximum mitigation against a lvl 59 or below enemy, one can use the following formula:
Armor = 1200 + 255 * Enemy_Level
Thus a lvl 59 character who wants to achieve 75% reduction vs. lvl 59 mobs would need 16245 AC. Note that this changes beyond lvl 59, as the formula to calculate damage reduction for levels 60 and up requires much more armor to get the same mitigation. Despite the much higher armor values required for 75% reduction at levels 70 and higher, it is currently possible for a well-geared druid to reach this point (see this page).
Or a more general formula. The amount of armor needed for a specific reduction is:
Armor = %Reduction * (400 + 85 * Enemy_Level) / (100 - %Reduction)
Against a level 59 and less:
Armor = (400 + 85 * Enemy Level ) / ( 100 / %Reduction - 1)
 
Against a level 60 and up:
Armor = (467.5 * Enemy Level - 22167.5 ) / ( 100 / %Reduction - 1)
Armor required to get 50%, 60%, 70% and 75% damage reduction against lvl 60, 63, 70 and 73 mobs.
Damage reduction	Damage reduction	Damage reduction	Damage reduction	Damage reduction
Enemy lvl 	50% 	60% 	70% 	75%
60 	5883 	8824 	13726 	17648
63 	7285 	10928 	16999 	21855
70 	10558 	15837 	24635 	31673
73 	11960 	17940 	27907 	35880
80 	15233 	22849 	35543 	45698
83 	16635 	24953 	38815 	49905
%Reduction Formula
%Reduction = 100 / ( (467.5 * EnemyLevel - 22167.5) / Armor + 1 )
 
== That EXTRA armour that I need - General formulae ==
This section is written to answer the question "What's the amount of extra armour that I should add in order to gain extra 5% or 7.3% or 27.4% or whatever EXTRA percentage that I wish to gain in damage reduction?".
The most straightforward/obvious solution is to use the "armour-damage-reduction" formulae given in the section above. However, there is an exact general formula to find the answer for each case - either against a level 59 or lower mob or against a level 60 or higher mob. The formulae are given below the example of straightforward solution.
Example of straightforward solution: (you may skip this part)
If your current total amount of armour provides you with 35% in damage reduction and you wish to add extra 10% to get a total of 45%, what is the amount of extra armour that you should add?
Against a mob with level no higher than 59, you could do the following subtraction:
Extra armour = new armour - current armour
"Current armour" is the total amount of armour that you currently possess. "New armour" is the new total amount of armour that you want to have in order to gain that extra percentage in damage reduction.
From the previous section, "new armour" = (400 + 85 * Enemy Level ) / ( 100 / 45 - 1) and obviously you get the value "current armour" by summing the amount of your equipments armour. Then, by doing the subtraction you get the amount of "extra armour" you need in order to gain extra 10% in damage reduction.
Note though, that you need to calculate your current percentage in damage reduction by solving the armour formula with your current armour value.
===The general formulae===
Before looking at the formulae, please note the following representations:
A = current amount of armour
\Delta A = extra amount of armour that you need to add to your current amount of armour to get certain extra percentage in damage reduction
R = current percentage in damage reduction provided by your equipments, buffs, etc
\Delta R = extra percentage in damage reduction that you wish to add to your current percentage in damage reduction
L = enemy's level
Please also note that these formulae are derived based on the equations given in the previous section which are still lacking in citation.
Against a level 59 or lower mob:
Against a level 60 or higher mob:
These formulae are in fact more general than the formulae given in the section above. In addition to using these general formulae to calculate difference, if you take R to be 0, these general formulae are in fact the same as the formulae given in the previous section.
Example:
From the table in the previous section we have the following figures:
Damage reduction	Damage reduction	Damage reduction	Damage reduction	Damage reduction
Enemy lvl 	50% 	60% 	70% 	75%
63 	7285 	10928 	16999 	21855
If your current armour provides 50% in damage reduction against a level 63 mob, you have 7285 armour. However, if you want to add another 25% on top of your 50% to get 75%, you'll need 21855 armour. So the EXTRA amount of armour that you need to add is 21855 - 7285 = 14570.
Let's see if we can get the same extra amount of armour (14570) by using the formula given above (note: please punch the numbers into your calculator carefully or use wolfram alpha). For level 60 or higher mob, we have:
A = 7285
R = 50
\Delta R = 25
L = 63
====Proofs====
Warning: college level calculus is required.
proof: against lvl 59 and lower
proof: against lvl 60 and higher
There are only two steps in each of the proofs.
1. Differential
2. Integrate both sides with the following limits:
 a) The limits for the first term on the right are L and L. This is because while your character is fighting against one enemy, you don't expect the enemy to level up or down.
 b) The limits for the second term on the right implies if you add armour you also add extra percentage in damage reduction.
==External links==
Not a reference, since this forum post is not from an official source:
Up to date calculator:
Category:Formulas and game mechanics