Jump to content

Krampus Sack Drop Rate Analysis


Recommended Posts

Hey guys,

I know how frustrating it can be to acquire a krampus sack, so I bothered to do the math. Wow, getting a drop is even more unlikely you'd expect. You'd think that at a 1% drop chance, killing 100 krampuses would essentially guarantee you a drop. Not according to the math. Here's a table showing the first 100 krampuses by increments of ten and then probability increments of about 5% thereafter:     

d9sZODI.jpg

Here's a graph of the cumulative probabilities going out to almost a 99% chance of getting a drop:

SyQFiLY.jpg

A quick explanation of what these probabilities mean. Remember that a die has no memory; that is, whether you have already killed 100 krampuses or 0 krampuses, the probability of a drop on the next kill is the same 1%. The graph and table can be interpreted as this: "Regardless of how many krampuses you have killed up to some point, if you proceed to kill X more krampuses, you have a Y% chance of getting a drop from at least one of them up to a drop from all of them."

If you care to know how the math works, I have detailed the method is detailed below. The probability of getting the first drop on the:

1st Krampus = .01

2nd Krampus = .99*.01 = .0099

3rd Krampus = (.99^2)*.01 = .009801

4th Krampus = (.99^3)*.01= .00970299

etc.

Taking the 4th Krampus example, there is a .99 probability for getting nothing on the first krampus, .99 for nothing on the second, .99 for nothing on the third, and .01 for getting the sack on the fourth. If we combine the instances of getting the first, second, third, or fourth to drop, we add the individual probabilities together to find the cumulative probability of getting at least one (and up to four) sack(s) between our first and fourth kill. So in general, summing individual probabilities up to the nth krampus kill gives the cumulative probability of getting at least one (up to n) drop(s) for killing n krampuses.

Good luck, everyone! You'll need lots of it!

EDIT:

Here is a table showing what the cumulative probabilities would be if the drop chance were different:

Ja610EU.jpg

I don't understand, but I want to.

Why is this different from expecting to roll a 6 on a die one time out of 6? what makes it more complicated than that?

Also why do you use the exponent on the chance of not getting something times the probability that you do get something. I don't understand the formula. I feel like I'm missing something obvious.  

@queenb33, I wish I were a statistician. I took stat inference this semester and my professor taught me a little about 25% of the time we met for class. I have learned almost nothing about stats, but I do know probability extremely well since taking the P exam!

@emerphish, I'm more than happy to explain; probability is my favorite area of mathematics!

It's actually not different at all. In fact, we could say that killing a krampus rolls a 100-sided die with 99 unique failure faces and one success face, like how 1-5 would be unique failure faces (5/6 chance of failure) of a normal die but a 6 would be a success (1/6). With the krampus sack, we would expect 1 drop in 100 kills, which is why the probability is 63.4%, but it's still not guaranteed. In fact, it never is. That is why my cumulative probabilities only go out to 99%; they would never reach 100%. If I were to do the same calculation with a 6-sided die, it would look like the following (I use more precise language for this example; I hope this makes it more clear):

Getting your first six on the first try: 1/6

Getting your first six on the second try: (5/6)*(1/6)

Getting your first six on the third try: (5/6)*(5/6)*(1/6)

Getting your first six on the fourth try: (5/6)*(5/6)*(5/6)*(1/6)

etc.

Now when we add all of these together, it's like putting "or" between all of them. So the probability that we get a 6 on our first roll or on our second roll or on our third roll or on our fourth roll (this "or" is inclusive; that is, we can get one or more 6's on this series of rolls) is [(1/6)]+[(5/6)*(1/6)]+[(5/6)*(5/6)*(1/6)]+[(5/6)*(5/6)*(5/6)*(1/6)]. This is why I say in the OP "at least one krampus sack." We could get more, but the probability represents getting at minimum just one.

If you wanted to calculate the probability of getting just S number of 6's in N number of rolls, you could use the formula (N!/(N-S)!)*[(1/6)^S]*[(5/6)^(N-S)]. The bolded part of the formula allows for your 6's to appear in all combinations of the N trials (i.e. for getting two 6's in four trials where X means failure, this probability would include all of the scenarios: 66XX, 6X6X, 6XX6, X66X, X6X6, XX66). If you were to sum up the products from this formula for S=1 to S=N, you would get the same probability of getting at least one 6 in N trials

In the above formula, I use an exponent simply to reduce the length of the equations since some of the factors in the multiplication are duplicates. Each 5/6 represents a dice roll that results in a 1,2,3,4, or 5 and the 1/6 at the end signifies getting the 6.

If you have any more questions, I would really enjoy answering them! I'll update the OP now with the clearer word choice

That clears thing up a little bit in regards to the formulas. I'm still a little bit confused on why you don't need to kill him 100 times for you to be likely to get a sack, though. If krampus is a 100 sided die, and a coin is a 2 sided die, I don't get what makes them different. 

I just flipped a coin 20 times in sets of 2 (since the odds of landing either side is 1/2) and 17 out of 20 times I landed heads one of those two times. 20 isn't a very large number, so allowing for a margin of error, why doesn't that seem to extend to krampus if they are essentially the same? I would expect to get a krampus sack about 17 times out of 20, per 100 killed. However, that doesn't seem to be the case. 

Looking at your chart, it seems that each kill increases the cumulative probability less than the one before it, so it would make sense that the coin example doesn't extend to much higher numbers, but if nothing seems to change, why does it not? I suppose the question boils down to why is the probability multiplicative and not additive between kills? 

On 5/5/2016 at 0:40 AM, WillPwn4Food said:

If you have any more questions, I would really enjoy answering them!

Shouldn't it be like this though? Example:

A = getting sack on first kill
B = getting sack on second kill

P(A) = 0.01
P(B) = 0.99 * 0.01

A intersection B = getting sack on first kill and getting sack on second kill
P(A intersection B) = 0.01 * 0.01

A union B = getting sack on first kill or getting sack on second kill (which is at least one sack)
P(A union B) = P(A) + P(B) - P(A intersection B)
P(A union B) = 0.0198

Another way to think it:

-- Event variable
X = number of sacks for killing N krampus
X = {0, 1, 2, ... , N}

-- Numbers outside range are impossible
P(X < 0) = 0
P(X > N) = 0

-- You get either number, so, the probability is 1
P(X = 0) + P(X = 1) + ... + P(X = N) = 1

P(X >= 1) = 1 - P(X < 1) = 1 - P(X = 0) = 1 - 0.99 ^ N

Krampus Kills -> Probability of at least one sack
10 -> 0.09561792499
20 -> 0.1820930624
100 -> 0.63396765872
189 -> 0.85035859439
458 -> 0.98997881393
700 -> 0.99911968881

Well, since the intersections are a very low probability, percentages don't vary that much from your table.

 

Something I would like to point out is that lua's math.random isn't random. It's pseudo-random.

Meaning that given the seed you got at the start, you can get a sequence that screws you over.

 

Some lua commands for the game:

local sacks = 0; for i = 1, 10, 1 do if math.random() < 0.01 then sacks = sacks + 1; end end; print(sacks);

To simulate 10 quick krampus deaths.

for i = 1, 10, 1 do c_spawn("krampus").components.health:Kill() end

To actually spawn and kill 10 krampus.

 

From my perspective, math.random() <= 0.5 is more likely to happen than math.random() >= 0.5, but results should have a uniform distribution from a gazillion experiments.

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...