I've been considering the mathematics of the now global ice bucket challenge.

Simple model

In the simplest incarnation, there is one original seed, who then nominates 3 others, each of which take the full 24hrs to complete the challenge, and then nominate 3 others who each do the same. Thus the number of people who've completed the challenged, $n_f$, increases by $3^d$ each day, where $d$ is the number of days since the start of challenge. In other words we have:

$$ n_f(d)=1+3+9+....+3^d $$

using the sum of a geometric series we find

$$ n_f(d)=\frac{1}{2}(3^{d+1}-1) $$

So how many days until the entire global population has done the challenge?

$$ d=\frac{\ln{(2n_f+1)}}{\ln{(3)}}-1, $$

which is about 20 days if we take 7billion as world pop. Not surprisingly this simple model has given a big underestimate as supposedly the challenge began on 15 July and is still ongoing.

Slighty more complex model

Clearly not every one of the 3 nominees will complete the challenge, either through apathy or possibly because they have already done it. Apathy is hard to quantify, so instead considering the probability of picking nominees not already in the set of ice bucket challenges finishers(where global population is $NW$):

$$ p = \left(1-\frac{n_f}{NW}\right) $$


$$ n_f(d+1) = n_f(d)+3\left(1-\frac{n_f(d)}{NW}\right)\left(n_f(d)-n_f(d-1)\right),.... n_f<NW $$

This looks a bit like the logistic equation for bacteria population growth, the difference is that with bacteria all existing bacteria are contributing to the increase in population on any given day in the chain, whereas with ice bucketers only the front line are "breeding" the next line (i.e. they can only "give birth" once), so instead of a term $~\left(1-\frac{n_f(d)}{NW}\right)n_f(d)$ you get the above.

Can it be solved for $n_f$ a function of days? and has anybody got any better models/ideas for modelling how the population changes over the days?


I made a very simple program in Python to replicate this. https://repl.it/CRBC What I might do next is have my program get the data from a website that says the world population, so that the number can be calculated more accurately.

  • 1
    $\begingroup$ What's wrong with that answer? :-( $\endgroup$ – 0WJYxW9FMN May 30 '16 at 19:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.