Theorycraftpedia

NOTE: This is an unfinished/soon to be outdated work.

It’s been a draft for almost 9 months, and now that a new expac is coming it’s becoming clear it’s just not going to get finished. I simply don’t have time anymore. I never got around to doing trinket uptime, or the myth of the infinite RP cycle, or other things. I decided to release it in it’s current state, incomplete, because there are still some things in here that can help teach you how to “math things out” that are independent of class, expac, ect. How statistics works isn’t going to change, even if the class does. With that, here is what was supposed to be my legacy as a theorycrafter. May you learn lots, because that’s what I’ve always wanted from this theorycrafting as a whole: to make people learn.

The following was written and left uncomplete in July 2015:


 

I have some sad news. Due to a combination of burnout and class conflict next semester (surprised I made it this far without an evening class to be honest), I have put my raiding career on indefinite hiatus. Perhaps I’ll come back to the game after a while, but at least for next tier and the near future I am in retirement from raiding, and investing my try-hard-gamer time into Starcraft II (platinum league hyyyyyype). I’ll still be around, but I won’t be actively raiding however, and because of that I won’t be maintaining my guides or doing the guide rewrite I was intending to do. Regardless of the future, I do want to thank everyone in the community who either loved or hated (and consequently criticized and improved) my theorycrafting work over the years. As a token of appreciate I leave you with this: a compilation of EVERYTHING related to blood DK theorycrafting I can think to put in. Formulas, how to solve different problems, which angles to tackle new problems, the works. If I end up not coming back from this break, this is to be the legacy I leave. If even one person learns something new about blood dk and the math behind it, then I will consider this post a huge success.

 

Before I begin, I will make one disclaimer. I am a few classes away from a B.S. in Computer Science (and a B.M. in Music Performance, but there won’t be any 4 species counterpoint in this post I promise), so while i’m no stranger to math I’m by no means a mechanical engineer, and I don’t have a PhD in Physics or statistics. Even if something I have isn’t wrong, it may not be the cleanest solution. This stuff is simply the stuff i’ve learned and applied to theorycrafting, and isn’t THE way to do things because there isn’t a “THE way”. Never take anything anyone says for 100% fact until you look at the source yourself, as they may be wrong (as I have been MAAAAANY times). And if you do start doing the math for yourself, don’t let yourself forget that you too can be wrong. The moment you stop believing you can be wrong, is the moment you stop learning.

With that out of the way, here is a bunch of theorycrafting gobbledygook!

 

Let’s start with the basics.

The Basics

What is the goal of theorycrafting?

It’s important to know what you’re actually trying to do. “theorycrafting” covers a wide range of things, ranging from simply hitting a dummy for an hour diligently to get data, or doing high level mathematical analysis to get a theoretical picture of what’s going on. Essentially, theorycrafting is like science. You are presenting a possible solution, and backing it up with some form of evidence, be it logs, math, or simple logic. Just like in science, the important thing is rarely the actual math, but rather the angle you are tackling the problem from, which brings me to my first big basic principle.

it’s possible to be right and still be wrong.

You can have math that is 100% correct and proven completely analytically and by the book, and still be dead wrong. Why? Because the angle with which you were approaching the given problem was incorrect from the start. Let’s take a look at two possible approaches for analyzing Runic Empowerment vs Blood Tap, both using perfectly acceptable math but answering two completely different questions:

Approach 1:

Let’s find the value of Runic Empowerment and compare it to the value of Blood Tap! how do we find it? We look at the overall runes returned (a.k.a. throughput)!

Let’s compare their rune return per Death Coil value. With one death coil with Blood Tap chosen, you will get 2 charges. You need 5 charges for a rune, so each Death Coil is worth 2/5ths, or 40% of a rune. With Runic Empowerment, you will get a full rune (100%) back on every proc, with a 45% chance to proc per Death Coil. This means on average, you will get .45*1 = 45% of a rune per Death Coil with Runic Empowerment.

So to compare:

Blood Tap – 40% of a rune per Death Coil

