

BGG,
Let me preface this in saying that I am absolutely hopeless when it comes to even basic math. I am working on a trading card game—a dying breed, I know—and am figuring the rates of pulls in a pack. There are three kinds of rarity: common, uncommon, rare. In each pack there are nine cards. There is no guarantee that a rare or even an uncommon will be pulled, but the rates will be high enough to where you'd simply be unlucky not to get at least one rare and a couple uncommons:
CO/UN/RA 94/05/01 % 88/10/02 % 82/15/03 % 76/20/04 % 70/25/05 % 64/30/06 % 58/35/07 % 52/40/08 % 46/45/09 %
Each card has a different chance of pulling the respective rarities. I am structuring the anatomy of a pack this way because I find it boring to open packs of other TCGs knowing the first X cards are guaranteed to be worthless. With a structure like this, each turn through the pack could bring an exciting pull. In addition to the above rates, each card has a 1% chance to be shiny (holographic foil).
Here's what I need to know. In each pack, what is the likelyhood of... 1. Getting no rares. 2. Getting 1 rare. 3. Getting 2 rares. 4. Getting X... rares (up to all nine being rare). 5. Getting at least 1 shiny. 6. Getting at least 1 shiny that is rare.
These are just examples of the things I need to know. Is there an online calculator tool I can use to figure this sort of thing out easily? If not, can someone be so kind to explain the math behind it all? I'm told by my friends that it's actually very simple math, but I just cannot figure it out—math is definitely not my forte. The only thing I know is that there's a 10% chance of getting at least 1 shiny each pack. I think.
Any assistance is greatly appreciated. Many thanks.

Jeremy Lennert
United States California

This shows the probability of getting different amounts of rares or shiny cards in a single pack based on your description. There's about a 37% chance of getting at least one rare, an 8.7% chance of getting at least one shiny, and a 0.45% chance of at least one shiny rare.
I feel I should point out that randomized booster packs are a very tough sell to most customers these days. Also, giving only the last card a chance to be rare is quite possibly done for logistical reasons rather than marketing ones (doing a separate chance on each card may be more laborintensive and therefore drive the cost up).

Andrew Rowse
New Zealand Wellington

You can get average yields by just adding up the percentages (as proportions of 1)
The average pack will yield: 6.3 commons 2.25 uncommons 0.45 rares
So more than half the time a pack will have no rares.
I'm pretty sure that one of the old CCGs tried a distribution like this, and I'm pretty sure it was a dismal failure. Buying a pack and getting no rares is a surefire way to feel cheated.
Make slot 9 a guaranteed rare instead. Though presumably this is all a thought experiment, since indie physical CCGs are a doomed model nowadays...

B C Z
United States Reston Virginia

Do some research into "Binomial Expansion" and focus at first on "Rare / Not Rare".
Beware, trading card games are a dying breed for a reason. I hope you have deep pockets and no expectation for profit.

Andrés Santiago PérezBergquist
United States Mountain View California

Apart from trading card games being a virtually impossible genre to break into for a new game, there's that technical issue that unless you've already talked to a printer detail, I don't think any printer in the world will be able to produce that kind of card distribution. Even WotC faces substantial restrictions in how they can structure pack distributions drawn from multiple sheets, like Rare vs Mythic Rare, foils, and doublefaced cards.



Antistone wrote: This shows the probability of getting different amounts of rares or shiny cards in a single pack based on your description. There's about a 37% chance of getting at least one rare, an 8.7% chance of getting at least one shiny, and a 0.45% chance of at least one shiny rare.
Thank you for this, although it seems that the results are off somehow. The section that covers number of shiny rares in one pack, for instance, caps it at 1. You have a 99.55% chance to get no shiny rare, and a .45% chance to get 1 shiny rare. Then it says 0% chance for more than that. That doesn't make sense to me. As long as each card has some chance of being rare, and each card has some chance of being shiny, there should be at least some possibility of getting all 10 shiny rares in one pack—however slim that might be.
Quote: I feel I should point out that randomized booster packs are a very tough sell to most customers these days. Also, giving only the last card a chance to be rare is quite possibly done for logistical reasons rather than marketing ones (doing a separate chance on each card may be more laborintensive and therefore drive the cost up).
Yeah, thanks for this, and for everyone else weighing in on the unlikelihood of making a break with TCGs. I'm actually working on a VTCG as a pet project, so printer distribution limitations aren't a factor. I should have clarified that from the getgo, as of course you would think I'm going for a printed set, since I'm on BGG to begin with lol. But yeah, I don't expect any profit and am just looking for the fun of designing something like this. I'm working with my friend who has a framework programmed, but the game design itself is rather tragic, so I'm helping him polish it up.
KAndrw wrote: You can get average yields by just adding up the percentages (as proportions of 1)
The average pack will yield: 6.3 commons 2.25 uncommons 0.45 rares
So more than half the time a pack will have no rares.
I'm pretty sure that one of the old CCGs tried a distribution like this, and I'm pretty sure it was a dismal failure. Buying a pack and getting no rares is a surefire way to feel cheated.
Make slot 9 a guaranteed rare instead. Though presumably this is all a thought experiment, since indie physical CCGs are a doomed model nowadays...
Hm, .45 rares per pack is too low. These are the kinds of stats I need to see so that I can tweak the numbers accordingly. If I can figure out how to use that AnyDice site, that'd be quickest I suppose, although all of that "output" wording is confusing me.

