# Triangular beeminding for tracking alcohol consumption

**URL:** <https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543>\
**Category:** Akrasia\
**Created:** [February 25, 2015, 9:18pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543 "2015-02-25T21:18:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 25, 2015, 9:18pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/1 "2015-02-25T21:18:54Z")

</div>

This is an experimental goal I’m running that whomever was behind the twitter account today suggested I should post about here, so here I am. 😄

I drink a little too much. Not like “I have a problem” too much, but more like “I could probably stand to have maybe 2 or 3 fewer drinks a week” too much.

I’ve previously beeminded units of alcohol consumption and concluded that actually measured as a number of units per week I’m _fine_. Certainly well within the recommended health guidelines - most nights I don’t actually have anything at all, so this brings the averages down to acceptable levels.

The problem is that on nights that I _do_ drink I probably have a few drinks more than I should. I make tasty cocktails, and after a tasty cocktail or two making another one sounds like a much better idea.

And by the third drink of the evening I will usually discover the next day that it _wasn’t_ a good idea.

So I decided to try to design a goal with an incentive structure that matched up to the actual problem and kept the number of evenings I had too many drinks down while not penalising evenings where I’ve just had the one too harshly. What I’ve come up with seems like a nice general structure, and it’s not too hard to track.

What I’m tracking is a total drink-score per week. The first drink on a day scores one, the second scores two (for a total of 3), the third scores 3 (for a total of 6), etc. These totals are called triangular numbers, hence the name triangular beeminding.

(Note: These are drinks, not units. It’s easier to track and I try to keep my beeminder goals in units that I can easily eyeball rather than having to estimate. Especially if I have to estimate them after a few drinks. Most of my drinks are approximately two units).

I’m then capped at a total score of 15 per week. This equates to a maximum of 11 drinks in a week (3 days with 1 drink and 4 with 2), which at my averages is _just_ over the recommended maximum of 21 units, but that’s because 15 is my slightly generous starting rate for the goal. It also means that if I have more than two drinks on any night I’m forced under the recommended maximum to compensate - if I have 3 drinks on 1 night I only have 9 points to spend for the rest of the week, which is another 7 drinks and a point left over, so 20 and a bit units (note that one point left over ~ an extra drink over the course of the next two weeks).

Example permitted maximum drinking patterns:

1. 4 days with 2 drinks and 3 days with 1 (0 points left over)
2. 1 day with 3 drinks, 1 day with 2 drinks, 5 with 1 (1 point left over)
3. 2 days with 3 drinks, 3 days with 1 drink, 2 days alcohol free (0 points left over)
4. 1 day with 5 drinks (!) and no drinking the rest of the week (0 points left over)

Note that 3 days with 3 drinks is not permitted even with the remaining rest of the week free: That would be 18 points which takes me over the threshold.

So far this is experimental. I only started this today (In which I racked up 3 points celebrating the release of a friend’s game), so it may turn out to be far too complicated in practice. We’ll see how well this actually works, and I’ll report back when I know. However I’m quite pleased with the incentive structure it sets up, and it seems relatively simple to implement, so I’m reasonably hopeful.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 25, 2015, 9:49pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/2 "2015-02-25T21:49:57Z")

</div>

Oooh this is a goodie.

Previously I have been doing this via two separate goals, one for drinks per week (do less) and one for days\_per\_week\_with\_zero\_drinks (do more) and needless to say it is annoying and confusing.

How do you do your data entry? Do you enter the triangle numbers yourself into Beeminder?

EDIT: The more I think about this the more I like it, because it actually encourages you to drink less per sitting. My days\_per\_week\_with\_zero\_drinks goal actually encourages binge drinking provided there’s enough credits on the other goal (and they derail independently so the math gets hard).

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 25, 2015, 9:54pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/3 "2015-02-25T21:54:25Z")

</div>

Data entry is just manual: I enter each drink individually, so for the first of the day I enter 1, the second 2, etc. The triangle numbers just come out of Beeminder adding them up for me.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [February 25, 2015, 9:57pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/4 "2015-02-25T21:57:03Z")

</div>

