Calculating the avoidance value of expertise
Moderators: Fridmarr, Worldie, Aergis, theckhd
Calculating the avoidance value of expertise
I've edited this first post to guideify it. You can find the original post at the end of this one.
Since most people just want the TLDR version, I'm going to put that first, and then write about the methodology and results in detail.
Current conclusions:
NOTE: These conclusions only apply to bosses that parry haste! On a boss which has parryhaste disabled, expertise gives absolutely zero damage mitigation benefit. A reasonably complete list of bosses that parryhaste can be found here.
NOTE #2: It seems that the only bosses that parryhaste in ICC are Lady Deathwhisper and Sindragosa. This is a little disappointing, to be honest, because neither are significant tank checks (at least as far as melee swings go). So my recommendation at the moment is not to treat Expertise as an avoidance stat for ICC. It's still a good threat stat up to the softcap of 26, but that's about it. I'm leaving the math here for folks progressing through older content (Ulduar, ToC) and in case the next raid instance / expansion includes more parryhasting bosses.
Again, the code is available here for those interested:
calc_expertise_mitigation.m
calc_expertise.m (generates tables and plots by calling the first file)
Commence Massive Nerdery

Overview:
Parryhasting and the reduction of parryhaste through Expertise are not as negligible an effect as many make them out to be. As you increase your expertise, you reduce the amount of parryhaste the boss gains, effectively reducing the number of incoming attacks. This means that expertise also functions as an avoidance stat, because it reduces the number of successful boss attacks you take.
One could ask the question, "How efficient is expertise compared to an avoidance stat at reducing incoming damage?" The answer can be fairly easily obtained by comparing equal amounts of expertise and dodge rating. That calculation will be the focus of this article.
Calculation Details:
Calculating this efficiency is actually not that difficult. We need to know several things first, including the average boss attack speed before and after parryhaste effects are considered, the player's avoidance, and parry chance for both player and boss.
For a fight of a fixed length, a boss of base swing speed bs will generate N = T / bs attacks. The boss's postparryhaste swing speed can be represented as bs / bph, where bph is the "bossparryhaste" factor which should be slightly larger than one. If bph = 1.065, the boss has gained 6.5% haste through parries. bph will depend on Pb, our chance to be parried by the boss.
Thus, instead of generating N attacks, the boss generates N * bph attacks, with N * (bph  1) of those attacks being the result of parryhasting.
Since (bph  1) is small, we can safely assume that bph is a linear function of Pb; in other words, bph decreases linearly from it's maximum value to unity as we reduce our chance to be parried from Pb to zero.
One point of expertise reduces our chance to be parried by 0.25%. Thus, each point of expertise will reduce the number of extra attacks the boss makes by:
N * (bph  1) * (0.25 / Pb)
However, we would have avoided some of those attacks anyway. If our avoidance is Ap, then we've reduced the number of successful attacks by:
redux_per_exp = N * (bph  1) * (0.25 / Pb) * (1Ap/100)
Note that both Pb and Ap are expressed as percentages, i.e. 0100 rather than 01. Our damage intake is directly proportional to the number of successful attacks we receive, so this value represents a reduction in damage intake.
One point of expertise is equivalent to 8.197497368 dodge rating in terms of itemization. That 8.197497368 dodge rating increases our avoidance from Ap to Ap + d after diminishing returns. That increase in dodge percentage will increase the number of attacks avoided by:
redux_per_dodge = N * bph * d/100
We could calculate an efficiency from the ratio of these two redux values:
efficiency = redux_per_exp / redux_per_dodge = (bph  1)/bph * (0.25 / Pb) * (1Ap/100) / (d/100)
This efficiency tells us how effective a chunk of expertise is (10 rating, for example) at reducing our damage intake compared to an equivalent amount of dodge rating.
Simulation Details:
As I said, the calculation is the easy part. If we know bph, Pb, and Ap, the calculation is very straightforward. However, bph can be tricky to calculate, since it depends on several factors: boss swing speed, player swing speed, boss parry chance, player parry chance, as well as the number of parryable attacks the player makes per second.
In a generic sense, this is relatively easy to model. We have a system with two different events a and b. Event a is a parryable player attack, event b is a parryable boss attack. Ra is the rate at which event a happens, and Rb is the rate at which event b happens. We can represent the base (preparryhaste) values of Ra and Rb by Rao ("Ranaught") and Rbo ("Rbnaught").
Events a and b are coupled by a set of equations. If we consider a simple system with only autoattacks, the equations look like this:
You can see the symmetry here  your autoattack rate Ra (the reciprocal of your parryhasted swing speed) depends on your base rate Rao plus a parryhaste contribution due to parrying boss attacks. Similarly, the boss's autoattack rate Rb depends on his base rate Rbo plus a term that represents haste due to parrying your attacks. The important point here is that your autoattacks benefit from your parryhaste, giving this sort of interactive dependence.
This set of equations can be solved analytically for the simple case, or it can be solved iteratively (start with Ra=Rao, Rb=Rbo, and calculate Ra and Rb, then plug the new values into the righthand side of the equations to recalculate, repeat until you get convergence).
However, combat involves more than autoattacks, which complicates the system. We also make parryable attacks via special abilities, which are limited by the Global Cooldown. Since GCDlimited abilities don't benefit from parryhaste, they represent an additional source of parryable attacks that need to be implemented differently. In the general form, the equations look like this:
You'll note the introduction of Raa here. Raa is the rate at which we generate parryable attacks, which is strictly larger than Ra, which is our rate of autoattacks.
Raa has three contributions:
Calculating for paladins is relatively easy:
According to information gathered from both tankspot and our offspec forums, we've managed to nail down reasonable values for the other classes:
I've used these values, along with a representative gear set for each class that's roughly equivalent to late T9level gearing. Here are the details of each setup:
The high parry rating for DK's is simulating the effects of Forceful Deflection as per this discussion.
I have artificially fixed the chance to be parried Pb to 7.5% for this simulation to normalize it across classes, essentially assuming that all 4 classes will be expertise softcapped. I have also set the chance to miss at 2%.
Results:
There are two or three conditions we might be interested in exploring. The first is a 'standard' boss outside of Icecrown Citadel, which means a 2.4 base swing speed (after JotJ) and no chill of the throne. Here's the output results for that sort of boss:
As you can see, expertise is onpar with dodge rating for paladins, while it lags behind for the other classes. This is primarily due to the Holy Vengeance mechanics, which nearly doubles our rate of parryable attacks.
The next thing we may want to consider is an Icecrown Boss. Most bosses in Icecrown swing considerably faster than 2.4 speed, and we also have to reduce our dodge rating by 20% to account for Chill of the Throne. We would expect Chill of the Throne to increase expertise's efficiency, as we will prevent more undodged attacks from occurring without changing the reduction afforded by the extra dodge rating. On the other hand, fasterswinging bosses should reduce the efficiency, as every parry generates a smaller absolute gain from parryhaste.
Setting the base boss speed to 1.2, we get the following results:
The gain one might have expected due to Chill of the Throne is offset by the increase in boss attack speed (and then some).
Finally, we might ask to see how this effectiveness changes with boss swing speed.
This shows fairly clearly that even for slowswinging bosses, expertise only barely catches up to avoidance for warriors and druids, and never catches up for 2H DKs. For paladins, the breakeven point is around 1.55 s (again, after JotJ, so a 1.4ish base swing speed). For DW DKs, the breakeven point is 1.9s (1.58 base).
We can repeat this with Chill turned off to see how it varies outside of Icecrown:
Original Post Follows

