I often see players argue about drop rates of Pro Kit Boxes. Namely during the McLaren 720S World Tour I noticed two questions that made me want to find out myself:
- Why does the box info show only 14.29 % for an item that is actually guaranteed?
- If you need V8 engines, what is the better choice: the Pro or the Elite Supplies Box?
This blog post will answer the two questions, and while we're at it, shed some light on common misconceptions about drop rates of Pro Kit Boxes in general.
Definitions
First, let's have a look at one of the McLaren 720 World Tour boxes, the Elite Supplies: The box contains 7 items, 4 of which are guaranteed. The other 3 items are taken randomly from a list of 9 items. So it is sure that you get between 1 and 5 blueprints, credits, tokens and one class A part, but you can't be sure, for example, to get a V8 engine because the engine is on the random list.Drop rate
So let's look at the percentages shown when you tap on the box info icon of the Elite Supplies. These numbers show the shares of the items you can expect if you open a very large amount of boxes. The more boxes you open, the closer you will get to the given numbers. In mathematical terms, this is called an expected value.^{[1]} Or, in other words, the percentage shows the rate at which an item will be dropped if you open a very large amount of boxes.However, these percentages say nothing about the probability (or chance) that you will get a desired item when you open a box.
Take the guaranteed tokens in the Elite Supplies: As they are guaranteed, they have a probability of 100 %. But as they will always make up 1 of the 7 items in the box, their drop rate is always $ \tfrac{1}{7} $ = 0.142857 = 14.29 %—which is exactly the percentage provided in the box info of the game. So question number 1 from above is already answered: The box info does not show the probability of an item, but its expected value.
- The drop rate or expected value of an item is its amount relative to all items in a box if a very large number of boxes is opened, expressed in percent.
- Drop rates are not probabilities.
Probability
As mentioned above, the chance of getting tokens (which are guaranteed) in an Elite Supplies box is 100 %. If you buy 100 Elite Supplies, you can be sure to have tokens in every single box.
However, when a box only consists of random items that are not guaranteed, it is possible to deduct the probability from the drop rate given in the info. For example, the Random Box 2 which is rewarded in events, shows "Legendary: 3.06 %". If you had a very large amount of these boxes, let's say 10,000, and opened them all, the amount of Legendary items you'd get would be around 306.
Unfortunately, you can not deduce that these 306 Legendary items have an equal distribution of blueprints, engines and tech cards, because we don't know if these types of cards have additional individual probabilities assigned to them. A rough approximation would be possible if one logged all types of cards whenever a box is opened. Is there anybody who did this already?
- The probability of an item is the chance of getting it in a box.
- Probabilities equal drop rates if there are only random items in a box.
The Elite Supplies Box
- 4 guaranteed
- 3 random, drawn from a list of 9 which contains:
- 1 Mid-Tech
- 1 Advanced Tech
- 2 Early Tech
- 2 Initial Tech
- 2 Class A Part
- 1 V8
What is the chance that you get a V8 engine from an Elite Box? To calculate this, we can neglect the guaranteed items. What counts is the 3 draws that are made internally from the list of the 9 random items. Technically it's an urn problem (see the Wikipedia article for further explanations): You have an urn with 9 items, one of which is a V8 engine. What is the chance to get this V8 engine if you draw 3 times?
There are three possibilies to get the V8: Either you get it at the first draw or the second or the third.
- V8 at first draw: The probability to get the V8 at the first draw is 1 out of 9, thus $ \tfrac{1}{9} $. Now 8 items are left in the urn. As you already have the V8, the next draw has a probability of $ \tfrac{8}{8} $ that you don't get a V8. Now 7 items are left, and the third draw has a probability of $ \tfrac{7}{7} $ (that you don't get a V8). The total probability to get a V8 at the first draw is $ \tfrac{1}{9} \cdot \tfrac{8}{8} \cdot \tfrac{7}{7} = \tfrac{1}{9} $ = 11.11 %.
- V8 at second draw: The probability that you don't get the V8 at the first draw is $ \tfrac{8}{9} $. Then you get it with the second draw from 8 remaining items, thus the probability is $ \tfrac{1}{8} $. Now 7 items are left, and the third draw has a probability of $ \tfrac{7}{7} $ (that you don't get a V8). The total probability of this variant is $ \tfrac{8}{9} \cdot \tfrac{1}{8} \cdot \tfrac{7}{7} = \tfrac{1}{9} $ = 11.11 %.
- V8 at third draw: Analogous to the previous two examples, the probability of getting the V8 at the third draw is $ \tfrac{8}{9} \cdot \tfrac{7}{8} \cdot \tfrac{1}{7} = \tfrac{1}{9} $ = 11.11 %.
The overall probability of getting the V8 with 3 draws is the sum of the probabilities of getting it at the first, second or third draw, thus
$ \frac{1}{9} + \frac{1}{9} + \frac{1}{9} = \frac{3}{9} = \frac{1}{3} = 33.33 % $.
The Pro Supplies Box
- 1 guaranteed
- 3 random, drawn from a list of 9 which contains:
- 1 Blueprint
- 2 V8
- 1 Early Tech
- 1 Initial Tech
- 1 Class A Part
- 1 Advanced Tech
- 1 Mid-Tech
- 1 20 Tokens
This time we have the chance to get either 1 or even 2 V8s, so there are more possibilities ("0" denotes no V8, "V" a V8): V00, 0V0, 00V, VV0, V0V and 0VV.
V00: $ \tfrac{2}{9} \cdot \tfrac{7}{8} \cdot \tfrac{6}{7} = \tfrac{6}{36} = \tfrac{1}{6} $ = 16.67 %
0V0: $ \tfrac{7}{9} \cdot \tfrac{2}{8} \cdot \tfrac{6}{7} = \tfrac{6}{36} = \tfrac{1}{6} $ = 16.67 %
00V: $ \tfrac{7}{9} \cdot \tfrac{6}{8} \cdot \tfrac{2}{7} = \tfrac{6}{36} = \tfrac{1}{6} $ = 16.67 %
VV0: $ \tfrac{2}{9} \cdot \tfrac{1}{8} \cdot \tfrac{7}{7} = \tfrac{1}{36} $ = 2.78 %
V0V: $ \tfrac{2}{9} \cdot \tfrac{7}{8} \cdot \tfrac{1}{7} = \tfrac{1}{36} $ = 2.78 %
0VV: $ \tfrac{7}{9} \cdot \tfrac{2}{8} \cdot \tfrac{1}{7} = \tfrac{1}{36} $ = 2.78 %
The overall probability of getting exactly 1 V8 with 3 draws is the sum of the first three variants: $ \tfrac{1}{6} + \tfrac{1}{6} + \tfrac{1}{6} = \frac{3}{6} = \frac{1}{2} $ = 50.00 %.
The overall probability of getting exactly 2 V8s is the sum of the second three variants: $ \tfrac{1}{36} + \tfrac{1}{36} + \tfrac{1}{36} = \frac{3}{36} = \frac{1}{12} $ = 8.33 %.
And the probability of getting at least one V8 (i. e. 1 or 2) is the sum of the two probabilities above:
$ \frac{1}{2} + \frac{1}{12} = \frac{7}{12} = 58.33 % $
This is the answer to question number 2: The chance of getting at least 1 V8 is significantly higher (58.33 % vs. 33.33 %) if you buy a Pro Box.
Note: These probabilities only apply if there aren't any individual probabilities assigned to the random items of the list (for example that a v8 engine doesn't have the same chance to be drawn from the urn as a Mid-Tech card).
Hidden probabilities
Can we determine if there are any hidden probabilities for certain items? The answer would be yes if we found that our calculated probabilites differ from percentages of random items in a box.The Pro Box is a good object for such an examination because the info shows the percentages of two random items: blueprints and tokens. They are both only once in the list of 9, so their probability as well as their percentage should be equal.
The info, however, shows 21,25 % for the blueprint and 12,5 % for the token package. This is the proof that the Pro Box has its own probabilities at least for blueprints and tokens. We cannot say anything about the distribution of V8 engines, class A or tech parts, as they are all summed up under the term "Pro Kit Boxes".
Code appendix
For those familiar with Visual Basic for Applications: I wrote a "quick and dirty" routine to simulate the draws with a very high number of rounds to get good statistical approximations of the real numbers. If you'd like to do your own drop rate calculations for a box you can copy the code into an Excel macro and see if they were correct.
The three McLaren 720S boxes are already contained; just comment out the two boxes you don't want to draw from and adjust the four constants at the beginning correspondingly.
I am not responsible for any problems the code may cause.
Sub DrawFromUrn() ' ' Draws 3 times from an urn with 9 parts without putting back. ' For more precision, this is done 100,000 times (or the value ' specified in clngAmountRounds). ' Written for the supply boxes of the McLaren 720S World Tour, ' but can be adapted for other boxes. ' Const cintAmountDraws As Integer = 3 Const cintAmountContent As Integer = 9 Const clngAmountRounds As Long = 100000 Const cstrSearchedText As String = "V8" Dim intRandomNumber As Integer Dim intCounterDraws As Integer Dim lngCounterRounds As Long Dim strNameBox As String Dim strContent(cintAmountContent) As String Dim intDraw(cintAmountDraws) As Integer Dim strMessage As String Dim intAmountV8 As Integer Dim lngAmountV8Total(cintAmountDraws) As Long For lngCounterRounds = 1 To clngAmountRounds 'strNameBox = "Elite" ' 3 random items drawn from 9 'strContent(1) = "Mid-Tech" 'strContent(2) = "Advanced Tech" 'strContent(3) = "Early Tech" 'strContent(4) = "Early Tech" 'strContent(5) = "Initial Tech" 'strContent(6) = "Class A Part" 'strContent(7) = "Class A Part" 'strContent(8) = "V8" 'strContent(9) = "Initial Tech" strNameBox = "Pro" ' 3 random items drawn from 9 strContent(1) = "Blueprint" strContent(2) = "V8" strContent(3) = "Early Tech" strContent(4) = "Initial Tech" strContent(5) = "Class A Part" strContent(6) = "Advanced Tech" strContent(7) = "V8" strContent(8) = "Mid-Tech" strContent(9) = "20 Tokens" 'strNameBox = "Basic" ' 1 random item drawn from 6 'strContent(1) = "Blueprint" 'strContent(2) = "Class A Part" 'strContent(3) = "Early Tech" 'strContent(4) = "Initial Tech" 'strContent(5) = "Mid-Tech" 'strContent(6) = "10 Tokens" ' Reset Draws intAmountV8 = 0 For intCounterDraws = 1 To cintAmountDraws intDraw(intCounterDraws) = 0 Next ' Draw For intCounterDraws = 1 To cintAmountDraws Do intRandomNumber = Int(cintAmountContent * Rnd + 1) Loop Until strContent(intRandomNumber) <> "" If strContent(intRandomNumber) = cstrSearchedText Then intAmountV8 = intAmountV8 + 1 End If strContent(intRandomNumber) = "" ' "Delete" drawn item Next lngAmountV8Total(intAmountV8) = lngAmountV8Total(intAmountV8) + 1 Next strMessage = strNameBox & Chr(13) & Chr(13) & _ "0 " & cstrSearchedText & " " & LTrim(Str(Round(lngAmountV8Total(0) / clngAmountRounds * 100, 2))) & " %" & Chr(13) & _ "1 " & cstrSearchedText & " " & LTrim(Str(Round(lngAmountV8Total(1) / clngAmountRounds * 100, 2))) & " %" & Chr(13) If cintAmountDraws > 2 Then strMessage = strMessage & _ "2 " & cstrSearchedText & " " & LTrim(Str(Round(lngAmountV8Total(2) / clngAmountRounds * 100, 2))) & " %" & Chr(13) End If MsgBox strMessage End Sub
References
- ↑ See Wikipedia: Expected value.