“Free toy in every pack! Collect all 12!”

Have you ever wondered why companies offer promotions like this? How many packets of cereal would you have to buy to have a decent chance of collecting all twelve? Let’s see what the math says!

So, your child has started a collection of cereal packet toys. So far, they have one toy from the collection – there’s still 11 to collect. So, you go and buy a packet of cereal, and it contains a toy. You’ll probably (an 11 in 12 chance) get a different toy, so you’ll have successfully expanded your child’s collection with just one packet of cereal. However, there’s a small chance (1 in 12) that this first packet you buy will contain the same toy your child already has. If a million parents were doing the same as you, about 83000 would find they’d need to buy a second packet. Of those, about 7000 would be unlucky enough to have to get the same toy yet again and need to buy a third packet, about 600 would need to buy a fourth packet, 50 or so a fifth, and a small handful of parents would need to buy six or more packets of cereal to get the second different toy in the collection.

Since most parents need to buy 1 packet, but a small number need to buy more, the average number of packets you can *expect* to buy is just a little over 1. In fact, since the chance of getting a new toy is 11 in 12, the average number of packets of cereal you’ll need to buy is 12/11, or 1.090909.

So, now you have two of the twelve toys. How many packets will you need to buy to get a third?

Now, when you buy a packet of cereal, you have a 10 in 12 chance of getting a new toy, and a 2 in 12 chance of getting one your child already has. These are still pretty good odds, so the average number of packets you can expect to have to buy is still slightly over 1. In fact, it’s 12/10, or 1.2.

When your child has three toys, you’ll need to buy, on average, 12/9 or 1.333333 packets to get your child a fourth new toy. To get the fifth new toy takes, on average, 12/8 or 1.5 packets, and the sixth toy will take 12/7 or 1.714286 packets. These odds are not so good any more, but they soon get much worse as your child’s collection nears completion. Before we see how much worse, let’s add up how many packets of cereal you’ve bought so far.

You bought 1 to get the very first toy. On average, you’ll need 1.090909 to get the next toy, and so on. The total number of packets to get 6 of the 12 toys is 1 + 1.090909 + 1.2 + 1.333333 + 1.5 + 1.714286 packets of cereal, or 7.84 packets. Almost eight packets of cereal for six toys. That’s bad news for you, good news for the cereal company, and your child’s collection is far from complete…

The 7th, 8th and 9thÂ toys cost you 12/6, 12/5 and 12/4 packets each, on average. That’s another 7.4 packets of cereal for just 3 new toys. The next two toys cost you 4 and 6 packets of cereal each. Then, the final 12th toy takes an interminable period of “plleeeeeeeease! Just one more!!” accompanied by trips to the supermarket, and multiple disappointments as each new toy is one of the 11 previously collected. If you persist, it will take on average 12 packets of cereal before the final missing toy is found. You can expect to buy about 37 packets of cereal to complete the collection of 12.

If there are N toys, the average will be, instead, N x (1/1 + 1/2 + 1/3 + 1/4 + … + 1/N). This complicated sum in the brackets can be approximate using a function called the “natural logarithm”. You’ll find it on a scientific calculator (look for the ‘ln’ button), or Google can work it out for you. Type 12 * ln(12) into Google to see what I mean.

Actually, ln(N) is always a bit smaller than 1/1 + 1/2 + 1/3 + … + 1/N. For largish N, you’ll do better with ln(N) + 0.57. The number 0.57 is a special number called Euler’s constant (to two decimal places). Google can work this out for you too.

But the technical details are not so important. The point is that “collect all 12” is not the same as “buy 12 packets of cereal”. If the cereal company can get your child hooked, you are looking at three times that many breakfasts of their brand. And it gets worse as the number of toys gets bigger – collecting 16 different toys would cost about 55 packets of cereal. I once saw a sign advertising “collect all 28!” I quickly walked away.

But it gets worse – there’s actually a lot of variation in the number of packets you’ll need to buy. You could easily have to buy about 13 more or less than the average, to collect all 12 toys. about 1 in every 40 parents will be unlucky enough to have to buy 64 packets of cereal for a collection of 12 trinkets.

Finally, all this math assumes each toy is equally likely to be in each packet. A savvy cereal company could make the 12th toy so rare that only 1 in every 100 packets contained it. Then all these numbers can go through the roof!

Keep this math in mind next time you’re child asks you to buy this or that brand of cereal in order to complete a collection of toys….

Thanks, this is a clear explanation. I wrote about this same problem in slightly more technical terms here

http://bbzippo.wordpress.com/2011/06/25/expected-number-of-kids-meals-to-catch-em-all/

Do you know of any elementary (or not) way to compute the median and percentiles here? I mean how many packets do you need to buy in order to collect all toys with probability P?

Not offhand, but I’, fairly sure that for large N, you can use the normal approximation. That’s why I made my comment about 1 in 40 parents buying 64 packets.