This question came up in the EJ prot pally thread today, and I didn't remember seeing a serious calculation of this aspect of expertise yet. It's always been handwaved away as "miniscule" and "not worth considering," and I'm as much at fault for that as anyone (in case someone thought to search my old posts to call me out on it).
So I took some time this morning to crank it out, and was surprised by the result. I'm reposting it here so that I can get some other eyes to look it over and make sure I haven't erred. Comments/suggestions/etc. welcome and encouraged, I think it's about time we had a serious discussion of the math behind expertise and the "mitigation value" of reducing parry haste.
Since most people just want the TLDR version, I'm going to put that first, and then write about the methodology and results in detail.
Current conclusions:
NOTE: These conclusions only apply to bosses that parry haste! On a boss which has parryhaste disabled, expertise gives absolutely zero damage mitigation benefit. A reasonably complete list of bosses that parryhaste can be found here.
NOTE #2: It seems that the only bosses that parryhaste in ICC are Lady Deathwhisper and Sindragosa. This is a little disappointing, to be honest, because neither are significant tank checks (at least as far as melee swings go). So my recommendation at the moment is not to treat Expertise as an avoidance stat for ICC. It's still a good threat stat up to the softcap of 26, but that's about it. I'm leaving the math here for folks progressing through older content (Ulduar, ToC) and in case the next raid instance / expansion includes more parryhasting bosses.
 For Icecrown Citadel, expertise is roughly 91% as effective as dodge rating for reducing incoming damage, assuming a boss swing speed of 1.4 seconds (after JotJ). It varies significantly with boss attack speed though, from 78% @ 1.2 to 154% @ 2.4 speed.
 For Warriors, this range narrows to 52102%, with an "average" of 60% at 1.4speed.
 For Druids, it's 4998%, with an "average" of 60%
 For Death Knights (2handed), the range becomes 3671%, with an "average" of 46%.
 DualWield Death Knights (2.6speed MH, 1.6speed OH) range from 54126%, with an "average" of 75%. Dualwielding 2.6speed weapons gives results almost identical to a Warrior, so just use their data.
 For bosses outside of Icecrown, we would use an average swing speed of around 2.0, giving average values of 87% for paladins (53%104% range), 57% for warriors (30%69%), 56% for druids (28%68%), 45% for 2H Death Knights (28%52%), and 71% for DW Death Knights (36%84%).
