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:
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).
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:
This is the solution for a/(x^c+b), as suggested by Algohi:
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.