Wednesday, February 18, 2009

Spell Power vs Haste Rating: The WotLK Edition

When I wrote my original SD vs Haste post last year Haste was a very misunderstood stat. Things have gotten better, but there still seems to be a lot of confusion regarding the stat. I regularly receive questions about the relative value of Haste vs Spell Power and how much we should stack of it. In this post I will try and present the math on haste. As always, if you math adverse please feel free to skip to the bottom for the TL:DR version.

Assumptions/Disclaimers:
1. This analysis has been written using both Starfire and Wrath. Haste affects Starfire and Wrath very differently when Haste is added to the equation, due to Nature's Grace. However, when calculating a relative value for haste I will assume a Starfire dominant rotation. For this reason, I will aso assume that the moonkin has the [Idol of the Shooting Star].

2. I am excluding Moonfire and Insect Swarm from the calculations. I've wrestled with this choice for a while, but I don't think it would have a big impact on the out come. While haste can have a large impact on both spells Damage per Cast Time, it has a very small impact on overall DPS due to infrequent casts.

3. Crit chance is included in the calculation this time, since it impacts the cast time of spells. While it doesn't have any impact on the DPS of Starfire, it has a significant impact on the DPS of Wrath since wrath is limited by the global cooldown (GCD) .

4. Spell Hit is excluded from the calculation due to the fact that it affects Spell Damage and Spell Haste equally in terms of DPS. I ran the numbers with several levels of hit and the ratio between Spell Damage and Spell Haste is the same for all levels of Spell Hit used.

5. I have made these calculations using this build:
link

6. I'm using fairly entry level DPS stats for a fully raid buffed Moonkin. They are 2000 Spell Power, 35% Crit chance (38% for SF), 6% haste from gear, and 100% hit chance. On the armory this moonkin would probably have 1650 SP, 15% Crit chance, and 6% haste.

7. Calculations assume that the caster is level 80.

Talents and Buffs Affecting Haste:
Celestial Focus - Provides 3% haste to the moonkin.
Improved Moonkin Aura - Provides 3% haste to those affected by Moonkin Aura.
Wrath of Air Totem - Provides 5% haste to casters

General Haste Rating Info:
* 32.79 haste rating = 1% haste

* Spell Haste lowers a spells casting time and lowers the global cooldown. Haste cannot lower the global cooldown below 1 second. However it would take at least 1137 Haste Rating to lower the global cooldown to 1 second. This level is not possible to achieve long term with gear currently available in game.

* Spell Haste has no affect on the damage caused by a single spell. It only changes the casting time.

* Spell Haste has diminishing returns. Your first point of Spell Haste will affect your cast time more significantly then your second point.

* Haste Rating is additive. Meaning if you have two pieces of gear each with 20 haste rating then you have a total of 40 haste rating which is equal to 1.22% haste.

* Haste affects are Multiplicative. All raiding moonkin should have Celestial Focus and Improved Moonkin From. Each of these talents provide 3% haste. When you combine that with your haste from gear, the affect is larger then most people thing. For example, lets assume you have 9% haste from gear, 3% from CF, 3% from Imp Moonkin Form, and 5% from Wrath of Air. This combination results in 21.4% haste instead of 20% as most people expect (1.09*1.03*1.03*1.05 = 1.214).

The Math:
(Please note that I have rounded these values to 4 digits to easy the reading. However, they are calculated using more. Therefore some of the math might appear to be slightly off, but it is due to the rounding.)

As with all of the Spell DPS stats the value of Haste and Spell Power are highly dependent on each other. Obviously the amount of DPS you gain from one point of Spell Power increases the more Spell Haste you have since Spell Haste will decrease your cast time. The amount of DPS you gain from one point of Spell Haste increases with the amount of Spell Power you have because Spell Power increases how much damage your spells do per cast.

First lets look at how haste affects our cast time for Starfire and Wrath.

For Starfire the normal cast time equation looks like this:

Avg SF Cast Time = (Base CT - (0.5 * Crit Chance)) / ((1+(Haste Rating / 3279))*1.03*1.03*1.05)
Avg SF Cast Time = (3 - (0.5 * 0.38)) / (1.06*1.03*1.03*1.05)
Avg SF Cast Time = 2.8100 / 1.1809 = 2.3798 Seconds

For Wrath the normal cast time is more complicated

Avg W Cast Time = (Base CT / ((1+(Haste Rating / 3279))*1.03*1.03*1.05))* (1-Crit Chance) + (1* Crit Chance)
Avg W Cast Time = (1.5 / (1.06*1.03*1.03*1.05))* (1-0.35) + (1 * 0.35)
Avg W Cast Time = (1.2703 * 0.65) + 0.35 = 1.1757 Seconds

