Many of my fellow theorycrafters (the healers, at least) opine that stat weights are one of the lowest priority bits of theorycraft to do because they aren’t really that useful. While I see their point of view, I think it somewhat misses the point. I spend a lot of time on the Icy Veins forums (where I’m a mod, I also review the Resto Shaman guides) and a significant fraction of the posts we get talk in some way about stat weights. To put it in perspective; patch 6.0 had been out for a meagre day before we already had a post about Ask Mr Robot’s stat weights!
Clearly, stat weights might not be strictly useful to us, but for the general playerbase they sure are important, which is why I think we should pay more attention to it. In addition, we can do a lot better in our recommendations for stat weights than we’ve done historically! In this post, I explain why and how we should take different approaches to stat weights, and then present the results of my own research.
If you don’t feel like reading my words on what I did to come up with my recommendations and just want to be told what to do, I spell out my recommendations right at the bottom of the page.
Why & How
We have previously recommended stat weights based almost entirely around the most basic levels of theorycraft and some handwavy arguments about what makes a “good stat”. In particular, such arguments for Resto Shaman have focused on the Haste/Mastery/Crit discussion. We’ve undoubtedly had some elegant discussion on the subject, but we’ve never managed to convert that into a solid recommendation. Frankly, we can do better than this. But how?
Generally, there are four valid approaches to determining stat weights.
- Firstly, there is theorycraft – the analysis of the equations which govern healing – which has historically only got us so far.
- Secondly, there is simulationcraft – the project or the general approach of simulating – which historically performs very well for DPS characters and recently much better for Tanks, but has not yet had much success for Healers.
- Thirdly, there are the spreadsheets – Excel constructions designed as a halfway house between sims and theorycraft – which are successful for healers, but are unwieldly and prone to serious flaws which are hard to find. Building and reading spreadsheets is difficult.
- Finally, there is what I think of as touchyfeelycraft – whatever the better players “feel” does best. This is actually one of the most common ways of determining stat weights, and I don’t think I should have to point out that it’s prone to swing wildly with fashion and role.
So, which is best? Each of the above have some benefits, and I don’t think that we should constrain ourselves to one specific method – there is robustness and further insight to be gained from several different approaches. For WoD, we already have a popular spreadsheet by Hamlet (healercalcs) which gives us some interesting results. I’ve already mentioned that there’s no real “healer sim” at the moment, so what is left is theorycraft.
What’s already known from theorycraft is how each stat works – all credit to Hamlet and Dayani for leading the charge in this regard – i.e. how the spell coefficients work and what has changed in WoD. That’s a fantastic start, but I feel that this is insufficient to tell us exactly how this influences our stat choices. The theorycraft community has gone as far as to estimate the % gain in a heal as a function of each stat rating point, but there is so much more to cover!
I propose to make a complete model of stat weights by starting with the fundamental equation for an average heal and deriving every stat weight from that starting point.
A basic analysis of stat weights, as I stated above, evaluates the ratio between the percentage gain in heal from 1% of a stat, and the rating increase required to gain that 1% stat increase. I did this myself and plotted a table for Crit, Multistrike, Haste (for HoTs) and Mastery.
|Stat||Gain from 1%||Rating for 1%||Ratio|
|Mastery||D (approx. 0.5)||37||0.0135|
D is “health deficit”, which is (100%-HP%)/100 . As you can see, Mastery is quite variable (worth 0 when the player is on 100% and worth more than double Haste when the player is at almost 0%! Worth the same as Haste when the target is at about 55% health). So, a cursory glance tells us that Haste is worth a lot for HoTs, that Crit and Multistrike are the joint bottom stats.
What information don’t we get from this? Firstly, it’s not clear that this situation is still true once we consider an entire rotation. Secondly, it’s also not clear that this is persistent over a range of gear levels or stat distributions. This leads into a third important point – this method doesn’t really address Spellpower/Intellect as a factor. Finally, and from an entirely aesthetic perspective, I think that the analysis is too crude to be really very interesting to me.
My proposal is to write down the equation for HPS as a function of all different stat values, and use this equation to directly calculate the differential healing increase for each stat. By this, I mean I want to calculate a function for the gradient of HPS which depends on all the healing values. By doing this, we take directly into account any interactions between the different stats and we can place all the different stats (including Spellpower) on the same scale. This calculation is exactly the same idea which Simcraft uses to generate stat weights, though I propose to arrive at the result without actually simulating anything.
I did the maths behind this, which I won’t detail right now but you can find in a pdf document here.
Stat Weights Calculations
Before I present any results, I want to talk about how I went about making the calculations which I will present. To start with, it’s important to discuss what I am actually calculating; the rotational HPS of a spell which is cast on cooldown. This means that the calculation for (say) Healing Rain will take into account its cooldown and cast time.
When I calculate the scaling factors for an entire rotation, I calculate the mean of the values for each spell weighted by its heal contribution to the entire healing rotation. That means that for each spell in the rotation, I have a weight w which is the sum of the healing from that spell divided by the healing of the whole rotation. The mean is calculated by multiplying the weight for each spell by the spell’s stat weight, then taking the average over the different spells in the rotation. This gives an accurate impression of the “overall” stat weights for a specific rotation.
My calculations are all made using standard assumptions of raid buffs, with things like spellpower coefficients taken directly from WoWhead. The health deficit D was set to 50% for all calculations where I don’t specify.
Finally, I’m presenting a lot of graphs with the x-axes labelled “MEAN ilvl”. This is designed to take the stat budget function for WoD’s gear and calculate an approximation for the amount of stats you will have with that ilvl equipped. I assume that the stat points are distributed evenly, which is analogous to considering the mean case over all players who aren’t equipped with Best In Slot gear.
So, with all that preamble out of the way let’s just show off a couple of plots of stat weights vs. ilvl for three different spells; Healing Rain, Riptide (HoT and initial heal components), and Healing Surge.
I noticed some interesting things from these plots. Each heal seems to behave the same way, with the only major difference being the y-scale of the graph. This is interesting for a particular reason – because the equations which govern the different types of heal (HoT vs. non-HoT) are significantly different, yet still give the same behavior. The implication of this is that regardless of rotation, the relative stat weights should stay the same. A significant result, and not one which is entirely obvious to begin with.
A second interesting result is the decrease in relative stat weights as ilvl increases. What does this mean? This, I think, is the classic “diminishing returns” result – stacking stats higher and higher tends to give us less and less benefit per stat point, and this is the effect which I think is causing the gradual decay over time. Also notice that the stat weight for Spell Power drops off much faster than the secondary stats – this is the same effect which we saw in MoP where gemming for secondary stats has become better than for primaries as gear improves.
There is an easier way to view these results, however, which demonstrates perfectly what I mean when I say that the stat weights don’t vary for different rotations. At each ilvl on my graph, I will divide each stat weight by the stat weight for Spellpower. This sets the stat weight for SP at exactly 1 for every ilvl, and tells us the relative power of each stat. I’ll show it for two different rotations;
- Healing Rain > Riptide > Healing Wave x2 > Riptide > Healing Wave x2
- Healing Rain > Riptide > Chain Heal x4
So, here we can see quite clearly that for two entirely different rotations the actual stat weights don’t change at all. Notice how the increase of the weights of secondary stats is quite rapid over these 100 ilvls, but also notice that at no point do the stat weights pass the crucial level of 0.5 – the point at which it is more efficient gemming for secondary stats over primaries! The level is slightly lower in the case where the socket bonus is for a secondary stat., but still won’t be worth it in most cases.
Next question; what happens when the stats aren’t evenly balanced like I have assumed above? I re-ran the calculations for the case where Mastery, Multistrike, Crit, and Spellpower are kept constant at 90% of their value expected at ilvl 650. The rest of the stat budget was put into Haste, and finally I generated the data for values of Haste between 90% of the starting point and 110% of the starting point. Over this range, one would expect to see some significant change in stat weights if they are co-dependent.
The result is no change in stats which are kept stationary. Stat weights are only dependent upon the stat value which you actually have equipped – this is a good thing! Eagle-eyed readers will see that Haste’s value is decreasing over the range plotted above; this demonstrates the relative loss of value of a stat value as one increases its proportion. However, what it also naturally shows is that the value doesn’t change a lot! Over this range, the total Haste value increases by about 22% and the value of Haste changes by less than 3%. As a result, it’s quite obvious that the common practice of “balancing” stats to prevent diminishing returns is ill-advised in most cases.
This is the point where it’s appropriate to think for a little bit about reasons why one might take these calculations with a pinch of salt. Where do we start?
Well, this is a model which represents the way healing works in Warlords of Draenor. As such, I wouldn’t expect it to precisely mimic the intended system. Does this make any potential conclusions collapse? Well, I was careful while compiling the model to make it as close to the real mechanics as possible; to my knowledge, the equation which I based my calculations on is correct. This leaves open a question of implementation; did I competently execute a program which translates the equations into numbers? I think I did, but I will make the Matlab code available on request if anyone wants to check.
Finally, did I use the correct multiplier values in my calculations? Here, I don’t entirely know. I did ask Dayani (who writes Healiocentric) to have a look at my values for conversions and so on, and the spreadsheet I compiled them in can be found here. An acid test is to use my formula implementation to predict average heal value on the WoD Beta and test against that. I found that the predicted average heal value was about 17k, where the real average heal was ~22k – to me, this is reasonable enough considering that a “wrong” answer could be a factor of 10 out or more. What this actually implies is that I have a wrong spellpower coefficient in my implementation, but I have no way of checking that outside of an online database like WoWhead.
So to summarize: the calculations can’t be exactly relied upon, but equally they are calculating plausible values in approximation of the real thing. I guess that the ultimate question is; am I confident enough in these calculations that I am comfortable to actually use them to base gearing decisions on? I would say that I am, with the proviso that I will change my mind if and when I or someone else shows that my work has a fault.
Discussion, and Recommendations
Having established that I am comfortable with these results and that until I can find an error, I will be basing gearing decisions off of them… what decisions are there to make? How do they agree or disagree with those of other Theorycrafters?
Firstly, let’s just assume that I want to go for maximum throughput without any consideration for mechanics. In this case, the decision is pretty clear; stat weights can be taken as in the table below with no further worries;
Okay, so purely in mathematical terms Mastery is superior to all other stats except Intellect. This makes a degree of sense, considering that this is Resto Shaman’s special stat. Haste is close behind and in most cases will be the go-to backup stat. Finally, Multistrike and Crit bring up the rear. I’m now going to take a quick look at each of the different stats in context of actual mechanics and see if there’s anything which needs to be revised.
Let’s pause for a second here – my assessment of Haste differs strikingly from that of Dayani and Hamlet and I therefore have to comment on it. Why, mathematically, is it second best when others have rated it lowly? Primarily, because I am calculating rotational HPS in this assessment where Healercalcs looks at just healing in mos cases. This causes the discussion for Haste to shift to the benefit from HoTs, which for Resto Shaman is not considerable enough to make Haste worth taking.
My reason for making the calculation with rotational HPS instead of Healing is because I believe that it is a fairer comparison of Haste to the other stats mathematically. A valid criticism would be that looking at rotational HPS in this way implicitly assumes that the healer is constantly casting throughout the entire encounter, but I assume this intentionally since it makes more sense to me to do so. In Warlords, I expect to always be wanting to heal something, even if the spells I choose to do so change from moment to moment. 
Update – In light of discussion generated by this post, I should tackle The Mana Issue here as well. Haste is generally thought to be mana negative rotationally; you spend your mana faster, and therefore should consider it to be decreasing your rotational longevity. Why have I not accounted for this? This is where the line between theorycraft and touchyfeelycraft is most blurry, because it’s “somewhat nontrivial”  to come up with a consistent method of accounting for this idea. That hasn’t stopped me trying, but the basic result is this; there is no method of modifying these stat weights consistently to take account of Haste’s mana considerations. We are left to either ignore the issue and adjust our playstyles appropriately, or artificially lower a stat weight arbitrarily, which is against the spirit of this analysis. For this reason, I’m purposefully not changing Haste’s rating at this time.
 – Note that this avoids all discussion of what Hamlet described as the “dream scenario” for Haste, which is catching someone just before they die due to a slightly faster heal. I don’t think that this is an important factor to consider simply because it is a mode of thought which hangs over from Mists of Pandaria; I expect WoD raids to have a comparatively much less spiky healing pattern, and therefore this discussion to be less relevant.
 – Scientists say this when they don’t want to admit that they don’t think it’s possible – you will probably never get a truly satisfying answer to this problem. The basic issue here is that to find a good solution which works alongside this post is that one has to assume that the mana concerns are in the same steady-state approximation which the rest of the analysis uses implicitly. While this isn’t a good assumption for mana discussions, dropping it requires the introduction of some other assumption in order to make a meaningful calculation. This leads to calculation methods that are insufficiently general to be comparable to the results in this post! Fundamentally, I think that this is a dichotomy which we are unlikely to ever solve. If you are really interested in this discussion, I did make an attempt at solving this problem in the weeks before Mists of Pandaria – although I failed miserably and then revived the idea. I’m not entirely happy with it as a methodology, though.
