Nifty trick for "days I did this other goal" goals

I find that a few of my goals come in multiples.

A good example is weight loss. I have a weight_loss goal, which is about as bog-standard as a goal comes on Beeminder. Twice, on my weight loss goal, I hit a good milestone, went out to eat, was scared of weighing in the next day, and then ended up waiting 2 weeks to weigh in, eating up my safety margin from my last “good” datapoint. Ugh.

I realized I needed a “weighed in days” goal. This goal counts the number of days I weigh in. I was able to quite easily rig this up with IFTTT and custom goals (requires a premium plan…)

I made a new IFTTT recipe. If a datapoint is added to weight_loss, add a datapoint of 1 to weigh_days. Then, go into weigh_days, turn it into a custom goal, and set the aggregation to “binary”. This means that no matter how many times I weigh in in one day, the day will have a value of 1 if I add data, and a value of 0 if I do not–and it’s all completely automatic!

I’ve been doing this for over a month now, and it’s really helped me out.


Oh, neat! I didn’t know about the binary type goal until I read this post. (I’m sure it’s mentioned somewhere else, just haven’t run into it.)


There is a forum post which documents all the different aggregation types.
I do agree that it’s hard to casually come across.


Thanks. Maybe it’s time to put together a Beeminder Power Users reference post that can be wikified, similar to the Newbees guide that’s here on the forums. Should I get this started?


Here’s an example of an issue that can occur if you do not have the aggregation set to Binary:

The above goal uses a similar IFTTT recipe, but on the 22nd when I derailed on my Weight goal there was a ‘recommitted’ data point created. This caused IFTTT trigger again, so that day ‘weigh-ins’ increased by 2 even though I only weighed myself once.


Another issue with not using binary with the “recipe” is that you can weigh
yourself a bunch of times one day and not have to weigh in for a while!


I’ve so far avoided that one by not thinking about it :smiley:

beeminder paradox:
there are 500 different settings and 99% of new users are hopelessly overwhelmed/annoyed and quit
the 1% who persist and understand the madness find more clever loopholes and ask for new settings to close them

(no negativity meant here - just something i’ve noticed that amuses me that this post reminded me of :slight_smile: )


“Nonzero data point added for this goal” (or the scarier “Data point in range”) sounds like a good someday addition to IFTTT triggers, especially when Beeminding logging for other Beeminder goals. The recommitted data point still messes up non-binary datapoint counts. And I bet there are some other use cases.

(Not sure if Beeminder is at the max number of trigger types already, though–there are six right now and they’re all pretty useful.)


Note that mirroring the actual datapoint value into a binary goal would have the effect of dealing appropriately with zero datapoints. Not useful for counting the total number of non-zero datapoints added, of course, but should work for “days I did this other goal”


2 posts were split to a new topic: Feature Request: single datasource, multiple goals

Doesn’t “pessimistic presumption” sort of prevent this? I don’t know if you can turn it on for weight loss goals, but for do less goals, if you turn on pessimistic presumptions, then a dummy pessimistic data point gets added if you don’t add any data point that day.

@spookane I have only ever needed this on “do more” goals.

@olimay, you will be our new best friend if you do this! It may also serve as a nice guide for us as “things to improve so they don’t need to be explained in a power users’ guide”. (:

(Also laughing out loud at @chelsea’s Beeminder paradox. The best of both worlds is possible and we will get there! Cf Rearranging settings )

1 Like

If you are doing this today, use the nonzero aggregation.