So, if we now add a single point of Haste Rating, how does this change our average cast times. A single point of haste rating is equivalent to 0.03050% haste.

Avg SF Cast Time (+1 Haste) = (3 - (0.5 * 0.38)) / (1.060305*1.03*1.03*1.05)
Avg SF Cast Time (+1 Haste) = 2.81 / 1.1811 = 2.3791 Seconds

Avg W Cast Time (+1 Haste) = (1.5 / (1.060305*1.03*1.03*1.05))* (1-0.35) + (1 * 0.35)
Avg W Cast Time (+1 Haste) = (1.2700 * 0.65) + 0.35 = 1.1755 Seconds

How much additional DPS will you receive from an additional point of Spell Power?

Moonfury, Wrath of Cenarius, Master Shapeshifter, Earth and Moon and your Haste all affect the amount of DPS you gain from Spell Power. Starfire has a base Spell Power Coefficient of 1. So the additional damage from one point of Spell damage is:

SF DPS = (((1 + 0.2)*1.1*1.04*1.03)*(1-0.38)+(((1 + 0.2)*1.1*1.04*1.03)*2.09*0.38))/2.3798
SF DPS = 1.9997/2.3798 = 0.8403
DPS

For Wrath the value of one Spell Power looks like this. Wrath has a coeffient of 0.5714.

Wrath DPS = (((0.5714 + 0.1)*1.13*1.04*1.03)*(1-0.35)+(((0.5714 + 0.1)*1.13*1.04*1.03)*2.09*0.35))/1.1757
Wrath DPS = 1.1227/1.1757 = 0.9550 DPS

How much additional DPS will you receive from an additional point of Haste Rating?

To learn this we need to find out what the average DPS is for Starfire and Wrath given the hypothetical moonkin in my assumptions. If you've looked at some of my prior theorycrafting posts these equations will be familiar to you.

Avg SF Dam = ((1285 + (2000 * 1.2))*(1.1*1.04*1.03)*(1 - 0.38)) + ((1285 + (2000 * 1.2))*(1.1*1.04*1.03)*2.09*0.38)
Avg SF Dam = (4342.11*(1 - 0.38)) + (9075.01*0.38) = 6140.6120

Avg SF DPS = 6140.6120 / 2.3798 = 2580.3277 DPS
Avg SF DPS (+1 Haste) = 6140.6120 / 2.3791 = 2581.0701 DPS

Avg W Dam = ((588 + (2000 * 0.6714))*(1.13*1.04*1.03)*(1 - 0.35)) + ((1285 + (2000 * 0.6714))*(1.13*1.04*1.03)*2.09*0.35)
Avg W Dam = (2337.15*(1 - 0.35)) + (4884.64*0.35) = 3228.7706

Avg W DPS = 3228.7706/ 1.1757 = 2746.1973 DPS
Avg W DPS (+1 Haste) = 3228.7706/ 1.1755 = 2746.7522 DPS

So, by adding 1 point of Haste rating we increase the average DPS of Starfire by 0.7424 DPS (2581.0701 - 2580.3277). Wrath's average DPS increase by 0.5549 (2746.7522 - 2746.1973) when you add an additional point of haste rating.

If we compare these DPS values to the DPS values of a additional point of Spell Power we see that for Starfire, 1 point of Haste rating is worth about 0.8835 (0.7424 / 0.8403) Spell Power. For Wrath 1 point of Haste rating is worth about 0.5810 (0.5549 / 0.9550) Spell Power.

As you can see Haste rating has a much greater impact on Starfire then it does on Wrath. Since Wrath is now a significant part of our rotation, to get a real value for Haste rating we need to try and blend these two values together. After looking at my own WWS reports and some reports from other moonkin it seems that for most of us Starfire represents about 60% of our total damage output, and Wrath represents about 20% of our damage output. So if we use these to values as weights we can say that Haste Rating is worth about 0.8079 Spell Power ((0.8835 *0.75)+(0.5810 *.25)) for my hypothetical Moonkin.

Break-Even Point for Haste:
In the Burning Crusade we talked a lot about the Break-Even Point for haste. At that time it was easy to calculate, because we didn't have to think about Wrath, and Nature's Grace didn't reduce the GCD. However, in Wrath of the Lich King it is an out of date concept.

Calculating the Break-Even Point for Starfire is still fairly easy. Assuming you have the Starfire Idol equipped the Break-Even Point for SF is:

SF Haste Break-Even = 2209 + Haste Rating

