This is a teaser to the full version of "advanced healer/tank evaluation". Since it would take very long to write the full version, and not all the math have been finished yet, I would like to know whether people would like to get the full version, or if no one really cares about it. Also note that I would prefer putting a full version up in a bit different version, so formulas and graphs can be included much better.
Have you ever wondered how good performance a healer or tank are showing you? We all know that coming up with some simple form of evaluation of healers and tanks aren’t all that easy, especially since their group function is much more complicated than the simple: pull as much dps as possibly, without pulling aggro and doing it on wrong targets. But how do we come with some form of evaluation of tanks and healers? And is this important at all?
So why would this be important, simply because evaluation is a powerful tool in testing setups (both gear, spec and group composition wise) and tactics, and will also serve as comparing between people for (pug) raid spots, so you have an idea whether you invited a overgeared fool or a undergeared top player.
I might have already said this, but there is no simply way to give you a meaningful single compromised number for how good or bad a healer or tank is. We can however try to do something else: Describe parts of this. Since treat for tanks and general gearing already got plenty of ways to get described in practice (you just watch a data collector, maybe with live feed like omen or recount). Instead we will be looking at the other aspect, the mathematics of survival.
Before I start out with the following, I am going to put up a warning: This is NOT for everybody, since it will require understanding of several more complex mathematical forms, mostly in the form of calculus of standard and quantized functions. So let us start.
The first thing I am going to do, is tell you what precisely we are looking at: we are looking at the movement of the hp bar for a tank, in a non oneshort/fast burst scenario, since that area will need some more work to make the same formulas useful, and will therefore not be including in this first teaser version. I guess I have prolonged it long enough now, so lets start by defining 3 functions, a discontinual function for the incoming damages called D(t), a discontinual function for incoming healing called H(t), and a quantized function of standardized health missing compared to the max health (standardized in such a way, that tank death happens at a value of 1), called Hp(t). The first thing to mention, is that Hp(t) describe how much behind the healers are on healing the tank, supposing the idea of keeping tanks with topped up or close to it for the purpose of countering bursts. These 3 functions got a relationship much similar to the second law of Newton:
D(t)-H(t)=I*DeltaHp(t)
Yes I am having problems with getting math properly into this forum, and if anyone got an idea how to import formulas, feel free to tell me how, I for one would love to see it able to import a whole pdf article, or something like that. The Delta in front of Hp(t) tells us that it is the change in Hp(t), while I describes the inertia of the Hp(t) function, which funnily enough is current maximum health of the tank. Now we have 3 functions which describes the motion of the health of the tank, but so what, that haven’t really showed us anything useful yet. But here is the difference, now that we have some functions, we can call in some mathematical descriptions of these. Throughout the rest of this, I will be assuming that you have somehow collected a dataset for an encounter, where you have all incoming damage and healing, and also the max hp and any temporary changes in it, since almost all of the following will be about how to get information out of that data. Let’s start by assuming Hp(t) has values distributed close enough to the normal distribution to make that a viable way to describe the function. With that we can calculate the mean (mu) and the deviation of the mean (sigma), which are given by the following 2 formulas:
mu=(integral from 0 to T) of (Hp(t)*dt)/T=(Sum over encounter) of (integral from t to Deltat) of (Hp(t)*Deltat)/T=(Sum over encounter) of (Hp(t)*Deltat)/T
sigma=((integral from 0 to T) of ((Hp(t)-mu)^2*dt)/T)^0.5=((Sum over encounter) of (integral from t to Deltat) of ((Hp(t)-mu)^2*Deltat)/T)^0.5=((Sum over encounter) of ((Hp(t)-mu)^2*Deltat)/T)^0.5
Since this would be quite tendentious to calculate by hand, it is suggested putting these fomulas in the code of a program capably of working with numbers, which addons should be able to do. It should be mentioned that when writing the code for the above it becomes significantly easier when you have a dataset, as the integrals and sums easily can be calculated through relatively simple means of coding.
Now you may be wondering what exactly you can get out of those 2 numbers. Let’s look at the simple of them first: the mean or mu. The meaning of the mean is to describe on average how far behind the healers are on the healing on you. What that translates too, is how good the healer/tanks are at keeping the tanks health height on average over the fight, this especially tells you if the healers are having trouble with dealing the overall damage on the tank, and how might also give you an idea of how good the healers are at keeping the tank topped off or almost topped off. For the specific values, a value lower than 0.2 will indicate the average incoming damage on you arent that much of a problem for the tank/healer combination, and is what you would be expecting on farming trash and non hard-hitting farm bosses. On the other hand, if the mean gets up around 0.4 or above, it indicates that the overall damage on the tank is quite heavy, and the healers are having troubles keeping the tank on height hp. A evaluation with a (relatively) height mean, often signifies one or more of the following:
1)The tank are having low migration (combined armor, avoidance static, cooldowns and such), and it could be an idea to work on this section to make the healers life considerably easier.
2) The healing might be spread a bit too thin. So that healing on the tank gets considerably delayed.
3) The healers are relatively slow on getting healing healer to tank, meaning that he stays on low hp for long, and especially if the healing is slow on topping the tank up after such.
4) The tank having either plenty of health (which means the healers aren’t very concerned about topping the tank off) or have very low health, so that the percentages are of health is very height, and therefore moving the the percentage he falls to when taking similar damage (as the inertia is lower).
However it isn’t fully guaranteed that it is one of those problems, but chances are that it is one or more of them. Also notice that migration has a much larger factor in this than tank health, and that tank health only becomes significant if there are huge derivations from the design of the encounter (such as a 35k+ unbuffed tank going to heroics or a 30-34k unbuffed tank going to icc 25), and even then it is guaranteed to be a significant factor.
Now lets take a look at the meaning of the deviation or mu. First of all, the deviation describes how spread out the tanks health is around the mean. As the deviation tries to describe how long time the tank have been an given health area around the mean. More precise, the tank have been roughly 68% of the time within the range 1*sigma, roughly 95% of the time within the range of 2*sigma and around 99.5% of time within the range of 3*sigma. It should be remembered that these statistical numbers, and should be treated as so. If we for instance take a 10 min fight, which gives us 600 seconds, then the tank will spend 408 of those within 1*sigma range, and 192 seconds outside it, while he spends a stunning 30 seconds outside of 2 sigma range, and still 3 seconds outside the sigma 3 range. Since it is not sure whether that those 3 seconds will come or not, it could still easily happen, and will often represent the worst moments of the fight. Out of this it can be concluded that for a relative safe encounter it is clearly advisable to have 3*sigma+mu<1, since that will significantly reduce the chance of wiping due to lack of healing in conjuration with bursts. The interesting thing, is the following which can be used to do a rough calculation of chance of tank death with the corresponding healing, which can be written as the following:
Kappa*sigma+mu=1 <=> Kappa=(1-mu)/sigma
Here Kappa gives you the number of sigmas where the tank are on going out of the range of life, therefore it also describes the chance the tank has to die. As mentioned above this should preferably be above 3, and even a value between 2-3 means that you are having tank on the verge of dying very often, if he already hasn’t. Generally if the Kappa is close to 3, and especially if it is lower, there are the following things to be noted to deal with this:
1) The tank should consider using a more EH heavy gear setup/spec, since this will directly reduced the sigma
2) The healers might be favoring big heals, which could be dangerous, and should be consider if it would worse using heals which will have a lower chance of causing big fluctuations in the tanks health.
3) The tank should make sure his cooldowns are managed to avoid the lower health areas/spike damage times, since they might be a problem.
It should be noted, that a Kappa around or lower than 3 doesn’t directly gives you x% chance to wipe, since that is encounter specific, especially if the fluctuations are just because the healers are using big heals in a relatively safe environment. It can also easily be caused with different phases where the tank has different means, which causes a problem when trying to calculate over the entire fight.
The deviation itself also describes something else than the tanks chance to die during non one-shot bursts (bursts over several seconds, such as no misses streak and late healers). Under the right circumstances, meaning where the functions value distribution is close enough to the normal distribution), sigma can tell you something about how much damage the tank should expect to take before getting healed for it. Most of the time, he would be going from around the upper bound mu-sigma (as the hp function is going reverse to health) to mu+sigma, which means a difference of 2 sigma. This is very rough, since it has heavy correlation with the predictability of the damage, the avoidance and the specific setup of mu and sigma, but we can still use it as rough estimate. Since this tells something about when the necessary heal on the tank will be coming in. The cause to a hight sigma on fights, where the burst problems are low and predictability of the dame is low, then it is often one of the following:
1) The tank is taking heavy damage, which causes a lot of movement of the Hp(t) function, which enviably lead to spread out values and therefore a height sigma.
2) The healer(s) are slow to fire off the heals on the tank, which might be because they use big heals and/or the incoming dps is low, though it may also be because the healers are just generally slow.
This is about how much I was thinking of including in this teaser. I amid it have become long, but there are much more information that be derived from the above functions, by doing something else than just simply calculating the mean and its deviation. Things I got on my list, are a mathematical description of the unpredictability of incoming damage, a calculations of level of spike damage, and the healing fitting of the incoming damage, and much more.
I would very much like to get some sort of feedback upon this, both on the mathematics, the interpretation of the models and the whether people are interested in this subject at all and want more.
[edit: changed size of text to something more readably]
Bookmarks