Advent 2022: 20. Automatic Goal Rate Changes with the Beeminder Autodialer

In an earlier Advent Calendar post, I wrote about my rate improvement goal that encouraged me to slowly (and manually!) increase the slopes of my goals. There’s an exciting automated alternative: the Beeminder Autodialer by @narthur.

In brief, you tell the Autodialer which goals to look at, and for each one, it calculates an average rate from your datapoints over the past month, and then adjusts the goal’s rate to match.
This means that if you’ve been performing well and building up a safety buffer, the goal becomes a little harder to encourage you to improve further.
If you’ve been struggling and falling behind, the goal will become easier to give you a chance to recover and possibly reassess your commitments.

That may sound scary. Will it push you harder than you can cope with? Will it let you flake out and not do any work? There’s several reasons why you don’t need to worry about that:

  • The Autodialer affects only the goals that you tell it to affect.
  • For each goal you can optionally configure a maximum rate so the goal can’t ever become harder than that.
  • You can also configure a minimum rate and/or set a “strict” mode to prevent a goal being made too easy.
  • Each rate change takes effect a week from today (just like changes you’d make manually), so you have time to see the change and prepare for it, or turn off autodialing and adjust the rate yourself.
  • Your Autodialer page shows you the changes it’s made. For example, you can see old and new rate values for some of my goals in the screenshot below.

screenshot alt text

The screenshot shows a table in the Autodialer page, listing the goals that I am autodialing. For each goal, the table lists the autodial parameters, the current rate, the new rate if it’s different than the current one, whether the Beeminder “Weekends Off” setting is enabled, and how long ago the goal was created. Below is the data, with the first line being the column headers.

Slug	Min	Max	Add	Times	From	Strict	Rate	30d Avg	Wknds Off	Age	Errors
aerobic0.1/d	0.75/d	—	—	—	no	0.25/d 0.25/d	no	5 years	
breathing	—	—	—	—	—	no	0.10/d 0.10/d	no	5 months	
inboxes	—	—	—	—	—	no	16.10/d 15.57/d 15.57/d	no	8 months	
meditation	—	—	—	—	—	no	0.56/w 0.56/w	no	a year	
pomadayyo	—	12/d	—	—	—	no	5.41/d 5.41/d	yes	8 months	
reading	—	—	—	—	—	no	0.17/d 0.18/d 0.19/d	no	23 days	
stretches	—	12/d	—	—	—	no	5.50/d 5.37/d 5.37/d	no	a year	
time	—	—	—	—	—	no	9.04/d 8.76/d 8.76/d	no	2 years	

That table also gives a useful summary of the autodial settings for each goal (the columns will make sense once you’ve read the information on the Autodialer page). If you’re not sure which settings to start with, you can use just the basic #autodial tag and see how that works for you (just keep an eye on the rates if you’re not using the #autodialMax tag).

The Autodialer may be a great option for some of your established goals if you want to push yourself further, or if you’re overwhelmed and would like non-essential goals to be easier for a while.

It may also be useful for starting a new goal, especially if you’re not sure whether the goal is right for you, or if you’re starting multiple goals at once (not usually recommended because of burnout). Start the goals with a tiny rate and turn on autodialing. Work on the goals when you can and let the dialer do its magic. This may help you build up momentum slowly, and if you use an #autodialStrict tag, it won’t let you backslide.

See the comment from @narthur about how he sets up the Autodialer for his new goals.

Another exciting use is Slow Temptation Bundling Using the Autodialer - you can autodial an entertainment goal based on your performance in a work/exercise goal!

I believe the Autodialer was inspired by @dreev’s once and future auto-dialer forum thread, and by an earlier autodialer that @mary built for herself. Mary has some invaluable advice in this forum comment; it was written based on her experiences with her own tool but is just as applicable when using narthur’s Autodialer.

One minor warning: If you add #SELFDESTRUCT or DELETE datapoints to your Do More goals, the Autodialer will include those values when calculating the new rate. This is probably not what you want! If you’re using that strategy with goals that are being autodialed, you might want to use the “force run” button at the end of each day when the #SELFDESTRUCT or DELETE datapoints have been removed, so that you get an updated rate change.


Thanks for the amazing writeup, @alys!

At this point I think I autodial most of my goals. For a do-more goal, I generally configure it like this:

  • I set the goal rate to be very low to start.
  • I set something like #autodialMin=0.1. This prevents the autodialer from ever completely disabling the goal.
  • I set the max safety buffer for the goal to be 7 days. This way I can “lock in” a rate increase by pushing the buffer for the goal above 7 days. (Note that this setting requires a paid Beeminder plan.)

This combination has been very effective, as it seems to really encourage me to build the behavior into my routine as a stepping stone to a stronger commitment.

I personally prefer this strategy to using #autodialStrict, since I generally like the fact that the autodialer will reduce my rate if I schedule a break or derail on the goal.


For some reason, I had never noticed this! Awesome! There’s a goal I’m definitely going to use this for.