For Wrath it is much more complicated because Crit rating has such a huge impact on Wrath's cast time. On top of that Haste and Nature's Grace don't stack very well for Wrath since Natures Grace already brings Wrath's cast time down to the GCD. As a result the Break-Even Point for Wrath is very high and grows higher as your gear improves.

The math is very complicated and I'm sure I would mess it up if I tried it, but using some trial and error I've found the Break-Even Point for Wrath with a 50% crit chance. It is:

W Haste Break-Even = 4840 + (Haste Rating * 2.5)

As you can see this value is much higher then the Starfire break even point. Using a little bit more trial and error the break even point I found if you combine the these to equations with SF being weighted 75% and Wrath being weighted 25%. It is:

Combined Haste Break-Even = 2631 + (Haste Rating * 1.2)

Currently the best quality gear allows for about 500 - 600 Haste Rating, and about 3000 Spell Power fully raid buffed. At which point Haste is still inferior to Spell Power in terms of DPS point for point.

Gemming and Eating for Haste:
I've seen several questions on the forums and such asking if Moonkin's should Gem for Haste or Eat Haste food. The short answer is that it is ok to put a [Reckless Monarch Topaz] in a yellow socket to get the Socket bonus, but other then that it is currently not a good idea to Gem for Haste or eat Haste food. You would be better off gemming or eating for Spell Power.

It's not a good idea because of itemization cost. In terms of Itemization cost Spell Power is cheaper then Haste rating. You can see this in Gems and in Buff Food. For example the Spell Power Food has 46 Spell Power, but the Haste food has only 40 haste. Therefore Haste rating has to be 12.5% more valuable then Spell Power for it to be worthwhile. The itemization difference in Gems is even higher. So, since we we can't even meet the current break even point, there is no way that we will over come the itemization cost with gear currently available.

In my opinion it is unlikely that we will ever be at a point where it is beneficial to gem for Haste instead of Spell power, because of how poorly Haste works with Wrath. However, it is impossible to know that since we don't know what the gear will look like in Tier 8 or Tier 9

TL:DR Version:

For the entry level Moonkin I have described in the assumptions, 1 Point of Haste rating is worth about 0.8079 Spell Power. As gear improves this number will go up since Haste stacks very will with Spell Power. If we use the best gear currently available 1 point of Haste rating worth between 0.9000 and 0.9300 Spell Power.

The Break-Even Points for Haste do still exist, but they are fairly difficult to predict and seem to be high enough that they don't really matter.

Gemming for Haste or eating haste food instead of Spell Power is generally a bad idea. Since the Itemization costs are so different and the Break-Even points so high, it is hard to imagine a point where the value of a Haste Gem could overcome a Spell Power gem.

So, assuming you don't have mana issues, Haste rating is a very good stat to have on your gear. It is very close in value to Spell power even at early levels of gear. However, it is better to use food buffs and gem sockets for Spell Power.

13 comments:

Anonymous said...

Thanks for this interesting and informative post. I've been stacking haste against, but I had a gut feeling sp was superior. Will be regemming first thing.

charles said...

how about HASTE VS CRIT?
i think spellpower is/always going to be KING, but the question is HASTE VS CRIT.

Anonymous said...

Haste vs. Crit has been explored elsewhere and the general consensus is that point-for-point haste is superior.
However you still need to maintain high enough crit levels to proc eclipse comfortably.

Badeggplant said...

Hey Graylo, nice post as always. I believe that haste vs. spell power is a question we will be oft revisiting throughout this expansion as well as possibly in future ones. I'd agree that at this point gemming and eating for spellpower are preferable to gemming and eating for haste, outside of using Reckless gems for yellow sockets where the socket bonus is useful.

I wonder, though, if there might be another way to model the effects of Nature's Grace and haste on lost cast time due to Wrath cast time going below the GCD? It looks like you are using crit chance as well as the average amount of damage done in a typical fight by Starfire vs. Wrath. I am not sure if it's 100% correct and may result in an slight undervaluing of haste for the reason that the amount of time spent casting Wrath and the number of Wrath crits (which is where the cast time is lost) are not independent of each other, as Wrath is generally used only to proc Eclipse and so after a Wrath crit it is more likely than not that the moonkin will not continue to cast Wrath.

Does your model account for the relationship between Wrath crits and the % of damage done by Wrath? Outside of Nature's Grace and Heroism Wrath should scale as well as Starfire with haste, although it still gets a greater benefit from spellpower than Starfire, so that may be part of the reason the haste weighting for Wrath seems low. By my calculations with my current gear haste is slightly better than spellpower purely when it comes to Starfire, and it seems like since Eclipse procs are a 60% chance on Wrath crits that the number of times your cast times go below the GCD should be relatively constant, and minimized by using the correct rotation. I am somewhat inclined to rank haste and spell power closer to equal point for point, though not equal in itemization cost (giving less weight to the Wrath component).