All of these can be seen in the plots in the "results" section.  Each point of expertise rating (above the softcap) also gives a Paladin about 60% the threat that a point of STR would.
Again, the code is available here for those interested:
calc_expertise_mitigation.m
calc_expertise.m (generates tables and plots by calling the first file)
Commence Massive Nerdery

Overview:
Parryhasting and the reduction of parryhaste through Expertise are not as negligible an effect as many make them out to be. As you increase your expertise, you reduce the amount of parryhaste the boss gains, effectively reducing the number of incoming attacks. This means that expertise also functions as an avoidance stat, because it reduces the number of successful boss attacks you take.
One could ask the question, "How efficient is expertise compared to an avoidance stat at reducing incoming damage?" The answer can be fairly easily obtained by comparing equal amounts of expertise and dodge rating. That calculation will be the focus of this article.
Calculation Details:
Calculating this efficiency is actually not that difficult. We need to know several things first, including the average boss attack speed before and after parryhaste effects are considered, the player's avoidance, and parry chance for both player and boss.
For a fight of a fixed length, a boss of base swing speed bs will generate N = T / bs attacks. The boss's postparryhaste swing speed can be represented as bs / bph, where bph is the "bossparryhaste" factor which should be slightly larger than one. If bph = 1.065, the boss has gained 6.5% haste through parries. bph will depend on Pb, our chance to be parried by the boss.
Thus, instead of generating N attacks, the boss generates N * bph attacks, with N * (bph  1) of those attacks being the result of parryhasting.
Since (bph  1) is small, we can safely assume that bph is a linear function of Pb; in other words, bph decreases linearly from it's maximum value to unity as we reduce our chance to be parried from Pb to zero.
One point of expertise reduces our chance to be parried by 0.25%. Thus, each point of expertise will reduce the number of extra attacks the boss makes by:
N * (bph  1) * (0.25 / Pb)
However, we would have avoided some of those attacks anyway. If our avoidance is Ap, then we've reduced the number of successful attacks by:
redux_per_exp = N * (bph  1) * (0.25 / Pb) * (1Ap/100)
Note that both Pb and Ap are expressed as percentages, i.e. 0100 rather than 01. Our damage intake is directly proportional to the number of successful attacks we receive, so this value represents a reduction in damage intake.
One point of expertise is equivalent to 8.197497368 dodge rating in terms of itemization. That 8.197497368 dodge rating increases our avoidance from Ap to Ap + d after diminishing returns. That increase in dodge percentage will increase the number of attacks avoided by:
redux_per_dodge = N * bph * d/100
We could calculate an efficiency from the ratio of these two redux values:
efficiency = redux_per_exp / redux_per_dodge = (bph  1)/bph * (0.25 / Pb) * (1Ap/100) / (d/100)
This efficiency tells us how effective a chunk of expertise is (10 rating, for example) at reducing our damage intake compared to an equivalent amount of dodge rating.
Simulation Details:
As I said, the calculation is the easy part. If we know bph, Pb, and Ap, the calculation is very straightforward. However, bph can be tricky to calculate, since it depends on several factors: boss swing speed, player swing speed, boss parry chance, player parry chance, as well as the number of parryable attacks the player makes per second.
In a generic sense, this is relatively easy to model. We have a system with two different events a and b. Event a is a parryable player attack, event b is a parryable boss attack. Ra is the rate at which event a happens, and Rb is the rate at which event b happens. We can represent the base (preparryhaste) values of Ra and Rb by Rao ("Ranaught") and Rbo ("Rbnaught").
Events a and b are coupled by a set of equations. If we consider a simple system with only autoattacks, the equations look like this:
 Code: Select all
Ra = Rao + c1*Rb*(Ra/Rao)
Rb = Rbo + c2*Ra*(Rb/Rbo)
c1=0.24*Pp/100
c2=0.24*Pb/100
You can see the symmetry here  your autoattack rate Ra (the reciprocal of your parryhasted swing speed) depends on your base rate Rao plus a parryhaste contribution due to parrying boss attacks. Similarly, the boss's autoattack rate Rb depends on his base rate Rbo plus a term that represents haste due to parrying your attacks. The important point here is that your autoattacks benefit from your parryhaste, giving this sort of interactive dependence.
This set of equations can be solved analytically for the simple case, or it can be solved iteratively (start with Ra=Rao, Rb=Rbo, and calculate Ra and Rb, then plug the new values into the righthand side of the equations to recalculate, repeat until you get convergence).
However, combat involves more than autoattacks, which complicates the system. We also make parryable attacks via special abilities, which are limited by the Global Cooldown. Since GCDlimited abilities don't benefit from parryhaste, they represent an additional source of parryable attacks that need to be implemented differently. In the general form, the equations look like this:
 Code: Select all
