# Help me understand (the details of) retroratcheting

**URL:** <https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576>\
**Category:** Newbee\
**Created:** [November 20, 2018, 7:23pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576 "2018-11-20T19:23:53Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [November 20, 2018, 7:23pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/1 "2018-11-20T19:23:53Z")

</div>

I have read the FAQ and the glossary, but I couldn’t find an answer to the following question:

What happens when I retroratchet during the day?

- Say I have a Do More goal with slope 4 (units) per day.
- I start an eep day at -2 (below the road, meaning I finished yesterday at +2).
- Now I log 7 units (so I’m +5 units now, relative to the edge).
- Then I retroratchet to 0 days before the day is over.

What will my count relative to the edge of the road be? Will it go down to -4 units (so that I still have to do 4 before the day’s deadline), to +/- 0 units, or to some safety buffer?

So I guess I am basically asking where exactly retroratchet takes you and if there is a difference in when during a day I retroratchet.

---

<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:** [November 23, 2018, 6:45pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/2 "2018-11-23T18:45:07Z")

</div>

> [@howtodowtle](#):
>
> So I guess I am basically asking where exactly retroratchet takes you and if there is a difference in when during a day I retroratchet.

Here’s a long-winded “I don’t know” answer…

My general advice would be to avoid situations that require knowing the calculations.

It shouldn’t matter when during a day you retroratchet, except possibly in relation to the data you’ve already entered today, because (I think) it’s calculated based on where you are in relation to the road and its slope.

My mental model (which could be wrong) is that the road is lowered in increments of the slope, until your current datapoint is off the road. So, in the situation outlined, I’m pretty sure that it wouldn’t go to -4, given a slope of 4 and a position of +5. My guess would be -3.

Mostly I use autoratchet (“max safe days”) to ensure that I don’t build up too much safety buffer, without needing to manually change it.

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [November 24, 2018, 9:39am UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/3 "2018-11-24T09:39:23Z")

</div>

Thanks for the explanation, @philip!

I have come to a similar conclusion: Avoid doing anything drastic where I am not sure what will happen. I’ve tried and failed after opening this thread (or, maybe succeeded because I was suddenly below the road and worked more than I otherwise would have…). Same goes for backdating or downgrading data points… I just need stick to the basics for now. 😃

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 5:11am UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/4 "2019-01-06T05:11:28Z")

</div>

Relevant:

> [@Another retroratchet bug: daily total resets](https://forum.beeminder.com/t/another-retroratchet-bug-daily-total-resets/4242):
>
> I have a goal where I need to log 2 units/day. If I’ve logged 1/2 and then retrorachet to today, it resets the daily total, incorrectly making it so I still have 2/2 to do today.

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [January 6, 2019, 8:35pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/5 "2019-01-06T20:35:49Z")

</div>

Yes, I think that was the situation I was in. I’m not sure if it’s incorrect that it does what you experience (since retro to today probably means “emergency day, still need the daily dose”) but it wasn’t clear to me either.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 8:39pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/6 "2019-01-06T20:39:31Z")

</div>

I am sure it’s incorrect! Post on that thread - maybe it’ll help since it’s a “Bugabee” thread.

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [January 6, 2019, 8:52pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/7 "2019-01-06T20:52:33Z")

</div>

But if “retroratchet to 0 days” means **“retroratchet to a state where the user still has to do a full day’s work”** [1], then it’s correct, right?

We both probably think/thought that “retroratchet to 0 days” meant **“retroratchet to a state where the user had an emergency day at the start of the day”** [2], but one could certainly argue for the first interpretation.

That’s why I asked this question in the beginning, to find out what retroratcheting to x days means technically. Still haven’t found out 100 % but now I just never go to 0 days any more out of caution. 😉

Maybe @dreev can help and point of it “retroratchet to 0 days” means statement 1 or 2 or something else altogether?

_[1] In that case, if you had already done 1/2 before, you would now still need to do 2 more._  
_[2] In the second case, if you had already done 1/2 before, you would only have to do 1 more._

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 9:27pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/8 "2019-01-06T21:27:22Z")

</div>