Runic Empowerment – 45% of a rune per Death Coil

So approach 1 is claiming that Runic Empowerment is better than Blood Tap, and has math to support it. The math is not wrong, and those rune per death coil values are absolutely correct, so why does every guide (that has its shit together at least) claim Blood Tap is better? Let’s look at approach 2.

 

Approach 2:

Let’s compare Runic Empowerment and Blood Tap! We know, that Runic Empowerment provides slightly more rune throughput than Blood Tap, but I have a hunch that it’s not as reliable. So this time i’m going to look at them in terms of reliability.

In order to get benefit from Runic Empowerment, both FU pairs need to be recharging because it only procs on fully depleted runes. This means that until we get our second proc, we will be without a Death Strike. (We will get more into the math here later in the Statistics section, so don’t worry if you don’t follow all of this). Since back to back uses of Death Coil can be classified as Bernoulli trials, (independent and same probability each time), we know the number of successes until the 2nd Runic Empowerment proc follows a negative binomial distribution.

graph2

 

The graph above shows that getting the 2 procs we need should happen sooner rather than later, and the average is going to be 4.44 GCDs (I’ll show how this is calculated in the statistics section), meaning it will take an average of 4.44 seconds to get our FU pair back, assuming we Death Coil on every GCD.

Approach 2 conclusion:

even though Runic Empowerment provides more raw throughput, an average of 4.44 seconds where you can’t Death Strike even in emergencies is pretty terrible. This makes a FAR stronger case for Blood Tap > Runic Empowerment than approach 1 made for Runic Empowerment > Blood Tap, so this is the approach we’ll take, making our official verdict Blood Tap > Runic Empowerment.

 

In BOTH cases, the math was correct. No one forgot to carry the one, and no one added 2+2 to get 5. So why was the first approach so wrong? It came at the problem from the wrong angle. It was ONLY looking for raw throughput, and didn’t put it into context of the bigger picture.

Math is a powerful tool, but not the final word.

Theorycrafting uses math quite a bit, but it’s not the math that makes theorycrafting useful. It’s the angle of attack that makes a solution either wrong or right. The BIGGEST point I want people to take away from this entire post, is that math by itself is useless. You NEED context and a well thought out angle of attack for the problem you’re trying to solve, or you’re not going to get anything useful even if you put all the math in the world behind it.

Formulas

There are lots of random formulas that are essential in modeling anything in game. I’ll list the ones blood DKs care about, and go over them a bit.

Melee swing interval:

math

So at first glance, this looks REALLY messy if you aren’t math-friendly. What the hell even is that symbol on the bottom left!?!?

It’s actually really simple once it’s broken down. the \prod_{i=1}^n symbol means to multiple all items from 1 to n. So if you had three items, you would just multiply them together item1*item2*item3. What are our items? \text{hastebuff}_i! All this is saying is take all your haste buffs, divide them by 100, add 1 and multiply them together. Let’s say you had a 5% haste buff, and a 10% haste buff. that entire bottom left half would simply be (1+\frac{5}{100})\times(1+\frac{10}{100}) = (1.05\times1.1) = 1.155. Essentially this just says that having those 2 buffs is that same as having one 15.5% haste buff (remember that going from a % to a decimal simply means dividing by 100).

Now for the right side. This time the special symbol is on the inside, and it’s saying a very similar thing. It’s simply the sum of all your haste ratings. If you had a piece with 500 haste, and a gem with 20 haste, and a +5 to dexterity vest, all these would sum to one value. So you can simply replace that entire numerator with “your total haste rating”, leaving the entire bottom right side as saying “this much haste is worth a buff of this size”. If you had 1000 haste rating, the bottom right would equal 1+\frac{1000}{9000} = 1.11111, or a buff worth 1.11% (rounded down).

So why 9000 on the bottom right? This is a bit of a simplification. It’s actually \frac{\sum_{k=1}^n}{90}\times\frac{1}{100}, because the haste combat rating right now is 1% of haste for every 90 haste rating, and the 1/100 is just to convert the percentage to decimal form. When they buffed haste for everyone a few months ago by changing the combat ratings, this number went from 10000 to 9000 because the combat rating went from 100 to 90.