Ra = Rao + c1*Rb*(Ra/Rao)
Rb = Rbo + c2*Raa*(Rb/Rbo)
Raa = f(Ra,Rb) = A + B*Ra + C*Rb
c1=0.24*Pp/100
c2=0.24*Pb/100
You'll note the introduction of Raa here. Raa is the rate at which we generate parryable attacks, which is strictly larger than Ra, which is our rate of autoattacks.
Raa has three contributions:
 GCDlimited abilities. For example, Hammer of the Righteous can be parried, and we cast one every 6 seconds. If this were our only parryable GCDlimited ability, A would be 1/6.
 Hasteaffected attacks. This would include autoattacks, as well as any parryable effect or proc that triggers from an autoattack. For most classes, B=1, but paladins get nearly double that thanks to Holy Vengeance applications.
 Reactive abilities. These are abilities that you are "allowed" to cast only when the boss does something (for example, Rune Strike). C=0 for paladins, warriors, and druids, but Rune Strike gives Death Knights a nonzero C.
Calculating for paladins is relatively easy:
 Every HotR and ShoR can be parried. Every HotR generates a Holy Vengeance application, which can also be parried. Thus A gets a 1/6 contribution from HotR, 1/6 contribution from ShoR, and (1Ab/100)/6 contribution from the HV app, where Ab is the total chance that the boss avoids our HotR. This gives a total of
A = (2Ab/100)/6+1/6  Every melee attack can be parried, and every melee attack generates an HV app. Again, the HV app only occurs if the autoattack was successful, giving us B = (2Ab/100) chanes to be parried on every autoattack.
 We have no reactive abilities, so C=0.
According to information gathered from both tankspot and our offspec forums, we've managed to nail down reasonable values for the other classes:
 Code: Select all
Paladin Warrior Druid DK
A (2Ab/100) 33/60 0.5 0.375 (+ 1.3333 for DW)
B (3Ab/100)/6 1 1 1+0.3*(1Ab/100)
C 0 0 0 (Pd+Pp)/100
I've used these values, along with a representative gear set for each class that's roughly equivalent to late T9level gearing. Here are the details of each setup:
 Code: Select all
Paladin Warrior Druid DK
Dodge Rating 570 570 250 492
Parry Rating 380 380 0 860
Defense Rating 745 745 200 863
Agi (from gear) 55 55 1125 22
base Agi 90 113 94 111
base parry% 10 10 0 6.08
base dodge% 10 10.06 17.5 9.95
base miss% 5 5 7 5
base swing 1.3 1.3 1.8 2.88 (2.6/1.6 for DW)
The high parry rating for DK's is simulating the effects of Forceful Deflection as per this discussion.
I have artificially fixed the chance to be parried Pb to 7.5% for this simulation to normalize it across classes, essentially assuming that all 4 classes will be expertise softcapped. I have also set the chance to miss at 2%.
Results:
There are two or three conditions we might be interested in exploring. The first is a 'standard' boss outside of Icecrown Citadel, which means a 2.4 base swing speed (after JotJ) and no chill of the throne. Here's the output results for that sort of boss:
 Code: Select all
Paladin Warrior Druid DK DWDK
player_swing_timer 1.261479 1.26263 1.80204 2.68253 2.05136
player_attack_timer 0.5014293 0.745158 0.947932 0.937534 0.573121
boss_swing_timer 2.193231 2.26086 2.29063 2.28941 2.2191
player_parryhaste 1.030537 1.0296 0.99887 1.07361 1.05621
boss_parryhaste 1.094276 1.06154 1.04775 1.0483 1.08152
Avoid 58.70692 57.7681 55.2536 59.2489 59.2489
# extra attacks 11.78449 7.69277 5.96862 6.03801 10.1902
equiv dod % postDR 0.1145649 0.117923 0.100369 0.120593 0.120593
redux / exp skill 0.162206 0.108293 0.0890246 0.0820185 0.13842
redux / equiv dodge 0.156707 0.156476 0.131452 0.158022 0.163029
redux eff (%) 103.5091 69.2078 67.7239 51.9032 84.9053
As you can see, expertise is onpar with dodge rating for paladins, while it lags behind for the other classes. This is primarily due to the Holy Vengeance mechanics, which nearly doubles our rate of parryable attacks.
The next thing we may want to consider is an Icecrown Boss. Most bosses in Icecrown swing considerably faster than 2.4 speed, and we also have to reduce our dodge rating by 20% to account for Chill of the Throne. We would expect Chill of the Throne to increase expertise's efficiency, as we will prevent more undodged attacks from occurring without changing the reduction afforded by the extra dodge rating. On the other hand, fasterswinging bosses should reduce the efficiency, as every parry generates a smaller absolute gain from parryhaste.
Setting the base boss speed to 1.2, we get the following results:
 Code: Select all