-Badeggplant

Aarondf said...

Great post and I hope it clears up most people's concerns or misconceptions. What I haven't seen anyone do yet, is factor in some usually unmentioned benefits in the haste vs. crit debate. It's obvious that haste is more beneficial of a stat for current content, but now that we're approaching time for new progression (Ulduar), the need for mana and proc'ing eclipse more reliably become more valuable. Since Crit will accomplish both of these (moonkin aura mana replenishment and faster procs), I'd love to see discussion on crit's value as a whole. Too often people only look at the dps numbers and not its cursory benefits.

bod said...

10-man Sar3 is a good example of where crit can be more valuable than it would be otherwise.

This week we were using a 3 healer strat, so there was significant pressure on the dps. You need to kill Tenebron before he spawns a second set of whelps, and we were saving heroism for later in the fight. My personal dps varied strongly on how quickly I got the first eclipse proc---there's simply no time for "in the long run" to happen.

Haste also doesn't increase your dmg per mana, and I was having mana issues by the end of Shadron with my innervate going to a priest and having mana regen talent points in support talents (MOTW, IFF) that I don't usually have.

Anonymous said...

Hi Graylo,

Grear post, keep up the excellent work.

Badeg, I dont know if this is helpful (hope it is) and ofc it is up to Graylo to verify it, but I think in the wrath cast time he wrote:

Avg_Wrath_Casttime = p_noncrit*time_it_takes_without_NG+p_crit*time_it takes_with_NG

, which is true due to the definition of the expectation value of the cast time. (*1)

So since p_noncrit+p_crit=1

Avg_Wrath_Casttime = time_it_takes_without_NG*(1-p_crit)+p_crit*time_it_takes_with_NG

now since there is an 1 sec clipping, time_it_takes_with_NG = 1 and therefore

Avg_Wrath_Casttime = time_it_takes_without_NG*(1-p_crit)+p_crit*1

(*1) it is safe to say wow cast times are ergodic processes, so the expectation value can be equaled to the avg value.



Hope this helps, and ofc it is up to Gray to confirm/disagree that this is what he had in mind when he calculated wrath average cast time.

Cheers,

Lyssi

Anonymous said...

assumptions I understand graylo made are:

SF:

1.1*1.04*1.03

1.1: Moonfury 3/3
1.04: Master Shapeshifter 2/2
1.03: Earth & Moon 3/3 (incr dmg 3%)

Wrath:

1.13: Moonfury 3/3+ISS (1.1*1.03 = 1.133)
1.04: Master shapeshifter 2/2
1.03: Earth & Moon 3/3 (incr dmg 3%)

I am under the impression that Grays calculations are 100% fine :), (at least up to dps per spellpower part, I am sure the rest if fine as well)

"Wrath is generally used only to proc Eclipse and so after a Wrath crit it is more likely than not that the moonkin will not continue to cast Wrath"

In that case one should keep the same average wrath cast time (assuming blizz is using a zero-memory rng generator, that is the random generator produces uncorrelated results (*2)) and in

(*2) this assumption cant, strictly speaking, be 100% true but it is a solid assumption, pretty much following what people do in Monte Carlo simulation etc.

Avg SF Dam (per 1 spellpower)

one should should multiply

(((0.5714 + 0.1)*1.13*1.04*1.03)*2.09*0.35))

by 0.4 (which is the probability that you will be casting wrath again if your previous wrath critted). So if you only use wrath to proc eclipse you effectivelly (because of the chosen rotation) lower the wrath dps per spellpower (and increase SF dps per sp). In the SF dps per spellpower equation one should ofc do a similar modification to include the effect of eclipse. Dont really have the time now to do the arithmetics (moving house :S) but they are pretty straightforward and only require slight modifications to the equations Gray is using.


When I have time I could try to calculate the haste breakpoints, I started writting up some C code that does this, but cant promise anything in the near future.


Cheers,

Lyssi

Cdin said...

@Charles

I plan on doing a Haste vs Crit post at some time int the future, but I did look at some numbers a while back.

Haste heavily favors SF. Crit Heavily favors Wrath. So as a general rule we can go with Haste > Crit, but the gap may be a little bit smaller then most people think.

I did a post back on Oct looking at moonkin stats. Those numbers are still fairly close but I used SF to look at them all. So, you will want to push the haste number down a little bit and the Crit number up a little bit.

@Badegg