Putting this all together

So how does this all work to give you a swing interval? Suppose you had something that occurred every 2 seconds. How often would it occur if it went twice as fast? it would simply be your speed divided by a multiplier of your change in speed, or 2\times\frac{1}{2} = every 1 second. This is the exact same thing that’s going on with this equation. If you have no buffs and no haste, the bottom left would simply be 1+\frac{0}{100}= 1, and the bottom right would be 1+\frac{0}{9000} = 1, making the entire bottom of the equation 1\times1 =1, meaning you are just left with the original weapon speed divided by 1, which means no change. If you had enough haste rating and buffs to double your weapon speed, it would be the weapon speed over 2, or half the original swing interval.

Real world example:

Let’s find out how often you will swing with 1500 haste and fully raid buffed. Your raid buffs would be 5% from Dps DKs’ Unholy Aura, or Priests’ Mind Quickening, etc., and another 10% from our passive Veteran of the Third War, which increases our haste by 10%. This makes the bottom right of our equation equal to (1+\frac{5}{100})\times(1+\frac{10}{100}) = (1.05\times 1.1) = 1.155. With 1500 haste rating, our bottom right looks like (1+\frac{1500}{9000})=1.16667. This means our entire denominator is equal to 1.3475. Divide our swing timer for 2h weapons (3.6 seconds) and you get our answer: you swing every 3.6/1.3475 = 2.6712 seconds. Now there is an important factor at play that is not included in this calculation: Parry haste.

Parry Haste

The mechanics of parry haste are fairly simple. If you have at least more than 20% of your swing interval remaining and you parry an attack, you get 40% of your weapon speed (so for us, .4*3.6 = 1.44 seconds) reduced from the total time remaining.  For any (differentiable) function, you can find the average value with \mu = \frac{\int_{a}^{b}f(x)dx}{a-b}, in this case since we are working with swing remaining between 0% and 100%, the a-b is simply 1, meaning all we have to do is integrate. Since the value doesn’t start to diminish until you reach 60% away from your next swing, the function will actually be a flat line at the full 40% until it reaches .4 on our coordinate system (x=0 is 100% remaining, and x=1 is 0% remaining, so x=.4 is 60% remaining). After it reaches this point it diminishes its value until it reaches 0 at .8, since it can’t reduce our time until next swing below 20% remaining. The resulting function is CodeCogsEqn (1)

Which looks something like this if you plot it:save (1)

 

(if you’re wondering why we stop at 1 and not .8, it’s because our function still exists between .8 and 1, it’s value is just 0)

Solving for the average value using our equation from earlier, we get:

\mu = \frac{\int_{a}^{b}f(x)dx}{a-b} = \frac{\int_{0}^{1}f(x)dx}{1} = \int_{0}^{.4}(.4)dx+\int_{.4}^{.8}(-x+.8)dx+\int_{.8}^{1}(0)dx = .16+.8+0= .24 swings gained through parry haste per successful parry.

Once you know your swing rate, and the bosses average swing speed (Boss swings are usually pretty consistent outside of when they are doing mechanics, so it’s easy to estimate from logs), you can find the theoretical value from your total swings per minute. In the formulas from earlier, we found that with the values we were using we would get 2.6712 seconds between swings, resulting in 60/2.6712 = 22.462 swings per minute. Let’s say your were fighting a boss with a 1.8 second swing timer and had 25% parry chance. Over 1 minute you would have 60/1.8 = 33.33 chances to parry, and on average 8.33 of them would be successfully parried. At an average of .24 swings per parry from parry haste, this results in .24*8.33 = 2 swings in that minute, meaning 22.462+2=24.462 swings in total per minute. In terms of swing interval, this is 60/24.462 = 2.4528 seconds. This means in this situaton, parry haste reduced our average swing interval by .218 seconds.

