Help me understand (the details of) retroratcheting

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.

1 Like

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.

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. :smiley:

1 Like


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.

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

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. :wink:

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.

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.

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.


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."

1 Like


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.


  • 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?


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.

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

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

1 Like

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


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.

1 Like