« Beeminder home

Beeminder Blog

People exercising on a square root symbol

This is a follow-on to Ramble Goals. To review, sometimes you just want to commit to taking some tiny step each day in the direction of a healthy habit. Then you can go beyond that minimum if you’re so inspired, but there’s no pressure to. Flexibility! Overcoming inertia!  
For Bee and me, that’s meant getting on rollers (stationary bike) for a few minutes or walking a mile (e.g., to the grocery store) >6 times a week. It’s a +1 for hitting the 1-mile minimum and that’s it.

The trouble with ramble goals is that you only get credit for starting — the proverbial or literal first mile. But sometimes you still wanna get credit for doing extra! Everyone likes a gold star. More troublingly, with a ramble goal you might find yourself always doing only the bare minimum. Our recommendation in the Ramble post is to pair a ramble goal with something like a total-distance goal. But two goals for one activity is a little clunky. Is there another way to get the best of both worlds, all with a single Beeminder goal?

There are so many ways, but now there’s a new way: The square root aggday (sqrt).

We don’t expect it to be popular and it requires setting up a custom goal (which is a premium feature), but it’s an elegant, or at least mathematically interesting, way to put more weight on getting started without accumulating (as much) safety buffer. “Aggday” is the term we use for how we aggregate the datapoints if you add multiple datapoints on a given day. For something like a weight goal, we use “min” (the default) or “max” or “last” — essentially we pick a rule for which of the datapoints to count as the Official one that gets plotted and that determines whether you’re hewing to the bright red line. For most goals — do-more goals — we sum up all the datapoints you enter during the day, and plot that against your bright red line. So if you do three sets of 10 pushups, entering three datapoints each with a value of 10 is equivalent to entering one datapoint with a value of 30.

With square root aggday, we plot the square root of the sum of the day’s datapoints. This means the credit you get for putting in additional time or effort quickly flattens out: 1 for the 1st unit, 1.4 for the 2nd unit, 1.7 for the 3rd unit, etc. If you put in 100 units of effort in a day, you only get credit for 10.

One other little perk of using aggday=sqrt is that it’s more quantified-selfy. You’re keeping track of words written, or miles locomoted, instead of just a “1” for “did I do the thing”. The graph we plot is getting squished but the underlying data is pristine.

If you’ve heard of quadratic voting, it’s the same principle. You have a budget of votes (think of it as a voting currency) but the influence you exert on any given issue is the square root of the number of votes you cast for it. So each additional unit of influence takes more and more of your limited votes. Just like with an aggday=sqrt Beeminder goal, each additional unit above the bright red line you get takes quadratically [1] more effort.

For over a decade (!) we’ve had a similar aggday setting for do-less goals that we call triangular beeminding. That’s roughly the inverse of this. The canonical example for triangular beeminding is drinks of alcohol, with each drink costing some number of points and your bright red line committing you to stay below a total cumulative number of points every day. The first drink of the day costs just one point, but additional drinks cost quadratically [2] more. Triangular numbers are a little gentler than square numbers, but they have basically the same shape:

Graph of n^2 and n(n+1)/2

The inverse of that blue curve, \(y=x^2\), is good old \(\sqrt{x}\) aka sqrt. I suppose we could’ve followed the precedent of triangular numbers for do-more goals by using the inverse of the orange curve, but it’s not quite as pretty:

$$ \dfrac{\sqrt{8x+1}-1}{2} $$

Here it is plotted in orange along with sqrt:

Graph of sqrt and triangular root

Notice that for both do-more and do-less, the orange curves are easier. For do-more, you’re using the root version where orange is closer to linear — less diminishing returns to your virtuous goal progress. For do-less, you’re using the quadratic/triangular version where orange is also closer to linear — in this case meaning less marginal penalty for a marginal unit of vice. But for now you can have the gentler triangles for do-less goals and the harsher squares for do-more goals. If you aren’t happy with these variants, by all means, let us know. It’s easy to add more.

Possible use cases

Enough nerding around, on to pragmatics!

Daily writing habit

This was where the initial idea for the square root aggday came from. A user told us they were beeminding building a daily writing habit. The consistency part was important to them; they didn’t want to build up too much safety buffer, so they proposed plotting the square root of their daily word count.

I’m not sure if anyone has tried this with a writing habit. If you did it with your word count, and your goal was to write 100 words a day, you’d set the rate of your bright red line to 10 — the square root of the target. So you’d get “full credit” for writing your 100 words. Then writing another 100 words would get you a bit less than another half a day of safety buffer. To get a full second day of safety buffer in one day, you’d have to write \(20^2 = 400\) words.

You could also do this with time spent writing, or perhaps a bit of a combo of both the ramble strategy and square root aggday by tracking “writing sessions” or somesuch?

Random tasks

This use case comes from user Alys, an excellent human and veteran Beeminder blog contributor, from whom we’ve gotten such brilliant goals as Must Do and Veggie minding in the past. Take it away Alys:

Often when I’m meant to be doing work or personal tasks, I’ll freeze from apathy or overwhelm or anxiety, and one of the best ways for me to get past that is to choose a task at random. This goal gets one datapoint for each randomly-selected task that I work on.

It can be beneficial to do a few random tasks until I’m feeling more motivated, but doing too many keeps me away from whatever my priorities should be, so reducing the credit for each additional task makes a lot of sense!

Ramble

And of course, there’s an argument for using a square root aggday for ramble-goals-but-fancier. It’s common to want a steps goal that enforces, say, 10,000 steps as a daily minimum, no matter how much safety buffer you have. The autoratchet feature works pretty well for that but this might be more elegant, and might be a nice happy medium. The square root of 10,000 is 100 so if you set that as a the rate for your steps goal (fed from Fitbit or Garmin or Apple or whatever you use) and set aggday=sqrt then you get something a bit like autoratcheting. For example, say you get 20,000 steps one day. That second 10,000 buys you less than half of tomorrow’s target. In fact, to be able to sit on your butt tomorrow you’d have to get a whopping 40,000 steps today. If you do that, you probably should take a full rest day.


 

PS: We confused ourselves on how long exactly this has been live and usable everywhere, due to discrepancies between the graph generator (Beebrain) and Beeminder proper (Beebody).

Footnotes

[1] Heard on the internet: Misuse of the term “exponentially” has been increasing quadratically.

[2] Technically triangular numbers increase quadratically, because \(n(n+1)/2\) is a degree-2 polynomial. See also the previous footnote.

Tags: