This post discusses the coupon collector problem, a classical problem in probability.
The Coupon Collector Problem
The problem is usually stated as a coupon collector trying to collect the entire set of coupons. For example, each time the coupon collector buys a product (e.g. a box of breakfast cereal), he receives a coupon, which is a prize that can be a toy or a baseball card or other interesting item. Suppose that there are different types of coupons (prizes) and that the coupon collector wishes to collect the entire set. How many units of the product does the coupon collector have to buy in order to collect the entire set?
A simplified discussion of the coupon collector problem is found in another blog post. This post is more detailed discussion.
This blog post in another blog discusses the coupon collector problem from a simulation perspective.
As shown below, if there are 5 different coupons, it takes 12 purchases on average to get all coupons. If there are 10 different types of coupons, on average it would take 30 purchases. If there are 50 different types of coupons, it would take on average 225 purchases collect the entire set. The first few coupons are obtained fairly quickly. As more and more coupons are accumulated, it is harder to get the remaining coupons. For example, for the 50-coupon case, after the 49 coupons are obtained, it takes on average 50 purchases to get the last coupon.
Suppose that the coupon collector does not want to collect the entire set and only wishes to collect distinct coupons where . It turns out that this special case only requires a minor tweak to the case of collecting the entire set. Our strategy then is to focus on the main case. The special case will be discussed at the end of the post.
We first consider the main case that the coupon collector wishes to collect the entire set. The problem can be cast as a random sampling from the population . Selecting a number at random from with replacement is equivalent to the coupon collector receiving a coupon. Let be the minimum number of selections such that each number in is picked at least once. In this post we discuss the probability function of as well as its mean and variance.
Another interpretation of the problem is that it can be viewed as an occupancy problem, which involves throwing balls into cells at random. The random quantity of interest is the number of balls that are required to be thrown such that each cell has at least one ball. Clearly this formulation is identical to the coupon interpretation and the random sampling interpretation. The angle of occupancy problem is useful since we can leverage the formulas developed in this previous post. A description of the occupancy problem is given here.
Regardless of the interpretation, the goal is obtain information on the random variable , the minimum number of random selections from in order to have the complete set of distinct values represented in the sample.
Mean and Variance
The mean and variance of are easier to obtain. So that is where we begin. The key is to break up into a sum as follows:
where is the additional selections from to get a number that is distinct from the distinct numbers that have been chosen. For example, is the number of random selections to get a number that is distinct from the two distinct numbers obtained up to that point.
Note that each involves repeated sampling until some criterion is reached, thus resembling a geometric random variable. Indeed they are. As the sampling continues and as more distinct values are obtained, it is not as easy to obtain a new number. After distinct numbers have been obtained, the probability of drawing a new distinct number is . As geometric random variables, each has the following mean and variance.
where . Note that the random variables are independent. The value of does not depend on how many trials it takes to draw the previous distinct numbers. The following gives the mean and variance of .
The expectation can be rearranged as follows to give more information.
The quantity is the partial sum of the harmonic series. Note that as . Thus as . The quantity can be interpreted as the average number of units of product that are required to purchase per coupon. The following table lists out the expected values for selected values of .
Table 1 gives an estimate on how long to expect to collect the entire set of coupons for selected coupon sizes. The third column gives the expected total number of purchases to obtain the entire coupon set. The second column gives an estimate of how many purchases on average to obtain one coupon. For the 50-coupon case, it takes on average about 4.5 purchases to obtain one coupon. However, it does not tell the whole story. To get the 50th coupon, it takes on average 50 trials. Note that in the 50-coupon case in formula (1). In a simulation of the 50-coupon problem, it took 54 trials to obtain the 50th coupon. To get the 49th coupon, it takes on average 50/2 = 25 trials.
The Occupancy Problem
We now view the coupon collector problem as an occupancy problem in order to leverage a formula from a previous post. Suppose that we randomly throw balls into cells. Let be the number of empty cells as a result of randomly assigning balls into cells. The following gives the probabilities where .
The notation is the binomial coefficient, which is the number of ways to choose objects out of objects where order does not matter. The calculation is defined by .
The formula (5) gives the probability of having empty cells. In throwing balls into cells, the probability of having occupied cells is then .
The Probability Function
We now discuss the probability function of the random variable , namely for . The event means that all cells are occupied after throwing balls with the first balls landing in cells. Putting it in another way, there are zero empty cells after throwing balls and there is 1 empty cell after throwing the first balls. This can be stated using the notation in the preceding section on the occupancy problem as follows:
Consider the following derivation.
Rather than memorizing the probability function in (7), a better way is to focus on the thought process that is inherent in (6).
One comment about the calculation for (7). The summation for has terms. A given probability may involve multiple values of , e.g.
Unless the number of values for is very small, the calculation should be done using software. Microsoft Excel is an excellent way to perform the calculation. The calculations for the examples below are programmed in Excel.
Suppose that a fair die is rolled until all 6 faces have appeared. Find the mean number of rolls and the variance of the number of rolls. What is the probability that it will take at least 12 rolls? What is the probability that it will take more than 15 rolls?
Using the notation developed above, the random variable of interest is . Its mean and variance are:
The following is the probability function for .
For each , the quantity requires 6 calculations. Performing the calculations in Excel, the desired probabilities are:
Even though the average number of trials is 15, there is still a significant probability that it will take more than 15 trials. This is because the variance is quite large.
An Internet startup is rapidly hiring new employees. What is the expected number of new employees until all birth months are represented? Assume that the 12 birth months are equally likely. What is the probability that the company will have to hire more than 25 employees? If the company currently has more than 25 employees with less than 12 birth months, what is the probability that it will have to hire more than 35 employees to have all 12 birth months represented in the company?
The random variable of interest is . The following shows the mean and probability function.
Performing the calculation in Excel, we obtain the following probabilities.
A Special Case
We now consider the special case that the coupon collector only wishes to collect distinct coupons where . Of course, is the total number of distinct coupon types. Let be the minimum number of purchases such that distinct coupons have been obtained. In the random sampling interpretation, would be the minimum sample size such that distinct elements have been chosen from the sample space . The mean and variance of follow from the same idea. Each is the independent sum of geometric random variables as in (0).
Thus and would be like (1) and (2) except that the summation is through instead of .
For the probability function of , we only need to tweak the thought process expressed in (6) slightly. For the event to happen, exactly cells are occupied after throwing balls with the first balls landing in cells. In other words, there are exactly empty cells after throwing balls and there are exactly empty cells after throwing balls. The following expresses this condition in terms of the occupancy problem, i.e. similar to (6).
Here’s the important components that need to go into with the first one coming from the occupancy formula (5).
Multiply the above two probabilities together produces the desired probability for .
Note that when (collecting the entire set of coupons), formula (10) would be identical to (7). The following example demonstrates the calculation.
Consider the 6-coupon case discussed in Example 1. Suppose that the coupon collector is interested in collecting coupons. What is the expected number of purchases to get 4 coupons? What is the probability that it will take more than 6 purchases to get 4 coupons? What is the probability that it will take more than 8 purchases to get 4 coupons? Compare these results with Example 1.
The random variable of interest is . The mean is:
Note that it is much faster to obtain 4 coupons than the entire set of six. The following gives the probability function for .
Performing the calculations in Excel gives the following probabilities.
The first probability shows there is still a good chance that it will take more then the mean number of trials to get 4 coupons. The wait time is much less than in Example 1 since the probability of wait time more than 8 is fairly small.
Moment Generating Function
One distributional quantity that is easy to obtain is the moment generating function (MGF) for the random variable (the case of collecting the entire set of coupons) as well as for the random variable (the partial case). Since both of these random variables are the independent sum of geometric random variables, their MGFs would simply be the product of the individual geometric MGFs. The following gives the results.