The coupon collector problem is a classic question in probability theory. Imagine there are n distinct coupon types, and each time you draw a coupon, it is chosen uniformly at random from those n types. You keep drawing with replacement (putting coupons back) until you have at least one of every type. The central question is:
On average, how many draws will it take to collect all n coupon types?
Typical real-world analogues include:
This calculator takes the number of coupon types and optionally a time per draw, then returns the expected number of draws (and time) required to complete the collection under the standard coupon collector assumptions.
The key idea is to think of collecting coupons as happening in stages. At each stage you are waiting to see a new type that you have not collected before.
n - 1 types are still missing. The probability that any single draw gives you a new type is
(n - 1) / n. The expected number of draws to get that next new coupon is
1 / ((n - 1) / n) = n / (n - 1).k - 1 distinct types, there are n - (k - 1) types still missing. The probability that the next draw is new is
(n - k + 1) / n, so the expected number of draws to get the k-th new type is
n / (n - k + 1).To finish the collection you need to pass through all stages from k = 1 up to k = n. The expected total number of draws is therefore the sum of the expected draws for each stage:
If you re-index this sum, you obtain the famous harmonic number:
Here H_n is the n-th harmonic number. For large n, this grows approximately like ln(n) + γ, where γ ≈ 0.57721 is the Euler–Mascheroni constant. That means the expected number of draws grows a bit faster than n log n, which can be surprisingly large even for moderate n.
Suppose there are 5 coupon types in a cereal-box promotion, and you want to know how many boxes you should expect to buy to get them all at least once.
Set Number of Coupon Types = 5 in the calculator and leave the time field blank or at zero if you only care about draws.
The expected number of draws is:
E = 5 × (1 + 1/2 + 1/3 + 1/4 + 1/5)
≈ 5 × 2.2833
≈ 11.42
Interpretation:
If each box takes about 30 seconds to buy and open, and you enter 30 into the Seconds Per Draw field, the expected time becomes:
Expected time ≈ 11.42 × 30 ≈ 342.6 seconds ≈ 5.7 minutes.
Now consider a game with 100 distinct items you want to collect. Set Number of Coupon Types = 100. Suppose each draw (a pull, spin, or pack opening) takes about 5 seconds, including animations and menu navigation.
The exact expectation uses the harmonic number H_100, but it is often approximated as ln(100) + γ:
H_100 ≈ ln(100) + 0.57721 ≈ 4.6052 + 0.5772 ≈ 5.1824
E ≈ 100 × 5.1824 ≈ 518.24 draws
With 5 seconds per draw:
Expected time ≈ 518.24 × 5 ≈ 2,591 seconds ≈ 43.2 minutes.
This example illustrates how expectations can quickly become large. Even though there are only 100 items, you might need over 500 pulls on average to see every one at least once.
The calculator returns an expected value, which is a long-run average over many hypothetical repetitions of the experiment under identical conditions.
For example, with n = 5 and an expectation of about 11.4 draws, it is entirely possible (though unlikely) to finish in 5 or 6 draws, and also possible to still be missing a toy after 20 draws. The expectation simply balances all these possibilities into a single average.
The spread of possible outcomes (the variance) becomes more pronounced for larger n. While this page focuses on the expected number of draws, you should keep in mind that real-world runs can vary widely around that mean.
The table below shows the expected number of draws for a few small values of n using the exact formula E = n × H_n.
| Coupon Types (n) | Harmonic Number Hn | Expected Draws E = n × Hn |
|---|---|---|
| 2 | 1.5 | 3.0 |
| 3 | 1.8333 | 5.5 |
| 4 | 2.0833 | 8.33 |
| 5 | 2.2833 | 11.42 |
| 6 | 2.45 | 14.70 |
| 10 | 2.9289 | 29.29 |
Notice how the expected number of draws grows faster than n itself. Going from 5 to 10 types does not just double the expected number of draws; it increases it by more than a factor of 2.5.
While “coupons” may sound like a toy problem, the same model appears in many domains:
In all of these cases, the calculator helps provide a baseline expectation assuming equal likelihood for all types. In practice, if some outcomes are rarer than others, the real expected number of draws will be even larger than this idealized model predicts.
This calculator is based on the standard coupon collector model. To interpret results correctly, it is important to understand its assumptions and limitations:
Because of these assumptions, the calculator provides an idealized lower-bound style estimate for many practical situations. If some items are rarer than others, or if the process changes over time (for example, pity timers, rate boosts, or changing sampling protocols), then you should expect real-world completion times to be longer than the calculator suggests.
| Aspect | What the Calculator Does | What It Does Not Do |
|---|---|---|
| Quantity computed | Expected number of draws to see every coupon type at least once. | Does not give probabilities of finishing by a specific draw count. |
| Time estimate | Optional: multiplies expected draws by your seconds per draw. | Does not account for variable or context-dependent draw times. |
| Probability model | Assumes independent draws with all types equally likely. | Does not handle biased, rare, or changing drop rates. |
| Uncertainty | Provides a single expected value as a simple benchmark. | Does not report variance, confidence intervals, or full distributions. |
| Use cases | Great for educational purposes and rough planning under idealized assumptions. | Not a precise predictor of individual outcomes in complex real systems. |
Use this tool as a way to build intuition about how long random collection processes take, to compare scenarios with different numbers of types, and to sanity-check expectations about collecting full sets in games, promotions, or experiments.