As currently defined (unless it’s been changed since I posted that bug report), it means #1. But it should mean #2, as I argued in the bug report.

---

<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:** [January 6, 2019, 9:44pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/9 "2019-01-06T21:44:35Z")

</div>

Squinting at the code, I think it matches my mental model that retroratchet effectively deletes a chunk of road so that the number of safe days what you asked for. It doesn’t take the data into account, other than using it’s cumulative total value (at the time you press the button!) to calculate the number of safe days.

If your road is on a nice stable unchanging slope, the road change will be in chunks of daily slope – in your example, it’ll be moving 2 units.

Point being, this could leave your datapoints anywhere inside that range, relative to the road. Could be 2, 1, or even 0.1 needed to get back on the road.

If you want to ratchet to zero (and I often do myself), I’d recommend doing it at the beginning of the day, not partway through.

Alternatively, you could add a temporary negative datapoint to simulate the road being where it was first thing today, ratchet to zero, and then delete that datapoint.

---

<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:** [January 6, 2019, 9:48pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/10 "2019-01-06T21:48:06Z")

</div>

> [@howtodowtle](#):
>
> We both probably think/thought that “retroratchet to 0 days” meant **“retroratchet to a state where the user had to an emergency day at the start of the day”** [2], but one could certainly argue for the first interpretation.

Nice phrasing, and almost true. Nothing to do with the start of the day, though.

So, ratcheting to 0 days means [3] **“retroratchet to a state where the user IS in an emergency day.”**

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 10:27pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/11 "2019-01-06T22:27:13Z")

</div>

(deleted)

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [January 6, 2019, 10:29pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/12 "2019-01-06T22:29:17Z")

</div>

Thanks for the help, @philip.

I’m still not 100 % sure but I’ll try to rephrase your explanation for myself:

> At the time I press the button, “retroratchet to 0 days” deletes as many **daily chunks** of road such that **now** is an emergency day.

Example:

- My commitment is 2 things per day.
- I am currently +10.2 things from the edge of the road
- I do 1 thing so now I am +11.2
- I retroratchet to 0.

Behavior I expected (when I made this thread):

- I’m now -1 (since my commitment is 2 and I already did 1). # Exactly @zedmango 's situation.

Behavior I would get (if I understood your explanation correctly):

- I’m now -0.8 (since it takes my current +11.2 and deletes chunks of 2 until I am negative).

That’s how I understand [3] now?

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [January 6, 2019, 10:30pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/13 "2019-01-06T22:30:00Z")

</div>

In any case, this

> Alternatively, you could add a temporary negative datapoint to simulate the road being where it was first thing today, ratchet to zero, and then delete that datapoint.

should be a workaround to enforce the behavior I first expected.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 10:30pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/14 "2019-01-06T22:30:47Z")

</div>

> [@philip](#):
>
> If your road is on a nice stable unchanging slope, the road change will be in chunks of daily slope – in your example, it’ll be moving 2 units.  
> Point being, this could leave your datapoints anywhere inside that range, relative to the road. Could be 2, 1, or even 0.1 needed to get back on the road.

As my bug report indicates, that’s not what happened when I did it. It always reset so I needed exactly 2.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [January 6, 2019, 10:35pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/15 "2019-01-06T22:35:59Z")

</div>

I just tested again and the bug is fixed! Yay!  
Thank you beeminder!

---

<div class="post-metadata">

**Author:** ![howtodowtle](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/howtodowtle/32/2284_2.png) [@howtodowtle](https://forum.beeminder.com/u/howtodowtle)\
**Post date:** [January 6, 2019, 10:38pm UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/16 "2019-01-06T22:38:19Z")

</div>

Good to know! I’m still being cautious with 0 day resets I think. Been burnt twice. 😃

---

<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:** [January 7, 2019, 6:39am UTC](https://forum.beeminder.com/t/help-me-understand-the-details-of-retroratcheting/4576/17 "2019-01-07T06:39:50Z")

</div>

That sounds right to me, and your phrasing is better than mine!

It’s hard to intuit because for a particular goal you might be in a habitual pattern where it always **seems** to reset to the beginning of the day, or always **seems** to account for what you’ve done already today, etc.
