enter image description here

There is an April Fools game on Reddit where users with accounts can press a button (once) to reset a 60 second countdown timer:

Obviously this game must end, since there are only a finite number of user accounts (created before April 1, 2015). There is a fair bit of speculation going on as to when this game will end. The source data that can be used to analyse what is going on is in a Google Docs spreadsheet, found here:

I made this into a cloud object so it is easier to handle in the Wolfram Language directly:

data = CloudGet[CloudObject["https://www.wolframcloud.com/objects/user-7053ce31-817f-4643-aec1-eda27051bba6/thebutton"]]

This results a list of pairs {t,c}, where t is the time (in steps of 10 minutes: 10, 20, 30, ...) and c is the total number of button presses for the last 10 minutes. A sample of this list looks like this (elements 300 through 303 of data):

{{2990, 313}, {3000, 329}, {3010, 305}, {3020, 289}}

And here is a ListLogPlot of the full data:

enter image description here

It's not totally obvious what the best statistical fit for this data is. A simple linear fit:

FindFit[data, a x + b, {a, b}, x]

gives these parameter estimates:

{a -> -0.450547, b -> 2541.06}

which leads leads to a game end time (when x equals zero) of:

  • 5,640 minutes (almost 4 days).

enter image description here

Which is obviously wrong, since this would mean the game would have ended two days ago. Similarly, an exponential type fit (b Exp[-a x]) leads to a fit that undercuts most of the most recent data:

enter image description here

This is the solution for a/(x^c+b), as suggested by Algohi:

enter image description here

I am curious if anyone has good ideas to improve this estimate? I don't think using a higher degree polynomial is going to be particularly helpful. I suspect that underlying all this there is exponential decay and periodic (e.g. daily) fluctuations.

  • 1
    $\begingroup$ "No CloudObject found at the given address" ----What do? $\endgroup$
    – Ivan
    Apr 8, 2015 at 0:59
  • 1
    $\begingroup$ From what I've been reading on reddit people are keeping their votes to avoid the "game" ending. Now model that. $\endgroup$ Apr 8, 2015 at 2:01
  • $\begingroup$ Can you check this model: a/(x^c + b) /. FindFit[data, a/(x^c + b), {a, b, c}, x] ? $\endgroup$ Apr 8, 2015 at 2:31
  • $\begingroup$ @Ivan - I didn't provide the full cloud object url. I think this will work now. Let me know if not... $\endgroup$ Apr 8, 2015 at 14:11
  • $\begingroup$ Any progress with this? I spent the better part of a day exploring different models - exponential decay is only part of the story, since it alone can't explain the plateau behavior currently underway (A Exp[-B t] + C) would suggest never ending clicks). I also tried modeling total number of clicks as opposed to the click rate, again to no avail. $\endgroup$ Apr 9, 2015 at 14:00

1 Answer 1


You are attempting to model a non-linear process with a linear model. Use a non-linear model. For example:

NonlinearModelFit[data, {b Log[a x] + c, c > 0}, {a, b, c}, x]

That should give a more reasonable answer. However, if I understand the game correctly there are a finite number of single-use clicks available to it. It would be interesting to know if the fitted model reaches zero before this figure is reached.

Hope this helps.

  • $\begingroup$ I actually got an error when I tried this verbatim (NonlinearModelFit::nrnum), but I will try different things with this. Thanks. $\endgroup$ Apr 8, 2015 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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