Tanking by the Numbers
Tanking by Numbers
A mathematical treatment of survivability. The purpose of this post is to examine how player stats and gear choices effecting tanking survivability.
This treatment of tanking will say some calculations are very real world dependent [RWD]. This is because the values each tanking class and specific tank bring to the table are different. A spreadsheet is included at the end to assist in modeling RWD data for your specific tanks and situations.
You may wish to download the spreadsheet now as most of the math is contained there. This is more the explanation and conclusions. [Having checked the math on posts, specifically ones on this site, about tanking, and seeing it didn't work out, I have come to realize that people checking math isn't going to happen, so I'm not posting equations that 1)some already has in works cited, 2)are clearly shown on the spreadsheet.]
RWD=Real World Dependent
RNG=Random Number Generator (or just a random chance)
EHE=Effective Health Event
EHP=effective health points (in its most simplistic form, health/constant mitigation)
HPS=heals per second
minHPS=minimum HPS to survive
1)Effective Health: http://maintankadin.failsafedesign.c...rb_v=viewtopic
2)Fundamental Formula of Tanking: http://saliu.com/formula.htm
Want to figure out why the tank (or anyone else) died:
The spreadsheet uses Open Office, saved in an excel format, just in case you run into problems: http://openoffice.org
A lot more work could be done, but I'm not getting paid to do this, mostly I just did work around what I perceive as misconceptions about tanking that are being bandied about “out there”.
There seems to be a lot of information running around out there about the value of tanking gear. A lot of the works cite (1), however, they seem to come to very different conclusions.
Here all relevant tanking stats (armor/resist, stamina, parry (if the boss is parry haste enabled), avoidance) are examined for their effect on tanking and more specifically survivability.
For effective health to matter (or health at all), there has to be stress upon the healers. So this article assumes that healing is stressed. Merely because healers mana isn't stressed doesn't mean that healing itself isn't. Healing needs to keep up with minHPS, which can be quite a task with everything else going on. Boss mechanics usually trying to stress healing in non-trivial ways too, for instance Sindragosa. To force minHPS blizzard puts out enrage timers, you cannot bring a raid full of healers and slowly kill everything.
So minHPS is relevant, if it wasn't, you'd never die.
Over healing occurs, we all know it. However, during an EHE, there isn't over healing(or not an appreciable amount, more on that later). So the fact that over healing exists (regardless of how much or little), isn't all that interesting.
Section 1: Introduction to Effective Health and Effective Health Events
Effective Health is a number. One which I am sure many people are familiar with (if you aren't please read (1)). However, without context it has little meaning.
As effective health is commonly defined, it is simply your health divided by mitigation. This gives absolutely no value to healing and vastly understates the true value of mitigation. This is almost always an incorrect assumption. If it is a correct assumption, it is likely the problem lies somewhere in the realm of “you cannot heal stupid.”
To being with we need to clearly define an EHE. The start of an event is fairly easy to define, the tank's health falls below 100%. The end of an event is a little harder.
What concludes an EHE? There are several possibilities. One the tanks health is extremely close to full for over one swing timer(i.e. 98%+), two the tank is over healed by a non-de minimus amount.
There are two reasons to pick a non-de dinimis amount over simply "healed to full". One is that EH in its most basic form doesn't properly rate the effects of mitigation. Without mitigation, the tanks health would have never approached full, checking a minimum overheal acknowledges the role armor plays and boosts it value to something more reasonable.
The de minimis amount is calculated in D54. It will decrease as the tanks mitigation does (i.e. if the tanks health gets to full with no mitigation, the EHE is clearly over, mitigation isn't helping at all). This is additionally useful because under those circumstances more mitigation would have spiked the tanks health to full for what is defined as the end of an EHE.
Finally, the game applies damage and healing in discrete units. i.e. if that blow 0.5s after the heal had happened 1st and the tank wouldn't have returned to full health, does that brief flirtation with full health really matter, or is it merely chance? If the intent is to limit RNG, merely chance isn't enough.
There are many RWD issues with EH. It is important to define the duration of an EHE because that determines the amount of healing you take during the event. Total healing can be added to EH in H29.
The spreadsheet therefore does it across two sections(spreadsheet section 2 can be helpful is determining +healing for section 1).
Section 2: Types of Damage
There are three major types of damage, differentiated by how they are mitigated. 1st, and most common, is physical damage. Armor is the major mitigation factor here. The second most common type of damage is magical damage, resist is the major mitigation factor here. The 3rd type of damage is bleeds. Only universal mitigation works on bleeds.
Bleeds are a trivial case in so far as the only real solution is to take stamina(you generally cannot get much more in the way of universal mitigation). However, the boss has other attacks, so making sure you are defense and, if parry haste is enabled, parry capped is essential. More on parry later. However, with the above stated, bleed are a trivial case and aren't used much in ICC/Halion so there is no accounting for bleeds isn't on the spreadsheet and there will be no further mention of it.
Section 3: The value of stats
The value of stats is extremely RWD. This is one of the major failings of pure EH calculations, the assumptions are almost never inline with what is happening. Furthermore, parry isn't taken into account. Lady DW, Sindragosa and Halion are all parry haste enabled.
This all gets interesting when you being ask not “what is more important?” But exactly how important is each stat and what is the balance between them in exact numbers. [i.e. rather than making some grand generalizations, address the exact value of everything in a rigorous and complete manner.]
What the numbers will tell you in general:
1)Armor/Magic Resistance. The two most important stats any tank has (work the spreadsheet to see this for yourself). It should be fairly obvious that being guaranteed you won't take damage is the best option. This also drives down minHPS, a key metric in many situations. That tank cannot survive two, in some cases one, blow from a boss without mitigation should already have pointed this out. Nor can healers keep with up boss damage without mitigation. i.e. without mitigation minHPS requirements are impossible to meet. However, you cannot mitigate 100% damage, so other stats come into play.
2)Expertise. If the boss is parry haste enabled, expertise will eliminate RNG(and that is the holy grail is it not?), the same way defense does for crits (a parry is essentially a crit). So if you insist on being uncrittable, but don't care about parry, that doesn't appear to be valid reasoning. Without being parry immune tanks take much spikier damage(again like crits). Assuming the boss has a 10% to parry, over a 10 hit, unavoided (i.e. the tank eats every hit) sequence (72% likely to occur if the boss attcks you 210 times in a row, very reasonable), the tank is 10% likely to get double parried(and therefore effectively to 12 blows). There is a 5% chance of a double parry over a 5 hit sequence (which will happen to you period). Over a 5 hit sequence this raises minHPS by 40%. There is a very good chance you'll die.
See spreadsheet section 2 for a mathematical treatment (the equations ask, what are a tanks chances of NOT getting parried, then invert that chance to get likelihood of parry). Column N, starting at N60 looks at the chance for the tank to be parried twice in a sequence (the number of boss hits defined by column B). It is likely under those conditions, you'll die (unless you are bringing too many healers with you).
3)Stamina. The problem with stamina is that it's value begins to fall off as healing occurs. Stamina is like a battery, and mitigation is like something that boosts a battery's output. The boost from mitigation is so great, it eclipses the base value of the battery as more and more juice flows through it (base stamina is buffering healers mana vs a bosses hits essentially).
4)Avoidance. The value of avoidance isn't closely examined here as we are looking at what happens when you don't avoid (and the work/time ratio to quantify avoidance is way too high for unpaid work). Having said that, avoidance is very important to tanking. In many cases where you have stressed healers(i.e. All the ones that matter), avoidance generally appears (in the logs I've parsed) to delineate the start and end of an EHE. There is a meaningful relationship between minHPS and EH and avoidance. Especially when you take cool downs into account to avoid “black sheep” events. i.e. the reasonable question is, how likely is avoidance to fail with no cool downs up to remove you from an EHE.
There is also an interesting area of how many unavoidable blows will you take without having a defensive cool down up.
Section 4: Conclusions
Armor and magic resistance(where appropriate), once healing is factored in, appear to be the overwhelmingly best choices. Even without healing the BiS rings for pure EH are the ones with armor. The rings are listed on the spreadsheet by default. [The dream walker ring isn't actually, it's EH value is so high as to make comparing it's value trivial, you can do that if you wish however by entering in it's values.]
* Actualo stamina can only be an integer, not a floating point number (although should be used as float vs armor)
* Last time I visited EJ, resistance cap vs +3 targets was 510 (wiki typo?)
* B31 is wrong. It is named Sta / Base Sta but includes the ICC buff (which is a HP buff, not stamina)
* You get 2 Armor per Agility, not 1
* Cells D34 & E34 have no significance within the spreadsheet
* The delta-table should not use averages as a base to calculate the difference, that's what derivates are for.
* A Parry does not automaticly mean an 'extra' hit, it means the next hit will occur faster. It does not change the chance to be hit X times in a row, nor does it change the value of pure EH. Only the time your healers have will be shortened.
* Your information on a parried attack is wrong, as well as your assumption that a 'extra' attack from a Parry will automaticly be a hit.
It's definately a better first post than the average, but you're still missing some things to make the spreadsheet really useful.
Forgive my nitpicking, Wartotem. =)
Originally Posted by WarTotem
True, but it can occur up to 40% (compared to normal swing timer) faster only, not immediate instant attack though
The wiki page looks more or less correct to me. It doesn't state that 510 is the cap, just that it's used in the calculation for average resistance as a constant for (level 80+3) level mobs. IIRC, there is no cap with resistances anymore. Both in that it's impossible to get that much resistance (1200 or so), and in that it's now based on average reduction of damage, and not a constant. There is still some amount of "gauranteed" reduction though, within limits.
Originally Posted by WarTotem
1)Yeah, that is why the values are set to integers (though really I did it so it looks nice, the difference of less than 1 health is irrelevant).
Originally Posted by WarTotem
2)Not sure what the right resist is right, so I left that for the user to decide, set it to 510 this time around.
3)All of it is multiplication. Order of operations leads me to conclude that the correct number will come out (and what is going into that cell is clearly listed on the cell above).
4)You're right the label on B31 is misleading, changed the calculation to reflect armor per agi.
5)I think you are thinking of C34 and E34, they are hits on calculations to use for different pieces of gear.
4&5)Neither of those values are highlighted because they aren't used for standard calculations.
6)The delta tables are using Value1-Value2 to calculate the difference. And delta implies a difference, which is great notation when you need to fit it into such a small space. [And, derivatives are used to figure out the calculation to get to 1 and 2, I didn't see the point of going over the math again when "Stam Czar's" stickied post is riddled with math errors. No one checks it, or if they do they don't understand it.]
7)The stated assumptions are you get hit by a string of unavoidable hits. That is what EH is all about right? So in this case, yes, a parry means you just took one more hit.
8)What is wrong about the parry information? It is standard gambling theory.
As long as we're nit picking (or just thinking):
Originally Posted by Satorri
We are looking at a period of fixed heals, if you are looking at instantaneous damage, parry doesn't exist(one of the reasons using pure EH leads to valuation of defense but none for parry). And assuming no attacks are avoided(that is what that table calculates, the odds of an unavoidable string of attacks). As such, parry attacks under these assumptions parries aren't avoided.
Where a boss parry constitutes an extra attack or only a slight faster attack, that is a chance(is so far as, does another heal last), but we are assuming the worst. If you want to simulate a parry and another heal landing, change the numbers.
* When I opened your spreadsheet in OpenOffice.org, it did not copy the cell settings of integer with it. If you wish to make sure it is done so, use the integer function in Excel.
* The Order of Operations in-game also has a lot of rounding in it. e.g. adding 1 Stamina to a Warrior will give either 1 or 2 extra Stamina as a result when he has Vitality, never 1.06
* Delta: The correct math approach for specific delta is to enter in a separate case and compare, not use the averages. Using your numbers from the first version (10%+10%+25%+6%+2%+30%), the delta HP for the Organ procs is 5102.18, which is a number I will never actually see, because it is an average. The lowest gain you can get (always rounding down) is actually 5070, while the highest is 5122 (all rounded up except ICC buff). Note that we are talking about delta, meaning a measurable difference between data points (which in case of trinket procs are true). Averages or non-rounding are used when the difference is unknown or when describing the best fitting curve to the data points.
1) If the Parry occurs .001 second before the boss swings, nothing happens. This is so for the entire last 20% of it's swing timer. In those cases, a Parry means absolutely nothing
2) Even in the worst case scenario, a parry means 40% off a swing timer. This is not the same as a free attack. 40% extra is about what the old crushing blows were. An extra attack is like the tank just got crit. This means you are currently exagerating the effect of a Parry.
3) You assume that the tank will only swing once every 2 seconds at the boss. A fast tank weapon + Devastate spam already triples that.
4) You assume the boss even has Parry Hasting enabled.
5) EH is about surviving those strings of hits, while still getting the minimum healing. It is not about your healers not healing for a second because you got a parry, which is what your model would be in an actual environment.
6) The standard gambling theory on parry haste is that it increases the swing speed of the boss by 24% (average), not 4 times that. Further more, you exclude Parry from the heals/P table, while excluding avoidance from the chance on extra attack due to parry tables. (Also, Avg EH/%Parry should be divided by boss actual parry chance, not 14. And perhaps might wonna change it it EH/Expertise for clarity)
Parry has a varying value.
Basically, a successful parry will reduce the parrier's next swing by up to 40%, but it cannot reduce it to less than 20% remaining. So:
If parry happens in first 40%, you get the full 40%.
If parry happens in 41-79% of the swing remaining you will get 1-39% reduction (as appropriate).
If the parry happens in the last 20%, nothing happens.
So, it is not an instant next swing ever, and it might not have any effect. Some people averaged it out assuming an average distribution to figure out what the average gained swings would be (it was something like 0.02 additional swings per parry, for fast sword'n'board tanks, I think, closer to 0.035 for DKs with big 2-handers). *Pulling those numbers out of a long lost memory, so you can look it up to be sure, I expect it is floating around somewhere.
Speaking of no one actually checks the math, I just checked my resist math and found I made an error in the equations on the spreadsheet. Fixed and re-uploaded (see the link or the original post to get the new version).
Lets just say that there is a 100 health difference, that means a 0.16%-0.049% (or less) EH difference. I'd call that a rounding error, but opinions may vary. [As healing approaches infinity, the value of tank health becomes negligible if you are wondering why there is a range there, 0.049% assuming 140000 points of healing occurring on 62409 points of health tank.]
I'm not sure where you are getting averages. The only place averages are used in calculating incoming HPS and boss damage. The number of procs for Unidentifiable Organ is set to zero and full (depending on the swing timers you're getting hit by essentially). Enchant Weapon Blood Draining the mimumun of max procs is assumed (which if the tank is a druid is a very good assumption, unless you're doing something wrong that will be the minimum after 30s of combat starting/last proc[could acutally have this proc more than 1 time in an EH sequence], not sure about the other tank classes). There is no average.
Delta is being used to denote the difference in data points of the base EH calculation and the EH calculation modified by a specific change in armor/resist/health (that a piece of gear would bring, again, no averages).
1)Yes, I assume parry haste is enabled for parry haste calculations. Specifically in ICC+: Lady Deathwhisper, Sindragosa and Halion have parry haste enabled (parry as a survival value isn't relevant for others).
2)Both the parry haste and dodge tables use the same Hits(N) column, and in both cases that represents a swing. For dodge this would represent boss swings, and for parry this number would represent tanks swings. DC calculations only apply to avoidance (they use P, which uses avoidance). [I thought that was obvious because of the way the tables were arranged, but in retrospect I can see how it should have been explained. I also swapped the Hits and Avoid columns to make it clearer.]
The parry 2x column represents a tanks changed to be parried twice in that same string of N hits. (i.e. if you take 10 hits at a boss, who has a 4% chance to parry you, you have a 34% chance to be parried once and a 6% chance to be parried twice during those 10 hits).
3) 14 is used to factor in the EH cost for every point of parry. That number is debatable on a number of points, but I don't really feel like doing the math to refine it at this time(and googling didn't really produce anything I found particularly good either). However, you do need to have 14, the boss base chance to parry, in the calculation to account for health provided for each point of parry. And that is supposed to read Boss Damage*2/1% Parry. Boss Damage being the actual amount you get hit by (i.e. what you would see in a combat log). That does boost the value of a boss hit, but that is an attempt to value in the cost of a spike in HPS. 2 could be a bit too high of a multiplier, or perhaps a bit too low. Need to analyze many combat logs for across many tanks for that(which I don't really have access to).
4)I am assuming the boss slips a blow in, due to parry, before the next heal lands. Otherwise, you are correct and parry isn't very interesting. Beyond what is being calculated here though, parry makes things interesting because it can spike the minHPS and get you killed if the healers are under stress. So if you really want to eliminate RNG (which is the point of this exercise, or so I thought), eliminate parry. It only costs a few thousand health.
5)And yes, my model is looking at what happens over a string of unavoidable hits with healing, that is what the + Healing cell is for. Further, that is why I did the avoidance work up(and parry), to quantify what that string is going to be, and from that get the healing likely to occur.
6)While EH should be able surviving a string of hits with healing, if that were the case the previously referenced person would probably be called “armor czar” and not “stam czar” as health has diminishing returns over healing events and armor has ever increasing returns. You would also see Unidentifiable Organ(at zero procs) ranked above Sindragosa's Flawless Fang.
With average I meant that a certain amount of Stamina does not give every tank an equal amount of health at all times. Depending on other gear etc, rounding may vary this with a couple of Sta points. The higher amount of different bonuses added up, the higher the bracket in which the actual results lie. What your spreadsheet gives is the average of all those situations (namily the situation where rounding does not add orsubstract anything)
What I meant is that EH is a buffer. It allows you to take damage while waiting on those big Holy Light crits to top you back up. Minimum healing in this case would be nothing but hots and min amount of casted heals, all non-crit. Because let's face it, if you ain't getting that healing on you, your healers are too busy watching TV. So I'm not talking about the average HPS your healers did on you, but more like how much HPS there was between you being full health and you near-death experience.
EHP doesn't remove the RNG of avoidance & crit heals (hey, it's 50% more healing, that counts, right?), it allows more time to level out the RNG spikes, which doesn't care about armor vs stamina. (In the current model, with heals overhealing as they are) But let's face it, if Naxx had armor gear like ICC, we WOULD be calling that guy "armor czar", because in WotLK armor gear simply gives more EHP than all the rest. (With the exception of trinkets actually, because unlike trinkets, armor on gear replaces more avoidance than Stamina when compared to other gear)
If you want, you can simply put in your health and armor as it appears during a raid, there is no need to calculate it and deal with any rounding (which as I said before is less than 0.1% error). Also if I understand you correctly, the word you're looking for is estimate, not average.
And yes, time to die, healing, etc is an estimate. Looking at a lot of World of Logs, or w/e your preferred log viewer is, and estimating what is happening is the best one can do. Ultimately, all of these discussions involve assumptions and estimations in order to predict the future. The real questions are, what are the relevance, accuracy, margins of error and impact of these assumptions and estimations. [A great way to figure that out is to run things to their limits and see what happens.]
http://en.wikipedia.org/wiki/Scientific_method if you want more.
Looking at a lot of Expiration 2 readouts, our tanks are usually not dieing to one shots (and once you reach an encounter dependent buffer size, you shouldn't be). Healing matters, a lot, and up to the past 15 or even 20 seconds, so more than just some hots ticking(though again, if you are having one shot issues you can scale healing down).
If you are getting killed in the past second, and you weren't at full health, you could call that wasted buffer.
That post is entitled tanking in 3.3.3. In 3.3.3 there are a lot of choices you can make for gear that involve armor or not (i.e. rings/trinkets/neck/cloak).