I’m writing to ask how tagtime (android version) updates a do more goal.
I have just started using it, and I thought that the app would update the
goal with the time between two pings.
Instead, for every ping, a fixed increment is sent. I’m curious about this
behavior.
Nerd version: the gaps between pings are described by an exponential distribution, the expectation of which is the rate parameter (or reciprocal of that, I forget), which is 45 minutes. So you can reduce the variance slightly by using the actual gap between current and previous ping but it’s going to converge to 45 minutes anyway and it simplifies things to just treat it as a constant 45 minutes. For example, this tool wouldn’t work if you tried to use actual gaps: tminder.meteor.com [EDIT: mind.tagti.me]
PS: Actually I think I just proved to myself that it’s wrong to try to use actual gaps. Like it could introduce bias. Say it’s been 5 hours since the last ping: now you know that the next ping will be worth more than 5 hours so you’ll work your butt off for the next (in expectation) 45 minutes to make sure you get it. Ie, you can cheat: screw around until you notice a long ping gap, then buckle down. TagTime would then exaggerate your time estimate!
PPS: Ah, I remember now, Joseph Cloutier solved this problem by using the next ping gap. So the amount of time you get credit for isn’t determined until the following ping happens. That probably (I’m not totally sure yet) solves the bias problem but I don’t like it because if I’m down to the wire to get my last emergency pings by midnight I don’t want to wait to find out if I made it.
Nerd version: the gaps between pings are described by an exponential
distribution, the expectation of which is the rate parameter (or
reciprocal of that, I forget), which is 45 minutes. So you can reduce
the variance slightly by using the actual gap between current and
previous ping but it’s going to converge to 45 minutes anyway and it
simplifies things to just treat it as a constant 45 minutes. For
example, this tool wouldn’t work if you tried to use actual gaps:
Thanks a lot! It’s the first time I see the exponential distribution
(whose expected value is parameter^{-1}, btw) in real life
Indeed, using the actual gap might make sense only at the very beginning,
when someone may think to be credited a wrong amount of time.
Even without going deeper in detail (that is, calling in the exponential
distribution) over the long term makes perfectly sense, because if some
pings are too close (extra credit), they will be compensated afterwards by
some other, more rare pings (too less credit).
PS: Actually I think I just proved to myself that it’s wrong to try to
use actual gaps.