A common and interesting criticism of Mastery is that one can never gain the “full value” of the healing benefit from it, and relatedly that one does not gain as much benefit in Seige of Orgrimmar as one would expect. While these are valid points in the current environment, such issues cease to be true in Warlords. The patterns of health are going to change as we move into the first tier of Warlords, and with them Mastery will become much more consistent as a stat – you can expect to be healing people on 25%-55% much more often than before, which is the region where Mastery is coming into its own.
Additionally, Mastery’s main competitor for the last year or two has been Crit, which has been nerfed into the ground with the removal of Ancestral Awakening. In the post-smartheal world, Crit has been defanged. Speaking of which…
Critical- and Multi- Strike Chance
These two stats are very similar in terms of function and throughput, with Multistrike taking an edge in my calculations. Here is another interesting disagreement with other Theorycraft, and one which I cannot entirely trace to a specific thing. Multistrike, mathematically, seems to be slightly better than Crit even though a cursory analysis says that they are identical. I was quite worried about this, until Vixsin pointed out to me that the Crit-Multistrike interaction is a little more complicated than it looks – she also stated that Multistrike comes out on top in pure throughput considerations.
Can we choose one over the other? Here’s the thing; Multistrike and Crit both have different benefits which are worth considering in addition to their throughput. Crit is a mana-positive stat thanks to Resurgence, although the actual mana gain from Crit is very small compared to Spirit. On the other side, Multistrike is going to be a stat which you see a lot more of in comparison. I like to think of Multistrike as being a reliable boost to healing in comparison to Crit’s spiky characteristic.
Which is better? Personally, I don’t entirely prefer either. I would suggest that when choosing stat weights for Multistrike and Crit to use your own discretion, but I will probably just set them as equal.
I would advise the use of the following stat weights for a general Resto Shaman PvE build, especially appropriate for progression raiding;
You could quite happily pick a specific build to maximize a different stat if you had a special play style or role in mind for your raid, but this will serve as a very good build in general play and I expect it will be attractive to most Resto Shaman.
I am rather impressed at how close the stats really are looking for Warlords of Draenor. Ignoring Versatility, the gap between the highest and lowest secondary stats in terms of pure throughput seems to be only about 25%. While this is considerable, it’s not game breaking for anyone who happens to have a whole bunch of Crit they can’t get rid of.
I think that the removal of Reforging in Warlords of Draenor is driving a real focus on making stats different but close, so that there is a real choice to be made but comparatively little soul-crushing RNG when Belt of the Iron Prison drops for the fifteenth damn time in a row and your buddies all have their best in slot. It’s an interesting and dangerous game which the devs are playing, in particular because adding a new mechanic to a class could suddenly upset the balance of power between the stats unless considered carefully.
Perhaps that will be something to watch out for in Warlords of Draenor – how closely balanced do these stats stay over the expansion?
And now for the tl:dr for those people who skipped 3000 words
- Crit = Multistrike