Paladin Warrior Druid DK DWDK
player_swing_timer 1.22635 1.22746 1.80398 2.49375 1.94492
player_attack_timer 0.490785 0.732766 0.948469 0.877428 0.562191
boss_swing_timer 1.14719 1.16463 1.17267 1.17046 1.15389
player_parryhaste 1.06005 1.0591 0.997795 1.15489 1.11401
boss_parryhaste 1.04604 1.03037 1.0233 1.02524 1.03996
Avoid 38.7069 37.7681 35.2536 39.2489 39.2489
# extra attacks 11.5093 7.59317 5.82606 6.30968 9.98906
equiv dod % postDR 0.114565 0.117923 0.100369 0.120593 0.120593
redux / exp skill 0.235147 0.157512 0.125739 0.127773 0.202282
redux / equiv dodge 0.299598 0.303763 0.256771 0.30909 0.313527
redux eff (%) 78.4876 51.8538 48.9693 41.3385 64.5181
The gain one might have expected due to Chill of the Throne is offset by the increase in boss attack speed (and then some).
Finally, we might ask to see how this effectiveness changes with boss swing speed.
This shows fairly clearly that even for slowswinging bosses, expertise only barely catches up to avoidance for warriors and druids, and never catches up for 2H DKs. For paladins, the breakeven point is around 1.55 s (again, after JotJ, so a 1.4ish base swing speed). For DW DKs, the breakeven point is 1.9s (1.58 base).
We can repeat this with Chill turned off to see how it varies outside of Icecrown:
Original Post Follows

This question came up in the EJ prot pally thread today, and I didn't remember seeing a serious calculation of this aspect of expertise yet. It's always been handwaved away as "miniscule" and "not worth considering," and I'm as much at fault for that as anyone (in case someone thought to search my old posts to call me out on it).
So I took some time this morning to crank it out, and was surprised by the result. I'm reposting it here so that I can get some other eyes to look it over and make sure I haven't erred. Comments/suggestions/etc. welcome and encouraged, I think it's about time we had a serious discussion of the math behind expertise and the "mitigation value" of reducing parry haste.
Kenobe wrote:I have a question regarding expertise and more specifically the hard cap.
I understand 26 expertise allows you to ensure that your hits as a melee/tank will never be dodged and 56 expertise rating would mean you will never be parried.
It was never realistic in the past (as far as I remember) to try to be expertise capped against parries but it seems very doable now given how much expertise we have on the TOC gear and the SOV glyph. For example, I'm currently sitting on 47 expertise rating (glyphed) and I'm far from having the best gear available.
Should we now strive to reach the expertise cap and spare our healers from nervous breakdowns due to boss parry haste?
Also, is there a point when stacking avoidance where, due to diminishing returns on parry and dodge, expertise becomes more valuable (up to hard cap) than dodge and parry?
Theck wrote:It's not worth gemming or enchanting expertise for threat. STR or hit rating (if below the 8% melee cap) is just far better as a threat stat than expertise is after you reach the dodge softcap. The mitigation value from reducing parries is hard to model, but here's both a long and short version:
Short Version: It's fairly weak, and since your avoidance is probably good (55+ range for an ulduargeared tank) the likelihood that you'll take a normal hit followed by a parryhasted hit is pretty low.
Long Version: A rough approximation that works fairly well for modeling parry haste is:
 Code: Select all
boss_parryhaste=(1+((boss_swing_speed.*(boss_parry./100).*0.24)./player_swing_speed))
 Code: Select all
