Some preliminary conclusions concerning avoidance in 3.2
Moderators: Fridmarr, Worldie, Aergis, theckhd
Some preliminary conclusions concerning avoidance in 3.2
Dodge Rating: The amount of dodge rating required per percentage of dodge has been increased by 15%. This is before diminishing returns. Combined with other changes, this makes dodge rating and parry rating equally potent before diminishing returns apply.
Parry Rating: The amount of parry rating required per percentage of parry has been reduced by 8%. This is before diminishing returns. Combined with other changes, this makes dodge rating and parry rating equally potent before diminishing returns apply. Parry still diminishes more quickly than dodge.
This really does make them equally potent before DR:
Dodge rating per 1% dodge before DR in 3.2 = 39.34798813*1.15 = 45.2501863
Parry rating per 1% dodge before DR in 3.2 = 49.18498611*.92 = 45.2501872
Round to the nearest 100,000th and you don't notice a difference.
Now, notice that the PTR notes say nothing about changing the preDR contribution of defense to dodge and parry. Let us assume that the conversion rate for defense skill to avoidance remains the same preDR, i.e., 1 Defense skill = .04% dodge + .04% parry. In that case, at 540 defense you will have already diminished dodge and parry to the following point, assuming 0 dodge rating, 0 parry rating, and 0 agility (not a realistic assumption):
Dodge from 8 rating at 540 def = 0.16227908
Parry from 8 rating at 540 def = 0.14570712
Avoidance from 8 additional defense rating at 540 def = 0.14988443 (included for the sake of comparison, although I'm treating avoidance per defense rating as a continuous rather than stepwise functionnote that this does not include block)
So dodge is definitely better than parry. Now we can ask, at what point does a parry gem become as good as a dodge gem? That is, if we hold constant 540 defense, 0 agility, and 0 parry rating, at what level of dodge rating does dodge diminish to the point that parry catches up? If I've done the math right, the answer to that question is the solution to the following equation:
 Code: Select all
1/(0.011347 + (.9560/(5.6 + ((x + 8)/45.2501863))))  1/(0.011347 + (.9560/(5.6 + (x/45.2501863)))) = 0.14570712
The (positive) solution to this (quadratic) equation happens to be 225.207. (Edit: PreDR, that's about 5% dodge.)
That's definitely attainable.
Of course, the assumptions required to get that number are not useful assumptions. No one will have 0 dodge from agility while raid buffed, even if you have 0 agility on your gear. This means that for a raidbuffed toon with 0 parry rating and 540 defense will, parry rating will catch up to dodge at some point before 225.207 dodge rating. However, since parry diminishes faster than dodge, for a character with more than 540 defense and/or equal positive amounts of dodge/parry rating, parry will catch up to dodge at some point after 225.207 additional dodge rating (assuming again 0 agility).
So don't use that number to actually predict when you want to switch from dodge to parry gems (IMO you'll want agility/stam gems in red slots anyway in 3.2). What use is this number then? At least it demonstrates that the crossover point where parry catches up to dodge because of diminishing returns will probably actually be attainable with gear sets a tank might realistically wear. But although I can do algebra, I'm not particularly felicitous with spreadsheets, so I'll leave it up to someone else to make fancy graphs showing the crossover point under different conditions.
 Modal
 Posts: 557
 Joined: Thu Jan 24, 2008 1:36 am
Re: Some preliminary conclusions concerning avoidance in 3.2
Let's see how things look in my current gear set (not BiS by any means, but a decent mix of Ulduar 10 & 25 gear).
I have (raid buffed, according to Rawr):
542 Defense
492 Dodge Rating
318 Agility from gear & raid buffs (that's Horn of Winter, no Imp. SoE totem, Imp. MotW, and BoK, plus Agi enchants on glove & weapon and 1 agi/stam gem)
282 Parry Rating
In 3.1 that translates to (again going by Rawr):
29.66% Dodge
19.52% Parry
In 3.2 that will change to:
28.0968466% Dodge
19.8492978% Parry
Now, socketing a stam/avoidance gem will increase these percentages by the following amounts:
+8 Dodge Rating adds .1163862% Dodge
+8 Agility adds .0967476% Dodge (w/ Kings)
+8 Parry Rating adds .115191% Parry
+8 Defense Rating adds .1214253% Avoidance
Surprisingly, Defense Rating comes out on top for me. The difference between Dodge Rating and Parry Rating is small enough that it wouldn't even show up after rounding to the nearest 100th, though Dodge is still slightly better.
I'm trying to figure out how much Dodge Rating I'd have to add to get Parry Rating caught up, but for some reason the calculation isn't coming out right and I'm too tired to figure out where I went wrong. So I'll just post this data, and observe that adding just 50 Dodge Rating would make the contribution from the next 8 Dodge rating a mere .1140017%, which is already less than I'd get from adding 8 Parry rating.
I have (raid buffed, according to Rawr):
542 Defense
492 Dodge Rating
318 Agility from gear & raid buffs (that's Horn of Winter, no Imp. SoE totem, Imp. MotW, and BoK, plus Agi enchants on glove & weapon and 1 agi/stam gem)
282 Parry Rating
In 3.1 that translates to (again going by Rawr):
29.66% Dodge
19.52% Parry
In 3.2 that will change to:
28.0968466% Dodge
19.8492978% Parry
Now, socketing a stam/avoidance gem will increase these percentages by the following amounts:
+8 Dodge Rating adds .1163862% Dodge
+8 Agility adds .0967476% Dodge (w/ Kings)
+8 Parry Rating adds .115191% Parry
+8 Defense Rating adds .1214253% Avoidance
Surprisingly, Defense Rating comes out on top for me. The difference between Dodge Rating and Parry Rating is small enough that it wouldn't even show up after rounding to the nearest 100th, though Dodge is still slightly better.
I'm trying to figure out how much Dodge Rating I'd have to add to get Parry Rating caught up, but for some reason the calculation isn't coming out right and I'm too tired to figure out where I went wrong. So I'll just post this data, and observe that adding just 50 Dodge Rating would make the contribution from the next 8 Dodge rating a mere .1140017%, which is already less than I'd get from adding 8 Parry rating.
 Modal
 Posts: 557
 Joined: Thu Jan 24, 2008 1:36 am
Re: Some preliminary conclusions concerning avoidance in 3.2
Modal wrote:IMO you'll want agility/stam gems in red slots anyway in 3.2
If I look at this purely from an avoidance point of view (trying to get block capped without focusing on block rating), is this really true? I'd thought I'd still be sticking to Sta/Dodge gems due to Parry still being present on our gear and having a higher diminishing return.
If stuff stays as it is, defense rating became even more awesome for avoidance? If we have more than 540 defense, say 590 or so, is it correct to assume that Parry suffers even more from DR than Dodge does, so at that point, we still want Dodge over Parry?

Thels  Posts: 1170
 Joined: Tue May 15, 2007 7:30 am
 Location: The Netherlands
Re: Some preliminary conclusions concerning avoidance in 3.2
Candiru wrote:If you want block capped, use defence.
That's obvious, except for what to put into the red gem slots.

Thels  Posts: 1170
 Joined: Tue May 15, 2007 7:30 am
 Location: The Netherlands
Re: Some preliminary conclusions concerning avoidance in 3.2
well if going for blockcap you still want to stick 16def into red gem sockets
Or Dodge/def if you really want the bonus.
parry/def would be better in hypothetical gear without parry rating that doesn't exist other than blues.
Or Dodge/def if you really want the bonus.
parry/def would be better in hypothetical gear without parry rating that doesn't exist other than blues.
 Candiru
 Posts: 2479
 Joined: Mon May 28, 2007 12:21 pm
Re: Some preliminary conclusions concerning avoidance in 3.2
Candiru wrote:parry/def would be better in hypothetical gear without parry rating that doesn't exist other than blues.
Did you even read my post? Parry is better than dodge in my current, actual gear plus less than 50 additional dodge rating. If I replaced, say, my current Kyzoc's boots with Charred Saronite Greaves (an upgrade I've been looking for), I'd likely be past the crossover point where gemming for Parry makes more sense for stacking avoidance.
If I look at this purely from an avoidance point of view (trying to get block capped without focusing on block rating), is this really true? I'd thought I'd still be sticking to Sta/Dodge gems due to Parry still being present on our gear and having a higher diminishing return.
My point about preferring Agility (though I didn't spell it out) was that with the relative value of stacking avoidance being nerfed overall, it will make even more sense to focus strictly on EH, and Agility sacrifices a small amount of Dodge (about .02% per gem, in my case) for some armor. Again, there will be actually attainable gear and even good gear sets in which, if you are stacking purely avoidance, Defense or Parry Rating will be preferable to Dodge Rating.
If stuff stays as it is, defense rating became even more awesome for avoidance? If we have more than 540 defense, say 590 or so, is it correct to assume that Parry suffers even more from DR than Dodge does, so at that point, we still want Dodge over Parry?
Defense rating does not become more awesome for avoidance, but it does become relatively speaking better. However, once you get very much over 540, it won't be the best stat anymore, because miss diminishes at a crazily high rate. The only reason Defense is best for me is because I have only .08% additional miss over the minimum (before DR), so it's diminished less than dodge and parry, which I have a ton of.
You're also right that stacking Defense rating will diminish the contributions of parry. At 590 Defense (which is higher than you should ever reasonably have, IMO), the crossover point will be further out, but it will still exist. Probably it won't be attainable, but then I'm not sure there's a reasonable and attainable gear set that would grant 590 Defense, either.
 Modal
 Posts: 557
 Joined: Thu Jan 24, 2008 1:36 am
Re: Some preliminary conclusions concerning avoidance in 3.2
P.S. Sorry my armory currently shows my ret gear, so you can't actually look at my stats. I'm out of town for a few days so it's likely to stay that way for now.
 Modal
 Posts: 557
 Joined: Thu Jan 24, 2008 1:36 am
Re: Some preliminary conclusions concerning avoidance in 3.2
Modal wrote:
 Code: Select all
1/(0.011347 + (.9560/(5.6 + ((x + 8)/45.2501863))))  1/(0.011347 + (.9560/(5.6 + (x/45.2501863)))) = 0.14570712
I think there may be a mistake in your equation. I see you are using the same C value for both dodge and parry. Shouldn't you be using different C values for different types of avoidance?
EDIT:
Actually, looking at your equation, it isn't really doing what you want it to do. You can't really assume the difference will be 0.14570712 at every level of dodge and parry.
Realistically, if you are equating them (meaning using the same amount of avoidance for both the dodge and the parry curves), then there will never be a solution, as the curves do not cross, parry will always be under dodge in that scenario. The only way to get an equation with a solution is to have one where you have different base parry and dodge ratings. If the base dodge rating is high enough in comparison to the base parry amount, you will find a crossover point.
The equation you were probably meaning to solve is
Yp(x+8)Yp(x) = Yd(x+8)Yd(x)
this equation tells equates the amount of avoidance gained from +8 parry rating (for any value of x) to the amount of avoidance gained from +8 dodge rating (for any value of x). I will go ahead and tell you the roots of that equation are around 0.088, 58.705, which means there is no solution as you cannot have negative rating.
Last edited by jere on Wed Jul 08, 2009 7:37 am, edited 1 time in total.

jere  Posts: 2949
 Joined: Fri May 11, 2007 5:12 pm
Re: Some preliminary conclusions concerning avoidance in 3.2
I'm currently (as in right now) coding a MATLAB simulation to answer this question. I'll post in a few hours (hopefully) when I have results.
If anyone wants to help me along, a link to the base (i.e. naked, unaffected by DR) dodge/parry/miss values for a lvl 80 of each class against a lvl 83 raid boss would be helpful. Otherwise I'll have to try and dig it up myself from tankspot.
<edit> Jere, Modal, and any others who want to check my work: Here's a link to the function that does all the grunt work of taking the input dodge, parry, and defense ratings as well as agility, and calculates pre and postDR percentages.
http://sites.google.com/site/theckhd/mfiles/avoid_dr.m
Here's the full text of the current version, in case the link is blocked for some reason:
Right now I'm working on the calculation file, which will call this function for large arrays of parry/dodge/defense/agil values to determine what's better for a particular situation and try and determine the ideal ratios.
<edit> updated the code slightly, made all of the conversions multiplicative for consistency, and fixed the agility modifier (it was still using the old one). I still need the new agility modifiers for warr/dk/druid, the ones in this file are the old ones from this tankspot article
If anyone wants to help me along, a link to the base (i.e. naked, unaffected by DR) dodge/parry/miss values for a lvl 80 of each class against a lvl 83 raid boss would be helpful. Otherwise I'll have to try and dig it up myself from tankspot.
<edit> Jere, Modal, and any others who want to check my work: Here's a link to the function that does all the grunt work of taking the input dodge, parry, and defense ratings as well as agility, and calculates pre and postDR percentages.
http://sites.google.com/site/theckhd/mfiles/avoid_dr.m
Here's the full text of the current version, in case the link is blocked for some reason:
 Code: Select all
function [dodgedr parrydr missdr totavoid] = avoid_dr(dodge,parry,defense,agi,class)
%AVOID_DR calculates the amount of avoidance received from all sources
%after diminishing returns. It takes five inputs, in order:
%dodge = dodge rating from gear
%parry = parry rating from gear
%defense = defense rating from gear
%agi = agility from *all sources*
%class = (optional) a string representing the class. Default is 'paladin',
% but the code can handle 'warrior', 'deathknight', and 'druid' as
% well as some other variations on those ('warr', 'dk', etc).
%NOTE THAT THIS COMPLETELY IGNORES SOURCES OF AVOIDANCE THAT ARE NOT
%SUBJECT TO DIMINISHING RETURNS. This includes talents, racials, and base
%(naked) avoidance. You have to add them in by hand to the output of this
%function.
%% Constants
%rating conversions
defense_rating_to_skill=1./4.91850;
defense_skill_to_percent=0.04;
dodge_rating_to_percent=1./45.25018635;
parry_rating_to_percent=1./45.25018722;
defense_rating_to_percent=1./40.98748366;
%class constants  notation from
%http://www.tankspot.com/forums/f63/40003diminishingreturnsavoidance.html
%DR bounds (k)
k_plate=0.956; %k for plate
k_druid=0.972; %k for druids
%Caps (k)
c_dodge_plate=88.1219021; %c_dodge for plate
c_parry_plate=47.003525; %c_parry for plate
c_miss_plate =16; %c_miss for plate
c_dodge_druid=116.890707; %c_dodge for druids
%Agility to dodge conversions
agi_to_dodge_percent_pally =1./54.45075757; %new dodge percent from agi for paladins (after kings)
% agi_to_dodge_percent_pally = 0.019200; %old dodge percent from agi for paladins
agi_to_dodge_percent_warr_dk=0.013600; %old dodge percent from agi for warriors/dk
agi_to_dodge_percent_druid=0.024000; %old dodge percent from agi for druids
%% Class choice
%by default, this simulation assumes a paladin. A fifth, optional argument
%allows for other classes to be specified.
if nargin < 5  ( nargin==5 && ( strcmp(class,'Paladin')  strcmp(class,'paladin')  strcmp(class,'pally')  strcmp(class,'pal') ) )
k=k_plate;
c_dodge=c_dodge_plate;
c_parry=c_parry_plate;
c_miss=c_miss_plate;
agi_to_dodge_percent=agi_to_dodge_percent_pally;
elseif nargin == 5 && (strcmp(class,'Warrior')  strcmp(class,'warrior')  strcmp(class,'warr')  strcmp(class,'war')  ...
strcmp(class,'Death Knight')  strcmp(class,'death knight')  strcmp(class,'DeathKnight')  strcmp(class,'deathknight')  strcmp(class,'dk'))
k=k_plate;
c_dodge=c_dodge_plate;
c_parry=c_parry_plate;
c_miss=c_miss_plate;
agi_to_dodge_percent=agi_to_dodge_percent_warr_dk;
elseif nargin ==5 && (strcmp(class,'Druid')  strcmp(class,'druid')  strcmp(class,'dru')  strcmp(class,'drood'))
k=k_druid;
c_dodge=c_dodge_druid;
c_parry=0;
c_miss=c_miss_plate; %probably not worth bothering with? Not sure if the druid value is 16
agi_to_dodge_percent=agi_to_dodge_percent_druid;
else
error('Class string not understood! Please use the full name of the class for best results (e.g. warrior, paladin, deathknight, druid)')
end
%% Calculate avoidance values
%quick conversions
def_skill = defense.*defense_rating_to_skill; %convert def rating to skill
%Dodge
total_dodge = def_skill.*defense_skill_to_percent + ... %dodge from defense
dodge.*dodge_rating_to_percent + ... %dodge from dodge rating
agi.*agi_to_dodge_percent;
dodgedr = 1./(1./c_dodge + k./total_dodge); %Dodge after DR
%Parry
total_parry = def_skill.*defense_skill_to_percent + ... %parry from def
parry.*parry_rating_to_percent; %parry from parry rating
parrydr = 1./(1./c_parry + k./total_parry); %parry after DR
%Miss
total_miss = def_skill.*defense_skill_to_percent; %miss from defense
missdr = 1./(1./c_miss + k./total_miss); %miss after DR
%total avoidance
totavoid=dodgedr+parrydr+missdr;
end
Right now I'm working on the calculation file, which will call this function for large arrays of parry/dodge/defense/agil values to determine what's better for a particular situation and try and determine the ideal ratios.
<edit> updated the code slightly, made all of the conversions multiplicative for consistency, and fixed the agility modifier (it was still using the old one). I still need the new agility modifiers for warr/dk/druid, the ones in this file are the old ones from this tankspot article
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7655
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Some preliminary conclusions concerning avoidance in 3.2
Ok, here are some preliminary results. First of all, here are the mfiles used:
http://sites.google.com/site/theckhd/mf ... avoid_dr.m
http://sites.google.com/site/theckhd/mfiles/avoid_dr.m
http://sites.google.com/site/theckhd/mf ... d_inc_dr.m
The calc file contains all of the logic for the investigation. avoid_dr is a utility function that calculates net avoidance after diminishing returns, and avoid_inc_dr is a utility function that determines how much avoidance one gains from 8 rating points of dodge, parry, defense, or agility for a particular set of input values.
First, let's look at the raw diminishing returns progression. For this we'll assume we start with a base of 0 of any rating or stat from gear. We just want to know how each rating is affected by the diminishing returns function.
As you can see, Defense Rating is least affected by DR, followed by dodge. Agility is only about 80% effective point for point towards dodge rating, as expected. Parry and Agility switch places after around 885 parry rating. We can replot these results so that instead of total avoidance, we see the amount of avoidance per 8 ipoints (i.e. a rare quality gem with 8 dodge, parry, or defense rating or 8 agility):
Again, the results are basically unchanged, though the crossover for agility and parry is lower here (at around 380). This makes perfect sense, by the way; the last graph was telling us that 885 parry gives the same amount of avoidance as 885 agility. If parry starts out better, it obviously has to get worse per point much earlier than 885 so that agility can catch up.
Of course, neither of these graphs tell us anything particularly interesting. We already knew parry had harsher diminishing returns than dodge, and each of these plots is taken in a vacuum  in other words, with 0 of each of the other ratings. This is a terrible assumption right out of the starting gate, since a tank is going to gear for 689 defense before he even starts worrying about dodge or parry.
As a first approximation, let's assume that we're starting with 689 defense from gear, and rerun the calculation for each additional point of rating:
The addition of critimmunity changes things considerably. Now Dodge is the clear winner initially, and parry is already lagging behind. Again though, the story this tells us is rather limited. According to this, if we add about 160 dodge rating, another 8 points of dodge rating will be roughly equivalent to 8 points of defense. But of course, that 160 dodge rating has already decreased the value of the dodge contribution from defense, so the comparison isn't strictly valid! Compounding this, we're completely ignoring the dodge we'd be getting from agility buffs.
The inherent problem here is how intertwined dodge, defense, and parry are. Increasing any one directly affects the value of at least one of the others. This makes it very difficult to try and isolate one and examine it. If we were only interested in two things (say dodge and parry), we could make a 3dimensional mesh or surface plot that would tell us the optimum ratio of those two stats as either increases. This would work fine for just dodge or parry, but to include defense we'd need to go to a 4dimensional plot, which is much harder to analyze.
Instead, let's take a different approach. Starting from our base assumption of 689 defense and no other stats from gear, we can calculate which stat gives us the biggest avoidance boost from 8 points of rating. The previous plot has already shown us this will be dodge, so for our first iteration, we'll add 8 dodge rating to our gear set. Now we have 8 dodge rating, 0 parry rating, 689 defense rating, and 0 Agility. I'm going to ignore Agility for the moment, since it will always be strictly inferior to dodge for raw avoidance  we'll leave the EH benefits of Agility for another discussion.
We'll then rerun the DR formulas to see which stat is best, and repeat the process. If our next iteration shows parry as better, we add 8 parry rating, and so forth. We repeat this until we find the point where all three are giving roughly the same amount of avoidance. For the first 70 iterations, this is what the plot looks like:
We see that the noticeable lead dodge had in the earlier plots manifests itself here. We end up adding only dodge rating for the first 30 iterations, for a total of 232 dodge rating. The bottom plot shows that this is the point where Dodge and Parry are both giving nearly identical contributions. We'll keep a running tally so we can see where this is going:
On iteration 31, we start adding parry rating as well. We see that we only add dodge and parry in a 1.75:1 ratio until iteration 53, where we see our first 8 points of defense. It's a little hard to see from the bottom plot this time, but that's exactly where DR brings dodge and parry down to the same level as defense. At iteration 52, we have 344 dodge rating and 64 parry rating. In percentages, that's 11.94% dodge and 6.3% parry from gear (also 4.29% miss from the defense).
To continue any further, we need to run the simulation for more iterations. Here's the result for 500 iterations:
It's harder to see what's going on at the beginning here, but we very clearly have what looks like a linear progression for each stat with different slopes corresponding to their relative amounts. The bottom plot also clearly shows all three adding almost identical amounts of avoidance per 8 rating, indicating that the simulation is working properly.
If we take the values out at 500 iterations, and subtract off the values at around 100 iterations, we can calculate the ratios in which we want to add the values. Between iteration 100 and 500, we've added 1496 dodge rating, 1096 defense rating, and 608 parry rating, for a ratio of 2.46 : 1.80 : 1 dodge : defense : parry.
Let's see how sensitive this is to initial conditions. Remember how we ignored the fact that when we're raidbuffed, we'll have some dodge from Agility? Let's add that into the mix. This time, we'll start with 300 agility from buffs and 689 defense rating. The plot and table then look like this:
This time parry is the best initially, at least briefly, and then parry and doge are added in a 3:2 ratio until we hit the point where defense enters the mix. This works out to 11.96% dodge and 6.35% parry, very close to the numbers we found before. As expected, the agility just takes the place of some of the dodge rating we had to add in the first example. The ratio we get this time is 2.45 : 1.82 : 1 dodge : defense : parry, very similar to the last calculation.
Assuming we get 10% dodge and parry from base+talents, and 1.65% dodge from our 90 base agility at level 80, that means that the ideal gearing progression would be to:
http://sites.google.com/site/theckhd/mf ... avoid_dr.m
http://sites.google.com/site/theckhd/mfiles/avoid_dr.m
http://sites.google.com/site/theckhd/mf ... d_inc_dr.m
The calc file contains all of the logic for the investigation. avoid_dr is a utility function that calculates net avoidance after diminishing returns, and avoid_inc_dr is a utility function that determines how much avoidance one gains from 8 rating points of dodge, parry, defense, or agility for a particular set of input values.
First, let's look at the raw diminishing returns progression. For this we'll assume we start with a base of 0 of any rating or stat from gear. We just want to know how each rating is affected by the diminishing returns function.
As you can see, Defense Rating is least affected by DR, followed by dodge. Agility is only about 80% effective point for point towards dodge rating, as expected. Parry and Agility switch places after around 885 parry rating. We can replot these results so that instead of total avoidance, we see the amount of avoidance per 8 ipoints (i.e. a rare quality gem with 8 dodge, parry, or defense rating or 8 agility):
Again, the results are basically unchanged, though the crossover for agility and parry is lower here (at around 380). This makes perfect sense, by the way; the last graph was telling us that 885 parry gives the same amount of avoidance as 885 agility. If parry starts out better, it obviously has to get worse per point much earlier than 885 so that agility can catch up.
Of course, neither of these graphs tell us anything particularly interesting. We already knew parry had harsher diminishing returns than dodge, and each of these plots is taken in a vacuum  in other words, with 0 of each of the other ratings. This is a terrible assumption right out of the starting gate, since a tank is going to gear for 689 defense before he even starts worrying about dodge or parry.
As a first approximation, let's assume that we're starting with 689 defense from gear, and rerun the calculation for each additional point of rating:
The addition of critimmunity changes things considerably. Now Dodge is the clear winner initially, and parry is already lagging behind. Again though, the story this tells us is rather limited. According to this, if we add about 160 dodge rating, another 8 points of dodge rating will be roughly equivalent to 8 points of defense. But of course, that 160 dodge rating has already decreased the value of the dodge contribution from defense, so the comparison isn't strictly valid! Compounding this, we're completely ignoring the dodge we'd be getting from agility buffs.
The inherent problem here is how intertwined dodge, defense, and parry are. Increasing any one directly affects the value of at least one of the others. This makes it very difficult to try and isolate one and examine it. If we were only interested in two things (say dodge and parry), we could make a 3dimensional mesh or surface plot that would tell us the optimum ratio of those two stats as either increases. This would work fine for just dodge or parry, but to include defense we'd need to go to a 4dimensional plot, which is much harder to analyze.
Instead, let's take a different approach. Starting from our base assumption of 689 defense and no other stats from gear, we can calculate which stat gives us the biggest avoidance boost from 8 points of rating. The previous plot has already shown us this will be dodge, so for our first iteration, we'll add 8 dodge rating to our gear set. Now we have 8 dodge rating, 0 parry rating, 689 defense rating, and 0 Agility. I'm going to ignore Agility for the moment, since it will always be strictly inferior to dodge for raw avoidance  we'll leave the EH benefits of Agility for another discussion.
We'll then rerun the DR formulas to see which stat is best, and repeat the process. If our next iteration shows parry as better, we add 8 parry rating, and so forth. We repeat this until we find the point where all three are giving roughly the same amount of avoidance. For the first 70 iterations, this is what the plot looks like:
We see that the noticeable lead dodge had in the earlier plots manifests itself here. We end up adding only dodge rating for the first 30 iterations, for a total of 232 dodge rating. The bottom plot shows that this is the point where Dodge and Parry are both giving nearly identical contributions. We'll keep a running tally so we can see where this is going:
 Code: Select all
Iteration Dodge Defense Parry
0 0 689 0
30 232 689 0
On iteration 31, we start adding parry rating as well. We see that we only add dodge and parry in a 1.75:1 ratio until iteration 53, where we see our first 8 points of defense. It's a little hard to see from the bottom plot this time, but that's exactly where DR brings dodge and parry down to the same level as defense. At iteration 52, we have 344 dodge rating and 64 parry rating. In percentages, that's 11.94% dodge and 6.3% parry from gear (also 4.29% miss from the defense).
 Code: Select all
Iteration Dodge Defense Parry
0 0 689 0
30 232 689 0
52 344 689 64
To continue any further, we need to run the simulation for more iterations. Here's the result for 500 iterations:
It's harder to see what's going on at the beginning here, but we very clearly have what looks like a linear progression for each stat with different slopes corresponding to their relative amounts. The bottom plot also clearly shows all three adding almost identical amounts of avoidance per 8 rating, indicating that the simulation is working properly.
If we take the values out at 500 iterations, and subtract off the values at around 100 iterations, we can calculate the ratios in which we want to add the values. Between iteration 100 and 500, we've added 1496 dodge rating, 1096 defense rating, and 608 parry rating, for a ratio of 2.46 : 1.80 : 1 dodge : defense : parry.
Let's see how sensitive this is to initial conditions. Remember how we ignored the fact that when we're raidbuffed, we'll have some dodge from Agility? Let's add that into the mix. This time, we'll start with 300 agility from buffs and 689 defense rating. The plot and table then look like this:
 Code: Select all
Iteration Dodge Defense Parry
0 0 689 0
3 0 689 16
21 96 689 64
This time parry is the best initially, at least briefly, and then parry and doge are added in a 3:2 ratio until we hit the point where defense enters the mix. This works out to 11.96% dodge and 6.35% parry, very close to the numbers we found before. As expected, the agility just takes the place of some of the dodge rating we had to add in the first example. The ratio we get this time is 2.45 : 1.82 : 1 dodge : defense : parry, very similar to the last calculation.
Assuming we get 10% dodge and parry from base+talents, and 1.65% dodge from our 90 base agility at level 80, that means that the ideal gearing progression would be to:
 Add dodge and parry until we reach around 23.6% dodge and 16.35% parry fully raid buffed (96 dodge rating, 64 parry rating, or 11.96% dodge and 6.35% parry from gear alone)
 Add dodge, defense, and parry rating in a 2.4 : 1.8 : 1 ratio.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7655
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Re: Some preliminary conclusions concerning avoidance in 3.2
Jesus Christ. Thanks Theck. I'm going to go do something with this headache now.

GrehnSkipjack  Maintankadonor
 Posts: 4529
 Joined: Tue May 27, 2008 8:53 am
 Location: Malorne
Re: Some preliminary conclusions concerning avoidance in 3.2
YES!
Thank you very much.
Thank you very much.
 Playdoh
 Maintankadonor
 Posts: 598
 Joined: Thu May 29, 2008 10:55 am
 Location: VA
Re: Some preliminary conclusions concerning avoidance in 3.2
I'm probably totally misunderstanding this, but a rough calculation is telling me from my current stats I would need to drop ~100 dodge rating for ~45 defense and ~55 parry to get near this ratio of 2.4:1.8:1 (actually ended up approx 2.7:1.9:1).
I'm not sure I started with the right numbers though. I took my current ratings (765, 376, 74) and subtracted 689 def, 96 dodge, and 64 parry then swapped out dodge 8 at a time and checked ratios each step  is that right (ignoring the real number for my agi and using Theck's)? Doesn't feel right that I'd need to swap in so much parry for ideal avoidance, I wouldn't have thought my dodge was high enough to warrant it.
I'm not sure I started with the right numbers though. I took my current ratings (765, 376, 74) and subtracted 689 def, 96 dodge, and 64 parry then swapped out dodge 8 at a time and checked ratios each step  is that right (ignoring the real number for my agi and using Theck's)? Doesn't feel right that I'd need to swap in so much parry for ideal avoidance, I wouldn't have thought my dodge was high enough to warrant it.
 KysenMurrin
 Posts: 6661
 Joined: Thu Jun 26, 2008 6:37 am
 Location: UK
Re: Some preliminary conclusions concerning avoidance in 3.2
KysenMurrin wrote:I'm probably totally misunderstanding this, but a rough calculation is telling me from my current stats I would need to drop ~100 dodge rating for ~45 defense and ~55 parry to get near this ratio of 2.4:1.8:1 (actually ended up approx 2.7:1.9:1).
I'm not sure I started with the right numbers though. I took my current ratings (765, 376, 74) and subtracted 689 def, 96 dodge, and 64 parry then swapped out dodge 8 at a time and checked ratios each step  is that right (ignoring the real number for my agi and using Theck's)? Doesn't feel right that I'd need to swap in so much parry for ideal avoidance, I wouldn't have thought my dodge was high enough to warrant it.
That looks like the correct algorithm:
 Take current ratings and subtract out 689 def, 96 dodge, and 64 parry
 Figure out your current ratio of dodge:def:parry
 if one of these is higher than the ideal ratio of 2.4:1.8:1, swap out some of the rating that's above the target ratio for a rating that's below or at the target value.
 Recalculate and lather, rinse, repeat.
The actual value of dodge rating to subtract out is approximate at this point  as you noted I used 300 rather than the exact value. If we can agree on a default buff set that gives an exact value of buffed agility, then I can rerun the simulation to figure out what that target value of dodge rating should correctly be. My guess is that it's not going to be too vastly different, and that if you just aim for the ratio overall you'll be about right.
"Theck, Bringer of Numbers and Pounding Headaches," courtesy of GrehnSkipjack.
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty
MATLAB 5.x, Call to Arms 5.x, Talent Spec & Glyph Guide 5.x, Blog: Sacred Duty

theckhd  Moderator
 Posts: 7655
 Joined: Thu Jul 31, 2008 3:06 pm
 Location: Harrisburg, PA
Return to Advanced Theorycraft and Calculations
Who is online
Users browsing this forum: No registered users and 1 guest