The Math Behind Effective Health

The phrase “Effective Health” is thrown around a lot among tanks these days. Often, it is touted as the must-have stat for tanks, or as a misleading number in a world full of magic attacks. I will discuss how to calculate effective health in this post and how to determine whether stamina or armor are better at a given point. Determining whether effective health is a valuable stat is a subject left to another post.

What is Effective Health?

Simply put, Effective Health is the minimum amount of unmitigated base damage needed to kill the player. Another way of looking at it is if you could not block/dodge/parry and an attack couldn’t miss, before mitigation from stance, armor, or buffs was applied, how big of an attack would it take to kill you. Since that attack would be reduced by the amount of the mitigation, we get the following formula where μ is mitigation and h is health:

h_{eff}=\frac{h_{tot}}{1-\mu_{tot}}

This is the definition of effective health that I will be using.

Note that:

1-\mu_{tot}=\prod{(1-\mu)}

Which will allow us to calculate total mitigation by determining the mitigation of the contributing parts later.

Calculating Effective Health

Suppose, now, that we are in a situation with full buffing available. We have the highest rank of every buff available to us with full talents, and we want to calculate our effective health from our base stats. This is a common situation, and one we consider extensively when gearing.

First off, we want to determine our total health. We will use stamina (s), and base health to determine this, the reasons for this will be shown later. There are buffs that come in to play here: Blessing of Kings, Commanding Shout with talent, Power Word: Fortitude with talent, Mark of the Wild with talent, food stamina, flasks, bonus health from enchantments, and your own health increasing talents. In general form:

h_{tot}=10 \cdot BoK \cdot Vitality(S+PW:F+MotW+food)+h_{base}+h_{bonus}+flask+CS

And with all values inserted in as of Wrath of the Lich King:

h_{tot}=10 \cdot 1.10 \cdot 1.06(S+214+51+40)+8121+275+1300+2812

Simplified as much as possible:

h_{tot}=11.66S+16064.3

Thus, we have completed the first task in determining health.

Now, we want our total mitigation. For the moment, let’s ignore armor in the calculation. We still have a large number of factors to consider. We need to include stance, Ancestral Healing/Inspiration, Blessing of Sanctuary/Renewed Hope, and talents (if any existed). Thus, before including armor, you get:

1-\mu_{tot}=(1-\mu_{DS})(1-\mu_{AH/Ins})(1-\mu_{BoS/RH})

After plugging in values:

1-\mu_{tot}=(1-0.1)(1-0.1)(1-0.03)=0.7857

Finally, we get around to armor. According to Satrina on Tankspot, mitigation from armor is found with the following equation for mobs above level 60, with L being the level of the attacking mob:

\mu_{armor}=\frac{A}{A+K}=\frac{A}{A+(467.5L - 22167.5)}

However, we are more interested in the converse of mitigation, which is found to be:

1-\mu_{armor}=\frac{K}{A+K}

Now we bring in some assumptions. Suppose we are fighting a level 83 boss mob, and have all of the raid buffs available for armor. Our armor value will be similar to what we found for health. However, armor comes from a lot of places (like agility) and can be hard to track down. Regardless, we get base armor from gear, bonus armor from gear and enchantments, armor from agility, Stoneskin Totem with talent, Devotion Aura with talent, our own talents, meta gems, and Mark of the Wild.

A_{tot}=Toughness \cdot AES \cdot A_{gear}+A_{bonus}+DA+SS+MotW+2BoK(Agi+MotW+SoE)

Plugging in for all those values:

A_{tot}=1.1 \cdot 1.02 \cdot A_{gear}+A_{bonus}+1807+1380+1050+2 \cdot 1.1(Agi+51+178)

Simplifying as much as possible:

A_{tot}=1.122A_{gear}+A_{bonus}+4668.8+2.2Agi

Now, we can find K(L=83)=16635 and get that:

1-\mu_{armor}=\frac{16635}{1.122A_{gear}+A_{bonus}+21303.8+2.2Agi}

Putting it All Together

Now that we have the constituent parts of the equation, we can finally get the full equation for effective health in terms of stamina, armor from items, and agility:

h_{eff}=\frac{h_{tot}}{1-\mu_{tot}}=\frac{(11.66S+16064.3)(1.122A_{gear}+A_{bonus}+21303.8+2.2Agi)}{(0.7857)(16635)}

Derivatives and Stat Comparisons

One thing we can do with this equation is find relationships between effective health and additional stats. Suppose we wanted to know if bonus armor from a given piece was better than stamina on a different piece. We first take the derivative of effective health with respect to stamina:

\frac{dh_{eff}}{dS}=\frac{11.66(1.122A_{gear}+A_{bonus}+21303.8+2.2Agi)}{(0.7857)(16635)}

We can do the same thing for armor. First we consider armor on gear:

\frac{dh_{eff}}{dA_{gear}}=\frac{1.122(11.66S+16064.3)}{(0.7857)(16635)}

Then we consider bonus armor:

\frac{dh_{eff}}{dA_{bonus}}=\frac{(11.66S+16064.3)}{(0.7857)(16635)}

There are a few things we note here. First off, both stats make the other stat better. That is, the more health you have the more you get out of armor, and the more armor you have the more you get out of health. Thus, we can find a ratio that gives how much armor a point of stamina is worth. Thus, we get:

1 Stamina=\frac{11.66(1.122A_{gear}+A_{bonus}+21303.8+2.2Agi)}{1.122(11.66S+16064.3)} Armor

1 Stamina=\frac{11.66(1.122A_{gear}+A_{bonus}+21303.8+2.2Agi)}{(11.66S+16064.3)} Bonus Armor

While this is correct, we probably want to simplify it. Let’s assume that Agility is around 135 on a warrior, since tank plate doesn’t include that stat.

Now, let’s make some substitutions with easy to find stats. Naturally, we will use unbuffed health and unbuffed armor, since we can just look those up on our character sheets or the armory. We know that h_{unbuffed}=10 \cdot Vit \cdot S+h_{base}+h_{bonus}=10 \cdot 1.06S+8121+275 and A_{unbuffed}=1.122A_{gear}+A_{bonus}+2Agi. So:

1 Stamina=\frac{9.44733A_{unbuffed}+201510}{h_{unbuffed}+6207.8} Armor

1 Stamina=\frac{10.6A_{unbuffed}+226096}{h_{unbuffed}+6207.8} Bonus Armor

To use my unbuffed values as an example, h_{unbuffed}=40836 and A_{unbuffed}=30373 gives us 1 Stamina = 11.6519 Bonus Armor. Using the values of one of my less geared tank buddies, a warrior with 32.5k health and 25.3k armor, you get 1 Stamina = 12.75 Bonus Armor

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>