Remember that these are AVERAGES. This math is beyond useful for looking at thing in terms of total value, or over a given time period, but you have to keep in mind this is simply an average swing timer. In reality your swing interval will vary and average out to be the number you find here over any chunk of time where you are able to consistently hit the boss (obviously leaving melee range affects your swings/minute).

Rune regeneration speed:

Calculating your rune regeneration is very similar to calculating swing speed. In fact the formulas look almost identical, because they both benefit from haste in a similar fashion.

math

They are so similar in fact, if you look close enough you can see that I made this formula by taking the other one and editing it with paint!

 

The reason these are so similar, is that in both cases you are just scaling the value down based on haste in the same way. So instead of an initial weapon speed of 3.6 seconds, we have an initial rune regeneration of 10 seconds. If you used the same stats we used in our swing speed calculation (1500 haste), this would result in a base rune regen speed of 7.4212 seconds. The reason I say base, is because this is before any rune regen talents are factored in (we’ll get to those later).

 

Weapon based ability damage:

All weapon based abilities have the  same basic structure for how their damage is calculated. That structure is: \text{total damage}=(((\text{weapon damage}+\frac{3.3\times\text{AP}}{3.5})\times \text{weapon damage coefficient})\times .6791)

Let’s break it apart piece by piece…

The first part is “weapon damage”. This is simply the actual damage your weapon does, based on the tooltip of the weapon. For example:save (1)Notice how the damage is a range. It can be as low as 1659, and as high as 2490. So when we want to find the average damage for our weapon based ability, we simply find the average of this value (in this case, (1659+2490)/2 = 2074.5).

The next part is simply a universal constant applied to your AP. It basically means that all weapon based abilities will scale the same, and relatively (not exactly) in line with how non-weapon based abilities scale with AP, assuming a reasonable weapon ilvl progression.

The next part is what I call the “weapon damage coefficient”. this is simply how much the ability does on the tooltip. For example, Soul Reaper’s inital damage component is a weapon based spell, and it hits for 85% of weapon damage, meaning you should use a weapon damage coefficient of .85 when calculating that portion of Soul Reaper’s damage (don’t forget to add the DoT component’s damage as well if applicable).

Finally the “.6791” is simply accounting for the bosses armor.

Let’s calculate Death Strikes average damage as an example, and assume 8k AP as well as the item above.

Our avg weapon damage is (1659+2490)/2 = 2074.5, our damage coefficient is 2.7 (135% is what is on death strikes tooltip, but blood gets double Death Strike damage from Veteran of the Third War, which gives us 135%*2 = 270%, so our coefficient is going to be 2.7).

(((2074.5+\frac{3.3\times{8,000}}{3.5})\times {2.7})\times .6791) = 17,634 damage on average for non-critical hits.

Accounting for Crits

If you wanted to get your average Death Strike including criticals, you’d simply to take your crit % and multiply the number we just calculated by 1+that crit chance. So if you have 50% crit chance, your average Death Strike damage would be (damage for non crits)(1+.5)=17,634*1.5=26451.

NOTE: This calculation is based on a static AP, meaning one that does not change. In reality, your AP will fluctuate, making this a general estimate for an abilities damage. How well you estimate your average AP will affect how accurate this is. This is still very useful in comparing two abilities, however. For example, this formula is how we used to calculate when to use Blood Boil and when to use Heart Strike back when they were both in the game. You just set them equal and solve for AP to find the tipping point.

Non-weapon ability damage:

Non-weapon ability damage is much less complicated than weapon based ability damage. Instead of the mold we used above, their model is simply 1+\text{AP coefficient}\times \text{AP}. Death Coil for example, has an AP coefficient of 80%. To calculate it’s damage for non-criticals, you simply take 1+.8*AP. Assuming the same AP as before, and you get 6,401 damage. The “1+” is likely to ensure you never do exactly 0 damage if there is some debuff that results in an AP of 0 or something.

 

Calculating odds of events (statistics)

stochastic

An intro to statistics