boss_net_swing_speed=boss_swing_speed./boss_parryhaste
where "boss_parryhaste" is a multiplier that you use to determine the effective (or net) swing speed of a boss. boss_parry is the chance for a boss to parry you, which at the soft cap is 146.5=7.5%. For a player swing speed of 1.3 (quite reasonable with raid buffs for a 1.6 speed weapon), and a boss_swing_speed of 2, this works out to be 1.0277. In other words, your parries are effectively giving the boss 2.77% haste over the course of the fight (equivalently increasing damage taken by 2.77%). Each point of expertise skill (8.1975 rating) would drop this by 0.092%.
Comparing this to avoidance; if you have around 60% avoidance, and around 30% of that is from dodge, then 8 points of dodge rating would give you 0.1107% more dodge. The damage you take over the course of a fight will then drop from a factor of (10.6) to (10.601107), or a reduction of 0.28%; 3x more effective than the point of expertise skill.
Of course, this is all assuming you're averaging over the entire fight, which isn't what you asked; your concern was the spikes of damage due to parries. Unfortunately, that comparison is trickier, because expertise and dodge work differently. We could just as easily say that instead of 2.77% haste, the boss gets 2.77% more attacks over the course of the fight due to parry hasting. For a 5minute fight, you'll take 150 attacks from a boss with a 2second swing speed, meaning that you'll get on average 4.266 parryhasted attacks during that same fight. It takes 8.3696 expertise skill to drop that to 3, another 7.2826 to drop it to 2, and 7.2826 to remove each of the last two as well. You can say with certainty that those 4 attacks will not happen if you hit the expertise cap.
But we can't make a similar statement about dodge rating. 7.2826 expertise converts to 7.2826*8.1975=59.70 rating, and 59.7 dodge rating would convert to around 0.81% dodge from an equivalent amount of dodge rating. On average, out of those 154 attacks, you'll dodge 154*(0.0081) = 1.25 of them by choosing the dodge rating instead of the expertise. So you'll take less damage overall by using those itemization points on dodge rather than expertise, but there's no guarantee that you'll dodge any of the 4 parryhasted attacks like you get with the expertise.
This is interesting, because up until now I had never sat down and worked through the math for expertise's avoidance/DR contribution. I had basically been discounting it as tiny and not worth considering, but from this it seems like it's really not that much worse than avoidance. It's about 1/3 as effective as dodge rating at reducing damage intake, and only 20% weaker than dodge for reducing the number of attacks you'll take, with the benefit that it removes the attacks that are more likely to contribute to large damage spikes. It's also about 1/3 as effective as Strength for threat output above the softcap (slightly less in 3.2.2 as STR will be getting stronger). So it doubledips as a threat and avoidance stat. It makes me slightly less annoyed by the large amount of expertise on Coliseum gear. Hopefully someone will check my math to make sure I haven't made any errors that artificially inflate its value.
Last edited by theckhd on Thu Jan 14, 2010 10:05 am, edited 3 times in total.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7716
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Calculating the avoidance value of expertise
It looks correct to me. But we need to remember that this calculation assumes that you're constantly attacking a single target boss who's capable of benefiting from parryhaste, which isn't always the case. Several bosses throughout history haven't benefited from parryhaste and you're not always tanking just a single target  damage intake from 2nd and 3rd targets isn't affect by parryhaste. So under "ideal" circumstances expertise is more valuable as a survivability stat that I would have guessed, but I believe its benefit is a quite a bit less in practice.
Warriors on the other hand will get even more benefit from it since they're putting out almost twice as many parryable attacks as we are: 1.3sec swing speed + one parryable attack every 1.5sec GCD.
Warriors on the other hand will get even more benefit from it since they're putting out almost twice as many parryable attacks as we are: 1.3sec swing speed + one parryable attack every 1.5sec GCD.

Jasari  Posts: 2195
 Joined: Sun Apr 27, 2008 12:32 am
 Location: Boston, MA
Re: Calculating the avoidance value of expertise
Jasari wrote:Warriors on the other hand will get even more benefit from it since they're putting out almost twice as many parryable attacks as we are: 1.3sec swing speed + one parryable attack every 1.5sec GCD.
The SoV DoT application is parryable as far as I know (not to be mistaken with the direct damage proc). So even if the swing connects, the DoT application can be parried, leading to two chances to parry per swing (though obviously you can never get a double parry off one swing, as if the white hit is parried, the DoT application attempt will never be triggered).
 Rhiannon
 Posts: 1061
 Joined: Mon Mar 03, 2008 8:17 am
Re: Calculating the avoidance value of expertise
How would the mitigation value of expertise change if HotR per 6 seconds and the SoV application/refreshes by melee hits and HotR are taken into account?
 Nadir
 Posts: 266
 Joined: Mon May 04, 2009 8:37 am
Re: Calculating the avoidance value of expertise
Rhiannon wrote:The SoV DoT application is parryable as far as I know (not to be mistaken with the direct damage proc). So even if the swing connects, the DoT application can be parried, leading to two chances to parry per swing (though obviously you can never get a double parry off one swing, as if the white hit is parried, the DoT application attempt will never be triggered).
That would still mean that my math is wrong, because I'm only accounting for melee attacks and not SoV applications. So expertise's worth should be roughly double my estimates, I think. In other words, player_swing_speed is wrong, because we get two parryable attacks from an autoattack, and I've ignored HotR.
The correct math should be something like this, with player_swing_speed representing the average time between our parryable attacks:
 Code: Select all
1/player_swing_speed = 1/1.3 + (1boss_avoid)/1.3 + 1/6 + (1boss_avoid)/6
the second and last terms represent the SoV application chance, which don't occur if the autoattack is avoided (hence the 1boss_avoid factor). This also may be worth fixing in the MATLAB implementation, since it isn't properly accounting for SoV applications or the extra potential parries from HotR.
This would have to further be adjusted by reckoning and our own parry haste:
 Code: Select all