This is really clever! It reminds me of schemes we’ve talked about for minding backlogs where the metric is the sum of the squares of the ages (in days) of the tasks in your backlog. ([Braden Shepherdson](https://github.com/shepheb)’s idea.)

My first worry with things like this is violating the [QS First Principle](http://blog.beeminder.com/whattomind "The QS First principle is that you should prefer metrics that are interesting, from a quantified-self perspective"). But that’s mitigated by the fact that you can convert triangular beeminding to the actual cumulative total after the fact. You just have to invert the formula for the nth triangular number.

So if you got `x` points on some day, that means you had `(sqrt(8*x+1)-1)/2` drinks that day.

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 25, 2015, 10:01pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/5 "2015-02-25T22:01:13Z")

</div>

I’m also coming to this after having done the straightforward QS version and concluding that the numbers weren’t actually that interesting for me - they’re well within acceptable bounds, and I don’t care much beyond that knowledge. But yeah if you want to do that the maths is easy - you can also just count data points because of how it’s entered

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 26, 2015, 12:49am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/6 "2015-02-26T00:49:49Z")

</div>

> [@dreev](#):
>
> violating the QS First Principle

Yeah I burned out on my booze goals because of this too. _Especially_ when it is a Do Less goal, the manual entry is even more burdensome.

Not sure how you could automate this, besides [this thing](http://www.businessinsider.com/vessyl-smart-cup-2014-6).

---

<div class="post-metadata">

**Author:** ![insti](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/insti/32/545_2.png) [@insti](https://forum.beeminder.com/u/insti)\
**Post date:** [February 26, 2015, 6:29am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/7 "2015-02-26T06:29:37Z")

</div>

Beeminder should allow you to enter a formula for the score, so you can enter the number of drinks as data and Beeminder does the math for you. #featurerequest

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 26, 2015, 7:42am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/8 "2015-02-26T07:42:05Z")

</div>

A thing I have found previously is that do less goals work very well when I’m basically always riding up against the limit and don’t really work for me at all otherwise. Basically if I can think of it in terms of “I want to do this thing. Do I currently have permission to do that?” then I can just incorporate adding the data point as a prerequisite to doing the thing and everything works smoothly. If I _know_ I’m safe and have loads of buffer then I can just sortof forget about it (even with the pessimistic presumptions) and tell myself I’ll patch it up later even when I really won’t.

For example, when I was trying to use beeminder to curb my coffee consumption a while ago it was very effective, because oh god I want to drink all the coffee and beeminder was there acting as a gatekeeper. Once I relaxed the goal and raised it to a point significantly above my intake, it kinda fell apart, and that has also been my experience with a few other things I’ve tried.

I actually think the triangular beehives will help with this. The nice thing about the rising cost of each drink is that it’s very easy to press up against the limit without that meaning you’re drinking alcohol right up to the max safe number of units - it doesn’t take very many drinks in an evening to blow your entire weekly points budget even when you can easily afford one or two.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [February 26, 2015, 7:59am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/9 "2015-02-26T07:59:26Z")

</div>

Oh! Now that you mention it, @insti, it’s trivial for us to make a new aggday function, “triangulate” or whatever, that would be, I guess, `sum*(sum+1)/2` and, voila, now @drmaciver can just enter 1’s like always and the right point values will magically get graphed. (And better yet, if this turns out to be a terrible idea, he can just set aggday back to sum. Maybe we’ll also have a road editor by then to retroactively make the YBR make sense for the updated aggregation function…)

Dang, now I’m so excited about how easy this is I’m going to deploy it right now!

And done!

PS: Oops, after doing this I see @drmaciver wants to ruin my fun. I even converted his trianglealcohol graph already to make sure it works. (It does!) I’ll reply further in a new post…

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 26, 2015, 8:08am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/10 "2015-02-26T08:08:53Z")

</div>

I don’t mean to be a fun ruiner, but I confess I’m not actually sure I’ll use the new aggday option. One of the things I like about the manual entry is that it makes the cost of each drink explicit: A third drink costs as much as 3 first drinks, which forces me to actually think about whether I _really_ want it that much. I feel like I’d lose some of the psychological benefit of that if I had beeminder automatically calculating it behind the scenes.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [February 26, 2015, 8:50am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/11 "2015-02-26T08:50:12Z")

</div>

Ha, check out the PS I just added on my previous post. So, yeah, too late! 😀

Ok, but is there a way to have the best of both worlds? Can you mention the new triangle number in the comments to emphasize to yourself how many points are being added?

Anyway, [your trianglealcohol graph](https://www.beeminder.com/drmaciver/goals/trianglealcohol) is converted now, so give it a try and if you really don’t like it I’ll convert it back for you.

For anyone else wanting to do this, setting `aggday=triangle` requires a custom goal, which is a [premium](http://beeminder.com/premium) perk.

(And we’ll call this a UVI so thanks once again, David, even if you don’t actually want to use this!)

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 26, 2015, 8:52am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/12 "2015-02-26T08:52:40Z")

</div>

Yeah, I noticed that had happened. 🙂 No problem. As you say, I’ll give it a go and see what I think.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [February 27, 2015, 5:33pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/13 "2015-02-27T17:33:17Z")

</div>

Now a [major motion blog post](http://blog.beeminder.com/triangle "Thanks again, David; this was brilliant")!

---

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [February 27, 2015, 9:24pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/14 "2015-02-27T21:24:16Z")

</div>

I’m definitely going to use this. There is a hobby of mine, for example, that has a diminishing return the longer I spend on it, but is worthwhile earlier, in each session, than it’s worth in marathon sessions. I can track minute-points in a do-less graph to promote spreading that time spent out over longer periods, or at least to curtail the not-as-worthily marathon sessions. This might be true, too, for a goal like meditation, where (for me) a long session is worth more than three very short sessions. I could see using this for a do-more goal for meditation minutes-points.

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 28, 2015, 7:11am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/15 "2015-02-28T07:11:40Z")

</div>

Hmm. Using this for do more goals is a good idea. There are a bunch of exercise goals where I tend to coast along at doing the bare minimum per day, so never actually improve my capabilities much.

e.g. I have a pushups goal where I have to do just over 25 pushups / day. If I do 26 pushups / day that gives me 2457 triangle points. I might try setting a triangular aggregated additional pushups goal set at 3000 / week to see what happens.

---

<div class="post-metadata">

**Author:** ![insti](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/insti/32/545_2.png) [@insti](https://forum.beeminder.com/u/insti)\
**Post date:** [February 28, 2015, 8:54am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/16 "2015-02-28T08:54:49Z")

</div>

> [@drmaciver](#):
>
> I have a pushups goal where I have to do just over 25 pushups / day.

That’s a pretty inspiring to me, my pushups goal is currently at 15 per week!

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 28, 2015, 9:41am UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/17 "2015-02-28T09:41:05Z")

</div>

Well why not try setting a triangle pushups goal of 50 and see if that helps you bring it up? 😄

(50 triangle pushups = doing your pushups in 3 days with 5 each is _just_ not enough. That would be 45. 7, 6 and 2 would get you to 52. 3 days with 6 pushups would comfortable exceed it at 63 points)

---

<div class="post-metadata">

**Author:** ![aspiers](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/aspiers/32/201_2.png) [@aspiers](https://forum.beeminder.com/u/aspiers)\
**Post date:** [February 28, 2015, 1:31pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/18 "2015-02-28T13:31:40Z")

</div>

Thanks all, this is an interesting development 🙂

Personally I have a similar problem with averages but I’m interested in beeminding _troughs_ more than _peaks_. For example, I have goals to do the following every day: a certain number of press-ups, a certain number of minutes reviewing my TODO list, and a certain number of minutes of music practice. Of course the weekly averages matter, but I also want to make sure I don’t skip a day and then get away with it by doing more the next day.

In other words, I want to beemind my _consistency_. Can this be done?

---

<div class="post-metadata">

**Author:** ![drmaciver](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drmaciver/32/80_2.png) [@drmaciver](https://forum.beeminder.com/u/drmaciver)\
**Post date:** [February 28, 2015, 1:53pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/19 "2015-02-28T13:53:05Z")

</div>

How much do the weekly averages matter? The easiest thing to do would be to just change your goal structure to enter datapoints as either 1 or 0 depending on whether you’ve done enough that day. If you do also care about the real totals then with a bit of API jiggering you could probably set that up to automatically populate a second goal which does that from the first.

---

<div class="post-metadata">

**Author:** ![aspiers](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/aspiers/32/201_2.png) [@aspiers](https://forum.beeminder.com/u/aspiers)\
**Post date:** [February 28, 2015, 1:57pm UTC](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543/20 "2015-02-28T13:57:29Z")

</div>

The weekly averages definitely matter - I really want to track amount done rather than just binary “done” or “not done” per day. Yes probably possible through API but I have no time to do that and two goals is a bit of an ugly hack anyway - I think it should be supported natively.

[Next page](https://forum.beeminder.com/t/triangular-beeminding-for-tracking-alcohol-consumption/543.md?page=2)