It has been a lot of years since I've taken any type of serious math course and I am not a mathimation by trade. So it is likely that the is a better way to calculate some of the stuff I've done here. That said I don't think my numbers are far off.

I may be a little bit dense, but I am a little bit confused about your question. Are you saying that I should calculate the affect of haste on a Criting Wrath and a noncriting wrath separately, and then try and combine them?

Or, are you saying that NG doesn't limit the value of Haste as much because we are only casting Wrath to proc eclipse and w on 60% of the wrath crits we will be switching to SF?

(Hopefully, I'm not way off base on my understanding of your idea.) I haven't really thought about it in depth because but you could be right. If this is your thought I see two issues with it. 1. We generally don't switch to SF right after Eclipse procs. It usually takes a spell cast to recognize it. So, a Wrath would consume the NG proc from the Eclipse proc. 2. It goes the other way also. You would also have the issue were your last starfire crits before you have to switch to Wrath.

Please let me know If I've missunderstood your thought.

@Lyssi

You seem to understand my thinking when I did the math.

Anonymous said...

Hi Graylo,

As long as the Blizzard rng is not terrible at doing what rngs are designed to do, produce uniformly distributed and uncorrelated pseudo-random numbers, the assumption that

Avg_Wrath_Casttime = Expectation_value_of_wrath_casttime

which you have used is valid and imho an elegant way to put down the arithmetics. (*3)

On the other hand, until I get my Baron mount I cannot confirm this :P

While I 100% agree with you that one cast is usually lost, I would like to ask your permission to modify your equations according to the rotation which uses wrath to proc eclipse (in the way that I mention in my previous post) and post it here, assuming no cast is lost. Would be interesting to see how much we lose by this 1 lost cast (even though I expect it to be not too important). Since this will essentially be a modification of your article, any amendments that you wish to do will be welcome and ofc I wont be posting the modified arithmetics elsewhere without permission.

(*3) this is not valid for non-ergodic processes (by definition of ergodicity)

Anonymous said...

^^

Cheers,

Lyssi

Anonymous said...

All this math approach to which stats to value more or less then others is SO largely influenced by 'continues-time-for-dps'.
Almost all raid bosses require you to move around, only some are stationary fights, Patchwork is that exception.

All this number crunching looks impressive, but you can punch a hole in it in a blink second. I have a masters in applied physics
and i call tell you from experience that outcome of experiences are so much influenced by the setup of the experience
and the surroundings that if you pull your conclusion out of context it might seem like a thruth , but it isn't

Calculating dps as a continues, never ending action is not bringing you any value. It could proof your dps on a test dummy, woeha.

But plz do this for me: recalculate everything which makes you move every 10 seconds for 2 seconds, which is much more realistic for boss fights.

Then come back and we most likely we come to a mutual conclusion: if you mymic a real fight this calculation becomes exponentially complex to analyse well.

Haste doesn't bring you anything but a warm feeling if you don't manage to get that additional hit in, you wouldn't get with the lesser haste.
continues SF spam with 2.5 cast time would (ignore NG for this point) need 65 seconds continues dps to get that additional hit in compared to the 2.6 SF cast spam...

Cdin said...

Ok, slow down mister Applied Physics.

I think if you take a look back you will realize your poking a hole in an arguement I didn't make.

My analysis is looks at the DPS impact of changing a single stat by 1 point on a single spell cast. Movement is irrelevent. I'm using random numbers here, but I'm saying some thing to the affect of "if I increase my spell power by 1 then my SF dps will go up by 0.5. If I increase my Haste Rating by one 1 then my SF DPS will go up by 0.4."

How a stat affects a single casts DPS is irrelevent to movement

Now to poke a few holes in your arguement.

1. There are very few fights in the game where you have to move every 10 seconds. I'm sure there there is a lot more move ment in Ulduar, but I doubt you will have to move every 10 seconds on all 14 fights.

2. You don't come right out and say it directly by you imply in your last paragraph that this is really about you thinking Crit is better then haste.

It is beyond a shadow of a doubt that Haste is a better stat for movement heavy fights then Crit is. First if you dont' have the time to get a hasted spell off then you don't have the time to get a non-hasted spell off, ie crit = useless. Crit has a very small impact on cast time, and it is on the next cast. So it has even less impact on a movement heavy fight.

I don't have a problem with anyone disagreeing with me, but I will make a couple of suggestions. This isn't cutting edge stuff here, and many people have done the analsys. If your going to try and go against the conventional wisdome think it through completely. Chances are your missing something.

Second, Post math as to why you think we are wrong. I've been convinced of an idea before only to realize that I am thinking about it incorrectly when I try and do the math.

Thanks for reading.