Jake Staines
United Kingdom Grantham Lincolnshire

Boy Jordan wrote: The section that covers number of shiny rares in one pack, for instance, caps it at 1. You have a 99.55% chance to get no shiny rare, and a .45% chance to get 1 shiny rare. Then it says 0% chance for more than that. That doesn't make sense to me. As long as each card has some chance of being rare, and each card has some chance of being shiny, there should be at least some possibility of getting all 10 shiny rares in one pack—however slim that might be.
I think you'll find that the reason for this is that AnyDice rounds the results off to two decimal places. So while there is technically a chance of getting more than one shiny rare card in a pack, it's less than 5 thousandths of a percent.
For example, the odds of getting nine rares are:
0.09 * 0.08 * 0.07 * 0.06 * 0.05 * 0.04 * 0.03 * 0.02 * 0.01 = 3.63x10^13
Which is roughly 1 in 2800000000000.
The odds of any one of those being shiny is 0.01, so the odds of all of them being shiny are:
3.63x10^13 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 = 3.63x10^31
Which is roughly 1 in 2800000000000000000000000000000.
In percentage terms, that's 0 percent in any sane rounding. To put it in context, if this were a printed, foilwrapped game and you were sat next to an infinite pile of boosters, taking a reasonable 'fast' estimate for how long it takes you to open a booster pack and examine the cards it would take about 500 million million million centuries to open enough boosters to find one with that configuration, assuming an even proportional spread of cards and a dedicated staff to bring you new boosters, clean up all the waste you generate throwing the discarded rejects over your shoulder, feeding you through intravenous pipes and pumping you with drugs that make sure you never need to sleep.
(You'll never get ten shiny rares in a pack, 'cause you stated that the pack is nine cards. ;)



Bichatse wrote: Boy Jordan wrote: The section that covers number of shiny rares in one pack, for instance, caps it at 1. You have a 99.55% chance to get no shiny rare, and a .45% chance to get 1 shiny rare. Then it says 0% chance for more than that. That doesn't make sense to me. As long as each card has some chance of being rare, and each card has some chance of being shiny, there should be at least some possibility of getting all 10 shiny rares in one pack—however slim that might be. I think you'll find that the reason for this is that AnyDice rounds the results off to two decimal places. So while there is technically a chance of getting more than one shiny rare card in a pack, it's less than 5 thousandths of a percent. For example, the odds of getting nine rares are: 0.09 * 0.08 * 0.07 * 0.06 * 0.05 * 0.04 * 0.03 * 0.02 * 0.01 = 3.63x10^13 Which is roughly 1 in 2800000000000. The odds of any one of those being shiny is 0.01, so the odds of all of them being shiny are: 3.63x10^13 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 * 0.01 = 3.63x10^31 Which is roughly 1 in 2800000000000000000000000000000. In percentage terms, that's 0 percent in any sane rounding. (You'll never get ten shiny rares in a pack, 'cause you stated that the pack is nine cards. ;)
Ah, makes sense. Okay.
And derp! Yes, 9 cards in the pack, so getting 10 is impossible. I must've typed that went playing with the thought of adding a tenth card at 40/50/10 to increase the odds, but that alone wouldn't be enough.
This has been helpful. I'll have to keep tweaking numbers. What I'm looking for is an average of 7/2/1 C/U/R per pack. My friend really, really wants the last cards in the pack to have the highest chances of being more exciting—perhaps for some sense of suspension/satisfaction in finishing a pull, I'm not sure—hence the odd distribution rather than just making each the average 7/2/1. At the same time, we don't want the guaranteed structure just because of how it adds futility to earlier pulls. I'm sure we'll figure something out, but at this point I'm wondering if just doing 70/20/10% chance for each card is better. Surely simpler.

Jeremy Lennert
United States California