Statistics is just combinatorics with a denominator (math joke). In reality, statistics is a HUGE field, and i’m only going to cover the absolute basics necessary to math out the parts of blood DK math that use statistisc, and no more than that. The heart of statistics is basically just finding out how many you have, versus how many there are in total.  For example, say I have 50 sparkly Celestalon plushy toys. 25 of them are the green, 15 of them are blue, 8 of them are purple, and 2 of them are orange (see what I did there?). If you pick 1 plushy, are the chances for finding a given color?

For any given color you’re going to have n/50, where n is the number of that color there are in that entire set. You have a 25/50 chance of getting a green plushy, while only a 2/50 chance of getting an orange one. If you’re wondering, there is a 0% chance you find one named after you.  The important thing to notice here is that all the %s add up to 100%. 25/50+15/50+8/50+2/50=50/50. If you end up with a system where the total odds of everything don’t add up to 1, you’ve done something wrong and should probably check your work. Essentially, (the chances of things happening)+(the chance of things not happening) should = 1, because our whole concept of reality depends on it.

Bernoulli was the best theorycrafter

Pretty much EVERYTHING in WoW is what is called a Bernoulli trial (named after some old guy named Bernoulli), which means a series of events each with the same probability and only 2 outcomes. The most common example of this in reality is probably a coin flip. A coin flip is a Bernoulli trial because you have 2 outcomes (heads or tails) and the probability is the same each time (50% for each outcome). Something doesn’t have to be 2 sided to be Bernoulli though. Take a dice roll. Rolling a dice has 6 outcomes (20 if you’re cool), but rolling a dice repeatedly can still be a Bernoulli trial if you define what is a success, and what is a failure. For example, if you define rolling a 1,2,3, or 4 as a “success” and a 5 or a 6 as a “failure”, then your two outcomes become (1,2,3, or 4) and (5,6). In other words, it was either one you wanted or it wasn’t. This is clearly a Bernoulli trial now, because you have 2 outcomes and the probability for success is the same each time (4/6).

So how does this all apply to WoW? Think about it: wow is BUILT on Bernoulli trials. You either crit or you don’t, and the probability is always equal to your crit % (that’s a Bernoulli trial). You either multistrike or you don’t, and your chance of multistriking is always the same and dependent on your ms % (another Bernoulli trial). The boss swings at you and you either parry the boss or you don’t, and your odds of parrying are always equal to your parry % (Bernoulli). You white swing at the boss, and it either hits or it doesn’t (Chef Ber-noulli). You either proc Runic Corruption on this next swing or you don’t (Brrrrrrrnoulli i’m getting chills from all these Bernoulli trials). You kill a boss and he either drops the loot you want or he doesn’t, and the odds are the same each time (Ber-noloot-oulli). The chances that a mechanic goes on a specific raid member (YOU ARE NOT PREPARED-OULLI!).

Do you see now the power of the Bernoulli trial? The vast majority of wow probability is simply a bunch of Bernoulli trials.

Discrete Distributions

So now that we have our Bernoulli trials, how do we find out things about them? The answer is statistical distributions! To put it simply, if you have a type of process (in this case Bernoulli trials, but we will use Poisson in a bit as well), you can get different information out of it by running it through different distribution models. Think of it this way: Setting up a problem as a type of process is like creating a specific lump of clay, and different distributions model that clay to give you something unique to that distribution. Each distribution gives you different information. Here is a quick little table that lists a few common ones that we can use on Bernoulli trials:

Geometric Distribution – tells you how many trials until the first success

Binomial Distribution – the number of successes out of a certain number of trials

Negative Binomial Distribution – tells you how many trials until rth success (if r=1 then it’s exactly the same as the geometric distribution)

There are MANY more, but these 3 are all we need for the questions we need to answer in wow that function as Bernoulli trials.

