# Musings on retroratcheting

**URL:** <https://forum.beeminder.com/t/musings-on-retroratcheting/568>\
**Category:** Akrasia\
**Created:** [March 7, 2015, 12:40am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568 "2015-03-07T00:40:53Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![callumm](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/callumm/32/248_2.png) [@callumm](https://forum.beeminder.com/u/callumm)\
**Post date:** [March 7, 2015, 12:40am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/1 "2015-03-07T00:40:53Z")

</div>

I have a goal setup to reduce my Facebook time. This was so successful (for a while) that I had almost a month of safety buffer built up. Of course, when you have that much buffer it almost makes the goal meaningless, and sure enough I started to waste time on FB again, going so far as to install it on my phone (the hubris)!

So I decided to rap my knuckles via retroratcheting. Now, of course, my parasympathetic nervous system hasn’t caught up to the fact that there is no safety buffer left, and I’m in the red on a ‘do-less’ goal. Does that mean I automatically derail tonight? Is there anything I can do?

I’m also interested in the philosophy behind the retroratchet? Is it primarily a device for keeping the pressure on, or is it meant to test our natural tendency towards overoptimism?

---

<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:** [March 7, 2015, 12:52am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/2 "2015-03-07T00:52:50Z")

</div>

I’ve never had much success with retroratchet. It has lots of sharp edges in the way it is implemented, but beyond bugs there’s also the mental discontinuity you mentioned.

I’ve had more luck with the dashboard I built which displays weekly average rate vs the road dial’s rate. This lets me know if I am on a collision course and need to improve. If I’ve built up a big buffer, I can steepen the road to bleed off the buffer slowly – or maybe I’ll actually start doing more and the buffer won’t go away!

---

<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:** [March 7, 2015, 1:20am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/3 "2015-03-07T01:20:12Z")

</div>

> [@callumm](#):
>
> I’m in the red on a ‘do-less’ goal. Does that mean I automatically derail tonight?

You should treat it that way. There’s actually one loophole but it’s super confusing. [1]

> [@callumm](#):
>
> I’m also interested in the philosophy behind the retroratchet? Is it primarily a device for keeping the pressure on, or is it meant to test our natural tendency towards overoptimism?

(: If you [follow our advice](http://blog.beeminder.com/burnout "Beating Beeminder Burnout") to start very conservatively then many people find themselves with so much safety buffer that there’s no point, so ratcheting is important. As @drtall says, the current implementation has problems – we expect it to be much nicer when we finish the Road Editor. Keep bugging us in the meantime, or have us fix things for you by emailing support.

> [@drtall](#):
>
> dashboard I built which displays weekly average rate vs the road dial’s rate

Link? Probably worth it’s own forum thread too! Even just screenshots to whet our appetite…

* * *

* * *
[1] I'll explain it in this footnote since you asked! The criterion for derailment is "in the red yesterday and also today". Which sounds weird but it makes it simple to test at midnight: it's now the new day so did I make it back on the road in time or not? For Do More goals that's exactly the right test. For Do Less goals it means that if you exceed the road by less than the daily rate then at midnight when it checks it says "you were in the red at the end of yesterday but now today you're orange, so you're ok". This doesn't totally ruin the point of the Do Less goal. You still have to maintain the average rate you committed to. But if you take this to the akratic extreme it means you can do twice the daily rate every other day (and nothing in between). So if you were right on the top edge yesterday then the next morning you'll start right at the centerline. That means you can do one day's worth to hit the top edge and another day's worth into the red. The next day you'll [flatline](http://blog.beeminder.com/glossary#flatline "Flatlining as a concept doesn't make sense for Do Less goals; we have plans to fix this! In the meantime we have Pessimistic Presumptive Reports to fix it.") back to the very top edge of the road again (where doing anything \>0 will put you in the red and derail you since you ended the previous day in the red) and the cycle can repeat.

You probably did not want to know that.

---

<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:** [March 7, 2015, 1:33am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/4 "2015-03-07T01:33:36Z")

</div>

> [@dreev](#):
>
> Link? Probably worth it’s own forum thread too! Even just screenshots to whet our appetite…

Oh no, this one I don’t think you want. I tried to make the Beebegone thing suitable for public consumption but this one is a total mess of hacks and it’s super ugly too. Basically it prints an html file that I have open in Chrome using an extension to auto-refresh it…

[![](https://dl.dropboxusercontent.com/s/wqbjlkat7je23ug/Screenshot%202015-03-06%2017.32.33.png?dl=0) ](https://dl.dropboxusercontent.com/s/wqbjlkat7je23ug/Screenshot%202015-03-06%2017.32.33.png?dl=0)

> [@dreev](#):
>
> You probably did not want to know that.

Yeah I had a bunch of conversations with support about my Do Less goals mysteriously not derailing or alternatively mysteriously derailing after I thought I had understood all the rules. I burned out big time right around then 🙂

---

<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:** [March 7, 2015, 1:34am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/5 "2015-03-07T01:34:56Z")

</div>

> [@dreev](#):
>
> You probably did not want to know that.

Seriously, understanding that loophole will literally make Beeminder worse for you. Memetic hazard!

It’s easier said than done to fix it, since some of us are used to the ridiculous loophole, but we definitely intend to do so. Maybe as part of the [reminders revamp](http://forum.beeminder.com/t/feature-request-email-reminders-safe-day-limit/277/3) we can add additional warnings for Do Less goals and then start enforcing what you’d naturally assume we did all along: going into the red on a Do Less goal means unavoidable derailment (unless there’s such a thing as doing a negative amount, which sometimes there is, say, for net calories).

---

<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:** [March 7, 2015, 1:38am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/6 "2015-03-07T01:38:29Z")

</div>

> [@drtall](#):
>
> mysteriously derailing

Any derailment that can at all be described as mysterious warrants an immediate “wtf” reply to the legit check and we will definitely cancel the charge (and be very grateful for your help in debugging; even if it turns out to technically be PEBCAK it’s really important that derailments always be super predictable so you’re helping us a ton by expressing any genuine surprise you experience).

---

<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:** [March 7, 2015, 1:46am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/7 "2015-03-07T01:46:44Z")

</div>

Oh I definitely reported them all and never got charged any money for anything that was bogus. But it was really draining. It made Beeminder worse in exactly the way that you described.

---

<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:** [March 7, 2015, 1:47am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/8 "2015-03-07T01:47:37Z")

</div>

> [@drtall](#):
>
> this one I don’t think you want

Is the part that computes the historical weekly rate a reasonably self-contained bit of code? Maybe that would be easy for us to add to the stats in the sidebar.

Either way, super cool that you did this!

---

<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:** [March 7, 2015, 1:48am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/9 "2015-03-07T01:48:51Z")

</div>

Retroratcheting to 0 after a derail & unfreeze STILL gets me after all this  
time. That’s part pebcak and part “wtf”. Cause I’ve known about it for ages  
and so I should remember, but think there should probably be a safeguard  
against it.

---

<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:** [March 7, 2015, 1:55am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/10 "2015-03-07T01:55:45Z")

</div>

> [@dreev](#):
>
> Is the part that computes the historical weekly rate a reasonably self-contained bit of code?

Don’t say I didn’t warn you!

> **[def epoch\_time(d): """Seriously this is the best way to do this???""" retu...](https://pastebin.com/ypuxi55U)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

After that loop is done, GoalMetadata has an entry for each goal with any data in the last TWO\_WEEKS\_AGO. Note that today\_count, week\_count, and prior\_week\_count reference the constants, so with NUM\_WEEKS = 2 they’re actually today, last 2 weeks, and weeks 3-4 ago.

These are counters, so to get the average weekly rate divide by NUM\_WEEKS. Or you could divide by 7 \* NUM\_WEEKS to get daily, or to be really fancy look up the runits.

This doesn’t make a ton of sense for odometer goals. I just filter those out and don’t display anything for them.

---

<div class="post-metadata">

**Author:** ![tomjen](https://avatars.discourse-cdn.com/v4/letter/t/839c29/32.png) [@tomjen](https://forum.beeminder.com/u/tomjen)\
**Post date:** [March 7, 2015, 6:23pm UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/11 "2015-03-07T18:23:40Z")

</div>

Retroratcheting is very much a dangerous feature, but it is still super awesome. I have used beeminder to do goals like take a cold shower every day for 30 days and I couldn’t have succeeded without the threat of having to pay up, just to be able to face the same situation tomorrow.

That said it seems in generally to the an issue with do less goals - the road, time to derail, being on the road, under the road etc seemed excessively confusing to me, whereas they all make sense for a do more goal/odometer goal.

---

<div class="post-metadata">

**Author:** ![nepomuk](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/nepomuk/32/878_2.png) [@nepomuk](https://forum.beeminder.com/u/nepomuk)\
**Post date:** [March 12, 2015, 9:26pm UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/12 "2015-03-12T21:26:15Z")

</div>

I really feel like the default retroratcheting behavior should be to give you one day’s worth of green. You’re healthily in the green already, so you must have been doing something right; retroratcheting to give yourself less buffer so that you stay accountable shouldn’t make you feel like you’re being punished, or it becomes a big disincentive. It should go from a ton of green to a small margin of green, not from a ton of green to accusatory orange, IMHO.

---

<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:** [March 13, 2015, 6:25am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/13 "2015-03-13T06:25:00Z")

</div>

> [@nepomuk](#):
>
> should go from a ton of green to a small margin of green, not from a ton of green to accusatory orange

Small correction (and let me know if you’ve seen counterexamples): standard retroratchet shifts the centerline of the road to be right under your current datapoint. Technically that means you’re right at the boundary of blue and orange but Beeminder should always show that as blue.

Great point that retroratchet should maybe default to getting rid of all your excess green but still leave you (barely) green. For now you’ll need [Bee Lite](http://beeminder.com/premium) for that.

---

<div class="post-metadata">

**Author:** ![callumm](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/callumm/32/248_2.png) [@callumm](https://forum.beeminder.com/u/callumm)\
**Post date:** [March 22, 2015, 6:35am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/14 "2015-03-22T06:35:44Z")

</div>

Yes - I just noticed that it’s a premium feature the other day. Don’t be afraid to plug those premium features in cases of drive-by whinging (like mine)!

---

<div class="post-metadata">

**Author:** ![martyh](https://avatars.discourse-cdn.com/v4/letter/m/53a042/32.png) [@martyh](https://forum.beeminder.com/u/martyh)\
**Post date:** [May 4, 2015, 1:05am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/15 "2015-05-04T01:05:23Z")

</div>

I htought I had said the same thing before, but can’t find my comment. If I’m on the good side of the road and retroratchet, I should be at the edge, not the middle. I earned that bit of buffer and there is no easy way to dump the excess above the YBR.

If Retroratchet is to have a single opiton, this makes more sense than putting me on the centerline.

---

<div class="post-metadata">

**Author:** ![philip](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/philip/32/1505_2.png) [@philip](https://forum.beeminder.com/u/philip)\
**Post date:** [May 4, 2015, 6:55am UTC](https://forum.beeminder.com/t/musings-on-retroratcheting/568/16 "2015-05-04T06:55:16Z")

</div>

Hi @martyh — Danny’s answer from a while back still stands. As always, agitating for this and clicking the heart on @martyh’s post are good ways to help us gauge the priority. Plus it might be a straightforward [uvi](http://www.blog.beeminder.com/uvi).

> [@dreev](#):
>
> Great point that retroratchet should maybe default to getting rid of all your excess green but still leave you (barely) green. For now you’ll need Bee Lite for that.