Boy Jordan wrote: Thank you for this, although it seems that the results are off somehow. The section that covers number of shiny rares in one pack, for instance, caps it at 1. As Bichatse says, it's rounding the % to two decimal places in the display. If it calculated the probability to be exactly zero, it wouldn't display that row at all.
If you want to see the results with more precision, you can click the "export" button. For shiny rares, that gives results of:
#,% 0,99.5508690556 1,0.44826283247 2,0.000867168793688 3,9.42471771803e7 4,6.3138446011e10 5,2.6889103821e13 6,7.22859397411e17 7,1.17187886984e20 8,1.026249408e24 9,3.6288e29
(The reason that says e29 and Bichatse said 10^31 is that Bichatse expressed the result as a probability, but this table is expressing it as a percentage, i.e. multiplied by 100.)
Boy Jordan wrote: If I can figure out how to use that AnyDice site, that'd be quickest I suppose, although all of that "output" wording is confusing me. It's really not that hard.
For example, when it says "d100 <= 1", that means a 1% chance of including a card (it rolls a 100sided die, and checks if the result is 1 or less). Similarly "d100 <= 2" is a 2% chance. If you add them together, that gives the probability distribution for a 2card pack where the first card has a 1% chance to be rare and the second card has a 2% chance to be rare.
So the first line just continues that pattern up to 9, and adds them all together. If you wanted to change it so that the fifth card has a 10% chance instead of a 5% chance, you'd just find the part that says "d100 <= 5" and change it to "d100 <= 10".
The last line is the same as the first, except instead of rolling a d100, it rolls a d10000. I added an extra two zeroes because each rare has only a 1% chance of being shiny (so the first one is 1 chance in ten thousand, instead of 1 in 100).
The middle line could have written "d100 <= 1" nine times and added them all up, but since they're all the same it just tells anydice to treat that whole expression as a single die (effectively, a 100sided die that says "1" on one side and "0" on the other 99 sides), and roll that die 9 times. Hence, "9d(d100 <= 1)".
The "named" part just tells anydice how you want that result labeled in the output; it has no effect on the calculations.

Jeremy Lennert
United States California

Boy Jordan wrote: What I'm looking for is an average of 7/2/1 C/U/R per pack. Averages are really easy. (Though of course you'll need to go to 10 cards per pack if you want the averages to add up to 10.)
The average number of cards is just the sum of all the probabilities. For example, if you have a 2card pack where the first card has a 17% chance of being rare and the second card has a 42% chance of being rare, the average number of rares is just 0.17 + 0.42 = 0.59.
So if you want an average of 1 rare per pack, just make all of the rare probabilities add up to 100%.
Similarly, if you want an average of 2 uncommons per pack, just make all of the uncommon probabilities add up to 200%.
Note that the average number of rares is completely different from the probability of at least one rare.



Antistone wrote: Boy Jordan wrote: Thank you for this, although it seems that the results are off somehow. The section that covers number of shiny rares in one pack, for instance, caps it at 1. As Bichatse says, it's rounding the % to two decimal places in the display. If it calculated the probability to be exactly zero, it wouldn't display that row at all. If you want to see the results with more precision, you can click the "export" button. For shiny rares, that gives results of: #,% 0,99.5508690556 1,0.44826283247 2,0.000867168793688 3,9.42471771803e7 4,6.3138446011e10 5,2.6889103821e13 6,7.22859397411e17 7,1.17187886984e20 8,1.026249408e24 9,3.6288e29 (The reason that says e29 and Bichatse said 10^31 is that Bichatse expressed the result as a probability, but this table is expressing it as a percentage, i.e. multiplied by 100.) Boy Jordan wrote: If I can figure out how to use that AnyDice site, that'd be quickest I suppose, although all of that "output" wording is confusing me. It's really not that hard. For example, when it says "d100 <= 1", that means a 1% chance of including a card (it rolls a 100sided die, and checks if the result is 1 or less). Similarly "d100 <= 2" is a 2% chance. If you add them together, that gives the probability distribution for a 2card pack where the first card has a 1% chance to be rare and the second card has a 2% chance to be rare. So the first line just continues that pattern up to 9, and adds them all together. If you wanted to change it so that the fifth card has a 10% chance instead of a 5% chance, you'd just find the part that says "d100 <= 5" and change it to "d100 <= 10". The last line is the same as the first, except instead of rolling a d100, it rolls a d10000. I added an extra two zeroes because each rare has only a 1% chance of being shiny (so the first one is 1 chance in ten thousand, instead of 1 in 100). The middle line could have written "d100 <= 1" nine times and added them all up, but since they're all the same it just tells anydice to treat that whole expression as a single die (effectively, a 100sided die that says "1" on one side and "0" on the other 99 sides), and roll that die 9 times. Hence, "9d(d100 <= 1)". The "named" part just tells anydice how you want that result labeled in the output; it has no effect on the calculations.
Many thanks. So if I changed all of this so that there's 10 cards in each pack, and each card has a rate of 70/20/10% chance for C/U/R, and 1% for shiny, would this be how I set up the calculations? I just want to make sure I'm understanding correctly.
And you're doing d10000 for shiny rares because of d100 x d100...right?
http://anydice.com/program/6e9e

Jeremy Lennert
United States California

Looks correct to me.