For any of these distributions, you can find the probability that your random variable is equal to some value with P(X=x)=f(x) where f(x) is some function that will be different with each distribution. For example, if you wanted to know the probability that you get heads 3 times you would find P(X=3) of a Binomial distribution. Statistics has a special property that makes it easy to find answers though: Everything has to equal 1. Meaning if you want to know the probability that you DON’T get heads three times, you would just find 1-P(X=3) instead. This is a lot easier than calculating each other value independently, as that would involve adding up each probability P(X=1)+P(X=2)+P(X=4)+….until you reach x=n where n is the last outcome.

You can also find averages using distributions. Just like each distribution has its own f(x), it also has its own function for finding the expected value, or E(x). We actually already saw this once in our Runic Empowerment example at the top. What we did there was use a negative binomial distribution to find the expected number of occurrences until the 2nd success, which we found to be 4.44 GCD, meaning on average it will take 4.44 GCDs (1 GCD = 1 trial) to get your 2nd RE proc.

Now that we know what distributions are and how they are used, let’s look at the three we listed here

Geometric Distribution

As already stated, the geometric distribution can tell us things about the number of trials it takes to get the first success. it’s P(X=x) tells us the probability that the xth trial is the first success, and the mean tells us the average number of trials necessary. The actual functions for these are as follows: P(X=x)=(1-p)^{x-1}p E(x)=\frac{1}{p}

So let’s do some applicable real world (of warcraft) examples.

What is the probability that it takes 4 casts of a spell to get the first critical given 30% crit chance? Simply plug in the values p=.30 and x=4:

P(X=4)=(1-.30)^{4-1}.30 = .70^{3}\times .30 = (.343)\times(.30)= 0.1029 = 10.29\%

Now what is the expected value E(x) of the number of casts until your first critical with 30% crit chance?

E(x)=1/p =1/.30 =3.333 \text{ casts}

What is the probability that it takes fewer than 4 casts of a spell to get the first critical given 30% crit chance?

P(X<4)=P(X=1)+P(X=2)+P(X=3)

=(1-.30)^{1-1}.30+(1-.30)^{2-1}.30+(1-.30)^{3-1}.30 = .70^{0}\times .30+ .70^{1}\times +.30 .70^{2}\times .30

=(1)\times(.30)+(.70)\times(.30)+(.49)\times(.30) = .30+.21+.147=.657=65.7\%

So why didn’t we use the trick I mentioned before? why couldn’t we just do 1-P(X=4) instead of adding the others? We still have 2 outcomes (you either crit or you don’t), but the range of our random variable (the random variable being the number of trials) could be any integer greater than 0. It is EXTREMELY unlikely, but still possible to have to wait 1,523,688,101 casts to see your first crit. If our set was {1,2,3,4} we could use 1-P(X=4) because that would leave us with {1,2,3}, which is the same as X<4, but since we have an infinite support our set is {1,2,3,4,5,….,∞} so just removing X=4 doesn’t give us X<4.

Binomial Distribution

The binomial distribution is used to find the number of successes out of n trials. It’s P(X=x) gives us the probability that there are x successes out of n trials. It’s calculated as follows: P(X=x)=\binom{n}{x}p^{x}(1-p)^{n-x} and E(x)=np

Note: if you’re not familiar with the \binom{A}{B} notation, it is called “choose notation”. Basically it tells you how many ways you can choose B items out of A items. How many ways can you pick 2 items out of 3? To do this by hand, we simply add up the different ways: (picked, picked, not picked) is one way, (picked, not picked, picked) is another, and finally (not picked, picked, picked) is the last way. So we know by looking that there are 3 ways to arrange 2 out of 3 items, so \binom{3}{2} should give us 3. While in practice it’s usually easiest to use wolfram to calculate these things (you can just type “(3 choose 2)” to get the answer), you can compute this analytically as well. \binom{A}{B} = \frac{A!}{B!(A-B)!} = \frac{3!}{2!(3-2)!}=\frac{6}{2}=3. Any time you see this notation, this is what how you compute it.

Examples of binomial distribution:

A super applicable example is multistrike, but I’ll save that for it’s own section. Instead, let’s keep with the crit example and find the probability that you get at least 2 out of 3 casts to be critical with 30% crit chance, as well as the expected number of crits for 200 casts with 30% crit chance.