player_parryhaste = (1+((player_swing_speed.*(player_parry./100).*0.24)./boss_swing_speed))
Reck=1(10.02.*Reck_points.*(1player_avoid)).^ ...
(min([8.*ones(size(player_swing_speed)); 4.*player_swing_speed./player_parryhaste]) ...
.*boss_parryhaste./boss_swing_speed);
player_net_swing_speed = player_swing_speed / [ (1Reck) (player_parryhaste) ]
For now let's ignore reckoning, since that's more complicated, and try and go through the numbers.
Let's say that you're at the soft cap, so you have 26 expertise, 0% chance to be dodged, 7.5% chance to be parried. You also have 6% melee hit, so you have a 2% chance to miss with your autoattacks and HotR.
boss_avoid = 7.5+2=9.5
boss_swing_speed=2
player_parry=20
player_swing_speed=1/[(20.095)/1.3 + (20.095)/6] = 1/1.7829 = 0.5609
player_parryhaste=1+((0.5609*(20/100)*0.24)/boss_swing_speed) = 1.0135
player_net_swing_speed = 0.5609 / 1.0135 = 0.5534
we then plug that into the equations for boss parryhaste:
boss_parryhaste=(1+((2.*(7.5./100).*0.24)./0.5609)) = 1.0642
so we're effectively giving the boss 6.42% haste from parries, not 2.77%. Each point of expertise reduces parry by 0.25%, which means that each point of expertise skill should reduce this effective bosshaste by 0.21%, rather than the 0.092% i quoted earlier. This makes it much more competetive with dodge, since 8.1975 dodge rating gives 0.1129% avoidance after DR using my default gear set, which is around 60% total avoidance (35.3647% postdr + 10% dodge and parry + 5% miss), for a damage reduction of (10.601129)/(10.6)=0.9972, or 0.28% as before.
Jumping down to the "number of attacks" section, this means that instead of 150 attacks, we should see 159.6276 attacks. To reduce this to 8 extra attacks, it should take 5.0716 expertise skill, to go from 8 to 7 (or 7 to 6, or any singleattack increment) it takes 3.1160 expertise skill.
These correspond to 41.5745 and 25.5438 dodge rating respectively, or 0.5687% and 0.3506% dodge percent (again using my default gear set). Those correspond to 0.9078 attacks dodged (for 0.5687%) and 0.5596 attacks dodged (for 0.3506%) respectively, given 159 attacks.
However, comparing the 0.5596 attacks dodged to the 1 attack guaranteed to never happen due to expertise isn't correct either, since we'll avoid 60% of those extra attacks. So expertise is really only preventing 0.4 attacks from landing, whereas the dodge is preventing 0.5596. The difference is that expertise prevents the 0.4 attacks that would land in rapid succession to another attack, which may or may not be avoided but inevitably end up being more spiky damage.
I've uploaded a quick mfile that runs through the calculation step by step for those interested:
calc_expertise_mitigation.m. Nothing fancy, but it does go through step by step so you can follow and doublecheck the math.
Short summary, provided all of this is correct, and all of it for a single target:
 Expertise is about 75% as effective as dodge rating for reducing incoming damage (0.21% reduction for 1 expertise skill, compared to 0.28% reduction for an equivalent amount of dodge rating at reasonable DR levels).
 Expertise is about 71% as effective as dodge rating for reducing the number of incoming attacks that connect (0.4 attacks for 3.116 expertise skill, compared to 0.5596 for an equivalent amount of dodge rating).
 Each point of expertise rating also gives us about 1/3 of a point of STR in threat above the dodge softcap (see the stat post in the MATLAB thread linked earlier).
And of course, none of this changes the point that Jasari raised, which is that this is all for a single boss we're attacking. If we have multiple mobs attacking us, the value of dodge gets better while expertise does not.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7716
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Calculating the avoidance value of expertise
Nadir wrote:How would the mitigation value of expertise change if HotR per 6 seconds and the SoV application/refreshes by melee hits and HotR are taken into account?
Funny you should ask that while I spent the last hour or so working that out.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7716
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Calculating the avoidance value of expertise
Thanks for all of the work.
Just for reference in ToC and Ulduar gear, it's certainly possible for a Paladin to hit 56 expertise skill while gearing completely towards effective health.
Expertise rating per piece:
Fortitude of the Eternal (neck): 48
Liadrin's Shoulderguards of Triumph (shoulders): 43
Hauberk of Towering Monstrosity (chest): 69
Legplates of Feverish Dedication (legs): 69
Sorthalis (main hand): 32
Fate's Clutch (ring1): 41
Platinum Band of the Aesir (ring2): 42
Total expertise rating from gear: 344
Gear: 41 expertise skill
SoV Glyph: 10 expertise skill
Combat Expertise: 6 expertise skill
Total: 57 expertise skill
So just slightly above the hard cap. There are a few other slots with expertise alternatives as well, such as the ilvl 245 Val'kyr bracers or the ilvl 239 Mimiron cloak.
Just for reference in ToC and Ulduar gear, it's certainly possible for a Paladin to hit 56 expertise skill while gearing completely towards effective health.
Expertise rating per piece:
Fortitude of the Eternal (neck): 48
Liadrin's Shoulderguards of Triumph (shoulders): 43
Hauberk of Towering Monstrosity (chest): 69
Legplates of Feverish Dedication (legs): 69
Sorthalis (main hand): 32
Fate's Clutch (ring1): 41
Platinum Band of the Aesir (ring2): 42
Total expertise rating from gear: 344
Gear: 41 expertise skill
SoV Glyph: 10 expertise skill
Combat Expertise: 6 expertise skill
Total: 57 expertise skill
So just slightly above the hard cap. There are a few other slots with expertise alternatives as well, such as the ilvl 245 Val'kyr bracers or the ilvl 239 Mimiron cloak.
 Nadir
 Posts: 266
 Joined: Mon May 04, 2009 8:37 am
