Slow Temptation Bundling Using the Autodialer

At @mary’s suggestion, I’ve added a new option to the Beeminder Autodialer:


Put simply, this option allows you to dial one goal based on your average rate in another goal.

For example, for quite a while I’ve bundled exercise and tech entertainment–by exercising more, I earn more time to spend on tech entertainment. I used to do this manually–by entering a -1 in my techtainment goal when I completed an exercise block. Later I switched to using to do more or less the same thing automatically.

The new Autodialer option makes this use case trivial:

Slug Fineprint
exercise #autodial
techtainment #autodialFrom=exercise

And that’s it. Now both goals will be autodialed, and the techtainment goal will use the last 30 day’s average rate from the exercise goal when dialing itself.*

This becomes more flexible when you combine it with the other dialer options, such as #autodialMin, #autodialMax, #autodialAdd, and #autodialTimes. By including these options, you’re able to manipulate how the average rate from the source goal is used to calculate the average rate for the target goal.

For example, say I wanted to only earn half as much time for entertainment as I put into exercise. I could do this by adding an additional option to the techtainment goal’s fineprint:

Slug Fineprint
exercise #autodial
techtainment #autodialFrom=exercise #autodialTimes=0.5

I’m pretty excited about this new feature, and I’ve already got plans for how I may be using it. Super interested to hear your thoughts and if it could be improved further!

* One caveat to this is that the autodialer will be extra conservative in how much it changes the rate if either the source or the target goal is less than 30 days old. This is the case whether you’re using #autodialFrom or not, but when using #autodialFrom, the minimum age between the two goals is used to determine the dialer’s level of conservatism for the target goal.


Ooh neat. This is way better than my old hacked-together version of this!