The chance for 2 successes out of 3 casts with 30% success rate is P(X=2)=\binom{3}{2}(.30)^{2}(1-.30)^{3-2}=(2)(.09)(1-.3)^{1} = .126 = 12.6\%

The expected number of crits out of 200 cast with 30% chance is E(x) = np = (200)(.30)=60 \text{ crits}

What about the chance that you get at least 1 crit? This is a place we can use that 1-f(x) trick, because even if your set is huge, “at least one” simply means “not zero”, which means we can answer this by simply finding 1-P(X=0). For example, lets find the chance you don’t get any crit in 10 casts of a spell, again with 30% crit chance.

P(X>0)=1-P(X=0)=\binom{10}{0}(.30)^{0}(1-.30)^{10-0}= (1)(1)(.70)^{10}= .02825 = 2.825\%

 

Negative Binomial Distribution

Unfortunately it’s not a simple as taking the binomial distribution and multiplying it by -1 (and hopefully by now the thought of a negative probability should feel really weird to you).

This distribution tells us things about the number of trials it takes to reach a certain number of successes (which should sound a lot like the geometric distribution already covered). It’s P(X=x) gives us the probably that you get the rth success after x trials, as is defined by P(X=x)=\binom{x-1}{r-1}(1-p)^{x-r}p^{r} and the expected value is E(x)=\frac{r}{p}

Because we will use some more examples of negative binomial distribution in the section covering t60 talents, let just stick with the crit examples for now.

What is the chance your 3rd crit happens on your 8th cast of a spell?

P(X=8) = \binom{8-1}{3-1}(1-.30)^{8-3}(.30)^{3} = \binom{7}{2}(.70)^{5}(.30)^{3} = (21)(.16807)(.027)=.0953=9.53\%

What is the chance you get your 2nd crit before your 4th cast? (note: P(X=1) is 0 because you can’t have 2 crits in 1 cast)

P(X<4) = P(X=1)+P(X=2)+P(X=3)=0+\binom{2-1}{2-1}(1-.30)^{2-2}(.30)^{2}+\binom{3-1}{2-1}(1-.30)^{3-2}(.30)^{2}=\binom{1}{1}(.70)^{0}(.30)^{2}+\binom{2}{1}(.70)^{1}(.30)^{2}=(1)(1)(.09)+(2)(.70)(.09)=.216=21.6\%

What is the expected number of casts to get your 5th crit?

E(x)=\frac{r}{p}=\frac{5}{.30}=16.66667 \text{ casts}

 

Statistics applied to various blood things (Runic Empowerment, Runic Corruption, Multistrike, etc.)

Runic Empowerment

nzu2igx

 

The raw numerical value of RE is as follows: 100% of a rune on proc and 45% chance to proc gives us 100%*45%=45% of a rune per cast of Death Coil, however we already looked at why Runic Empowerment a bit in the beginning, and I claimed that we could use a negative binomial distribution to find that it is actually terrible. Is that true? First let’s verify that it is in fact a Bernoulli trial. You either have a success (RE proc) or a failure (no RE proc), and the probability is consistent each time (p=.45), so definitely Bernoulli. But do we want to use the negative binomial distribution? We’re looking for information regarding the second RE proc, because we need 2 to get our Death Strike back. Since we are looking for an rth success where r>1, and we’re dealing with a Bernoulli trial, we can surely use the negative binomial distribution!

First let’s verify my claims from before that the average is going to be 4.44 casts: E(x)=\frac{r}{p}=\frac{2}{.45}=4.44 casts which means we were right!

Second, let’s use our new knowledge of distributions to find the probability that we get our second success in 4 or less casts: P(X\leq4)=P(X=1)+P(X=2)+P(X=3)+P(X=4)=0+.2025+.22275+.18377=.60902=60.9\%

Why is this not good? Isn’t a 50%+ chance means it’s more likely to happen than not?

