Beeminder Forum

Triangular beeminding for tracking alcohol consumption

Yup. This can be done by going into the “Terrifyingly Advanced” settings and making your “Safe Days” (at the bottom of the page) 0. That will force an eep day every single day, no matter how much you’ve accumulated. (That might require being on a "Bee Lite plan; I’m not sure. I was on “Plan Bee” for over a year and am on “Beemium” now, so I’ve kind of lost track of what’s what when it comes to the different features you can get with each plan.)


Yes, autoratchet is a premium plan option.


Ahhh OK thanks, I wasn’t aware of that!

Beware it doesn’t actually work. I recently started premium and from what I can see, max safe days values of less than 2 are treated as 2. So you can’t force an eep with that feature.


A problem I’ve just realised for the meditation use case is that it doesn’t count multiple sessions in the same day right for that. Two 30 minute sessions on one day should be counted the same as two 30 minute sessions on two days, not the same as a 60 minute session on one day.

You could achieve a similar effect manually by entering the square of the number of minutes you meditate when doing data entry I guess.

1 Like

Doh, I think you’re right (haven’t confirmed myself yet)! We should fix that, especially if it was part of the reason anyone decided to pay for a premium plan. (Let me know!)


That’s what “jolly” aggregation does, plots a 1 if you entered any data that day and a 0 otherwise. HT @jolly.

+1 To “yes, please let me force myself to do something every day, no matter the previous day’s success” Some goals work fine with safe days, others don’t. I haven’t figured out the pattern.

1 Like

This may be infeasibly awkward, but between this request and the triangular pushups thing I’m doing it feels like it would be nice to be able to support multiple aggregation methods on a given graph with different precommitments for each aggregation method.

I guess the weak version of this would be to do it like I’ve got the trianglepushups goal doing and just support beeminder graphs whose autodata comes from other beeminder graphs.


Semi-relatedly, how would you feel about adding a square aggregation mode as well?

The reason is that I’m considering doing something like this for a tag time powered goal, and the triangle number formula has weird scaling factor issues for the sort of scales that would involve. Square has the nice property that doubling the amount of time I spend on something while keeping the distribution the same increases the total weekly rate by a factor of 4, while there’s no similar scaling for the triangle numbers.


If square applies to the individual datapoints, that solves the 2 x 30 minute meditation problem above.

square-sum vs sum-square

1 Like

It does, but that wouldn’t actually be what I want for a tagtime goal because it always records the same value which is my ping interval measured in hours.

1 Like

Your wish is my command. Added “square”, returning the square of the sum of the values each day.

Well I was about to sign up for a premium plan so that I could enforce hitting a goal every day, but it sounds like I should wait until this actually works?

1 Like

This is the nudge we need! Thanks! Note that the current limitation is that you can’t automatically ratchet yourself to an emergency day every day, you can just auto-ratchet the road to your current datapoint, so you can never have more than 2 days of safety buffer. If you’re generally skating the edge then you’ll still generally have an emergency day every day anyway.

So I think it’s rare to actually want such extreme auto-ratcheting. But if that’s you then we should certainly let you, and this might be an easy fix (or might be surprisingly hard – not sure yet). In any case, if you email us – – we can give you a steep discount for guineapigging this for us. Thanks again!

I was also interested in auto-ratchet to 0 safe days, combined with weekends off. But I think that still wouldn’t work because the auto-ratchet would consume the flat road section from the weekend.

I would in theory be able to implement vacation-aware auto-ratchet in the tool I’m writing, though, because it would be able to see your vacation config.

1 Like

That’s another vote for implementing true breaks, as opposed to the current mechanism of flattening a section of road.


True, it would be easier if Beeminder had a proper concept of a break. Not just for this, but also so that the road dial would still work. The tool I’m writing hacks around this by letting you set a horizon on the vacation creation date, so you can say, e.g., “My vacation is April 4 - April 10 but don’t enter it until that’s sooner than 14 days from now so that my road dial still works”.

I think the only tricky business is to decide what happens to the would-be road during the break. I am planning on offering 3 choices. First you flatten the road during the break and then: 1) steepen the road before the break to account for the missed work (you’ll reach the total you would have had after vacation on the day the vacation starts), 2) steepen the road after the break to account for the missed work (you’ll reach your ultimate goal total on the ultimate goal date, but you won’t do any extra work before. With repeated vacations like weekends-off, this can set up a chain-reaction making the end road section arbitrarily steep.), or 3) do nothing (you won’t reach your ultimate goal total on your ultimate goal date anymore, but perhaps you don’t care – your rate of progress on non-break days will still be the same).


Autoratchet on do more goals was broken for some unspecified-but-probably-embarrassingly-long amount of time, but I did some debugging in there last week or so, and it should now have the same result as if you manually ratcheted to that value. Major caveat: autoratchet doesn’t play nice with future changes / breaks. So if you schedule breaks or changes in rate in the future, you probably don’t want to also have autoratchet on.

Autoratchet on do less goals is actually using an entirely different algorithm, and you can’t ratchet yourself any closer to the edge than blue, I believe.


Hmm, now I’m not sure if auto-ratcheting to 0 days of safety buffer is exactly what I want.

My goals are:

  • practice at least 5 minutes of music every day without exception (this is crucial for forming a daily habit)
  • average X hours of music practice per week, where ideally X >= 6 but should be dial-able over the months depending on other time commitments (this is crucial for longer-term progress, since 5 minutes a day will hardly get me anywhere)

In the sense of the first goal, every day is an emergency day in Beeminder-speak, although that doesn’t really encourage a helpful mental attitude, since while I want to feel a continual sense of urgency to maintain the habit, I don’t want to be feeling in a constant panic every day either!

The second goal should kick in if I do the bare minimum 5 mins/day for too many days in a row, creating a genuine emergency if in the last 7 days I’ve totalled less than X hours of practice.

So as an extreme example, if I did 6 days in a row of 5 mins/day, and then 10 hours in one day, Beeminder should consider that I’ve hit my goals.

Now the problem here seems to be that Beeminder can only apply one constraint per goal - is that right? If so I expect I’ll be receiving some advice “create multiple goals and enter your daily data into both”, but that’s really ugly. I only want a single graph where I track the data. Or am I missing another way to achieve what I want?

1 Like