Re: Calculating the avoidance value of expertise
Thought I should note here that the formula I used for parryhaste is only slightly correct. It's technically the "first Born approximation" version, which means that it replaces a true iterative value with an approximate, firstorder one to find the solution. It's usually used to turn something that's not analytically solvable into something that is.
In our case, the "player_swing_speed" variable is the approximate value, since that is also affected by parry haste recursively. To treat the problem more exactly, we'd have to do a few iterations where we modify player_swing_speed by the parry haste factor, recalculate the new parry haste factor, and then lather, rinse, repeat.
One of the other contributors who's been spending a lot of time helping me debug and correct errors in the MATLAB code and I are working on updated code that should perform this iteration to make the result converge, which should give slightly more exact numbers for the MATLAB simulations. When I'm sure we have it working properly, I'll update the code for this example and run it again just to see how much of a change it makes (probably not much, from his numerical testing it converges in about 3 iterations anyway).
In our case, the "player_swing_speed" variable is the approximate value, since that is also affected by parry haste recursively. To treat the problem more exactly, we'd have to do a few iterations where we modify player_swing_speed by the parry haste factor, recalculate the new parry haste factor, and then lather, rinse, repeat.
One of the other contributors who's been spending a lot of time helping me debug and correct errors in the MATLAB code and I are working on updated code that should perform this iteration to make the result converge, which should give slightly more exact numbers for the MATLAB simulations. When I'm sure we have it working properly, I'll update the code for this example and run it again just to see how much of a change it makes (probably not much, from his numerical testing it converges in about 3 iterations anyway).
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7716
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Calculating the avoidance value of expertise
Has it been established that the parrying of the dot application actually hastes the mob's swing?
 Amaranthea
 Posts: 178
 Joined: Tue Feb 10, 2009 12:10 pm
Re: Calculating the avoidance value of expertise
Amaranthea wrote:Has it been established that the parrying of the dot application actually hastes the mob's swing?
No, not empirically. It's been shown that it can be parried, but I didn't check the log to see if the next attack had been hasted.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Simcraft 6.x, Call to Arms 6.0, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7716
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Calculating the avoidance value of expertise
It looks likely that it does based on an example from Auriaya last night. Her normal swing timer is 2.0 right (2.4 with jotj)? (The log has tons of faster swings but I assume we were parryhasting the crap out of her.)
I found a segment with only a Holy Vengeance application parry and a rogue parry ~.1 before the actual swing which should have had no effect where the swings are separated by 1.4 seconds, which suggests the dot application parries are hasting.
I found a segment with only a Holy Vengeance application parry and a rogue parry ~.1 before the actual swing which should have had no effect where the swings are separated by 1.4 seconds, which suggests the dot application parries are hasting.
 Amaranthea
 Posts: 178
 Joined: Tue Feb 10, 2009 12:10 pm
Re: Calculating the avoidance value of expertise
Apart from Auriaya, what bosses in current content parry haste? I usually DPS that fight and stay behind her until the sonic screech cast, so the odds of finding a parry on a SoV application in my logs aren't great. I've got a feeling Vezax doesn't, nor steelbreaker. Not tanked XT recently, though I think he might.
Last edited by Rhiannon on Wed Aug 26, 2009 5:16 pm, edited 1 time in total.
 Rhiannon
 Posts: 1061
 Joined: Mon Mar 03, 2008 8:17 am
Re: Calculating the avoidance value of expertise
Is this taking into consideration that not all parries lead to a hasted attack? As I understand if anyone has 20% to go on its swing timer and they parries an attack they gain no benefit.
 Spamdrew
 Posts: 102
 Joined: Fri Jun 20, 2008 8:26 am
Re: Calculating the avoidance value of expertise
Spamdrew wrote:Is this taking into consideration that not all parries lead to a hasted attack? As I understand if anyone has 20% to go on its swing timer and they parries an attack they gain no benefit.
When you parry an attack, the remaining time on your current swing is reduced by 40% of your weapon speed, unless this would result in a reduction to less than 20% of your swing time remaining  quoted directly from wowwiki.
I do believe the boss parry haste mechanics although the same as player parry haste, I'm sure I remember reading something way back (when I was still playing my Prot Warrior and expertise was released making me rather happy) to suggest they got a little extra from their parry haste than we do as players. But I don't have a source for that and I'm likely to be wrong on that one.
 Wardari
 Posts: 45
 Joined: Tue Apr 28, 2009 2:32 am
Re: Calculating the avoidance value of expertise
Theck, I was wondering why you take a boss swing speed of 2.0 seconds. Since this is about paladins tanking the boss, I would assume you have a 100% uptime of JotJ and thus the base swing speed would be 2.4 seconds.

Gamingdevil  Posts: 1738
 Joined: Mon Jan 14, 2008 8:16 am
 Location: Belgium
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: No registered users and 1 guest