61% is certainly more than 50%, but considering this is the chance that we can even react to damage within 4 entire seconds of getting rid of our last FU pair, 61% is pretty terrible. If you could get paid $100 dollars to be part of an experiment that had a 61% chance of success, there’s no way you would risk it (or at least I hope you wouldn’t).

So what % does it need to be “reliable”? This is where the math gets fuzzy. There is no n% such that n is considered reliable and (n-1)% is considered unreliable. It’s not black and white like that. When comparing RE and the other options, you have to at some point use this math to fuel an inherently subjective conclusion. RE is bad enough that pretty much everyone I know worth a salt has come to the same conclusion: don’t use RE.

 Runic Corruption

Runic Corruption is a bit more straight forward. In terms of pure throughout it’s a little behind RE, but it doesn’t the same all or nothing return as RE in that you don’t to spend your FU pairs to get FU pairs back. You have a 45% chance to get 100% rune regeneration rate for n seconds, where n is equal to 30% of your rune regen (the tooltip says 3, but that’s just based off the 10 second base rune speed and doesn’t reflect any haste). If we were to model this with just one use and one pair of runes, this would lose value if you had less than n seconds remaining on your rune regen, but since we always try to keep at least 1 FU pair recharging anyway, this is not an issue and you will almost always get full value if you are playing well (capping runes is bad in general, regardless of your talent choices). This means that the value of a single Runic Corruption proc is simply  30% of a rune, for 3 runes, with a 45% chance to proc. This gives 30%*3*45%=40.5% of a rune per cast of Death Coil. This backs up what I said earlier regarding it being slightly behind Runic Empowerment (which has 45% of a rune per cast), however it is much more reliable. Lets look at the same probability as we did with RE.

Since we only need 1 proc to get return, we are not looking at a negative binomial distribution anymore, but rather a geometric distribution. Let’s look at the expected number of casts of Death Coil before we get return: E(x)=\frac{1}{p}=\frac{1}{.45}=2.22 casts of DC on average before we get return, which is twice as fast as the expected value for Runic Empowerment. What about the same P(X\leq4) calculation we did with RE? P(X\leq4)=P(X=1)+P(X=2)+P(X=3)+P(X=4)=.45+.2475+.13613+.07487=0.90849\%

This is so much more reliable than the 61% we got for RE returning something in the same time frame. Note how I said returning SOMETHING, not returning an FU pair. We have been talking about “return” without defining it. In the cast of RE, it was a full FU pair, as only getting one or the other was as useless (in terms of death striking) as nothing at all. In the case of RC, return is simply a bit of rune regen time, and you still may not have a full DS at the end. The idea is that while they are much less potent, the returns are far more consistent. The even and consistent return for only a slight loss in overall throughput makes Runic Corruption a much better option that Runic Empowerment, and it also requires less game knowledge and set up to use, as you don’t need to game it to get FU pairs back.

Blood Tap

There is no probability regarding Blood Tap. You use Death Coil, you get return. Simple as that. It gives you 2 charges per cast of Death Coil, and requires 10 charges for a Death Strike, meaning you get 1/5th of a DS per Death Coil, or 40% of a rune (20% of 2 runes). You’ll notice the “expected value” of this would be 5 casts of Death Coil, which is even worse than Runic Empowerment! How can that be!? Remember Runic Empowerment forces you to spend you Death Strikes to get them back, which is not the case with Blood Tap. 5 casts of Death Coil with Blood Tap does not mean 5 casts without Death Strike, as you can hold on to your other pair until you need it. There is another layer of flexibility though, as unlike Runic Corruption you can hold the RETURN, as well as the previous FU pair. So while this has the longest time between return, and the lowest throughput, if you time your Death Strikes well then the flexibility this provides is simply unmatchable in terms of value. This is the reason that Blood Tap is widely (and correctly) regarded as the best option for blood. Combine this with the fact that it returning D runes means you can trade out Death Strikes for Blood Boils to gain more aoe damage, and it makes it even more clear than it already was. Notice how there are no numbers to support this, which goes back to me first big point of this post: math isn’t the only tool you have.

 

 

 

 

Leave a comment