Unintuitive break behaviour?


I had spoke with Nicky when I first ran into this thinking it was a bug, but after realizing this was normal behavior I thought it peculiar that scheduling a break for, say, a month from now, locked in the rate the activity is currently at.

I had created a test beeminder to demonstrate.


If I create a beeminder at rate 7 per week today today, and schedule a break from 10-1 thru 10-02 and then attempt to adjust the steepness of the road today to 10 per week, it doesn’t kick in until the break occurs two months from now.

I think the behavior I expected from this was if I were to schedule a break for October, changes to the road gauge would kick in before the scheduled break or rate change, and be maintained after the break (the latter of which does work).

Furthermore, there doesn’t seem to be a way to fix this if done by accident (as I did) I assume without using the (Visual or Regular) Road Editor. But, nominally, the road editor (non-visual at least) is under Beemium.

First, why is the break behavior like this? It feels inflexible to schedule breaks as a consequence as a new user, as it completely clamps down the flexibility of changing the road gauge for the following week for scheduling too far in advance. Are breaks not meant to be scheduled that far out, only directly on the Akrasia horizon?

Secondly, I believe that an option to cancel breaks or cancel future rate changes for non-beemium accounts would be useful, unless the Visual Road Editor is meant to be accessible to all users, as in the documentation there lacks a clear answer to what to do if you accidentally type in the wrong numbers for a break or scheduled rate change.



Thanks for posting! It’s always useful to get a user perspective on this sort of thing. I’ll try to walk you through it, but please ask tons of questions if anything still seems weird…

So, I think it’s less an intentional thing and more about the way the graph works. If you’ve used the Visual Road Editor, you’ll have seen the road matrix. Here’s the version admins see:


Each entry there says "on this date, the road was at this amount (e.g. on the 19th June 2019, where it’s 6.35) or the road was at this rate (e.g. all the others, where the number is in the rightmost column). To set a break, we need to set the date the normal rate ends, and then the date the 0 rate ends. When you put in a break using the “take a break tool”, it takes today’s rate as “the normal rate”… and that doesn’t get changed if you later change your rate. I don’t know if this is something that can be changed in future, but it is in our feedback spreadsheet!

You can always cancel breaks and future rate changes without Beemium – in fact, there’s nothing in Beemium level subscription that would help you do that better than the options available to anyone! :slight_smile: The easiest way is just to set a new “break” using the “Take a break” tool, and set the rate to your normal rate instead of 0. This can also let you change the rate between now and a previously set break!

The other way would be to use the visual road editor, of course, but it’s a more complex option and you probably need to understand how the road matrix works. I can do a quick example…


Say you’ve got this road setup, with a rate of 2 ending on 2020-07-28 and a rate of 0 ending on 2020-07-31. You’ve changed your rate since setting this goal, and you want to make it be a rate of 4 between 2020-06-19 and 2020-07-28. So you go to the 2020-07-28 line and change the 2 to a 4, and save it. Done!

However, you do need to be careful with that. If it’s 2020-06-26, and you haven’t been keeping up a rate of 4 for the time in between, you will derail yourself if you submit that change. So you might want to insert a new row in between 2020-06-19 and 2020-07-28, dated 2020-06-26, and set that to 2 in the rightmost column, to lock in the rate you’ve been sticking to.

If you accidentally type in the wrong numbers in the visual road editor, you should be able to see that on the graph and just not submit the change… did something else happen for you? That would be really helpful to know!

Did I cover everything? :slight_smile:


Appreciate the thorough response!

Is the Visual Road Editor accessible to non-beeplus and above after beta? If not, I think the base annoyance still remains that users would have to use the “take a break” option to set their rate instead of the road gauge if they schedule their break too far in advance, which doesn’t seem intuitive. If they do have access to the road editor, a reference in the help article titled “Can I put my goal on pause?”, to the visual road editor would be useful, I believe, and an explanation on how to use the “take a break” option to set the rate if you want to override a break would also be a good addition with this being the current best route to fixing break issues.

I think one of Beeminder’s best features is the automatic bookkeeping done when setting the road dial on the akrasia horizon and not really having to think about dates - while I understand how to fix it after speaking with you in an email, breaks seem like a real hassle to deal with [without access to the road editor], since you have to go to a submenu every time you wanted to change the road rate. The take a break option fix takes away a lot of the automatic bookkeeping for setting a rate for sometime in the future.

The visual road editor seems like the best option out of everything - I had used it successfully after speaking with you in a support email to fix the break by just deleting it, and generally the above makes me want to avoid using breaks unless the break is directly on the akrasia horizon to avoid having to use any of these features except when absolutely necessary.

Again, thanks for the reply - things work for now but I still feel strongly that break behaviour is counterintuitive, although I couldn’t be sure if a different implementation would Pareto Dominate the current implementation in some obscure use case…


Good question! Our intention is for the visual road editor to be built in to Beeminder proper and probably available to everyone, though we’re deep into figuring out a restructuring of a lot of things for the premium plans. (One possibly crazy idea is to make auto-ratchet aka capping your safety buffer be part of the free plan and make it a premium feature to turn that off if you want to be able to get an unbounded amount of safety buffer!)

In any case the confusion you ran into with scheduling a break and then trying to dial in a new rate is something we’re working on but is tricky to get right without going straight to the visual road editor where all the possible weird interactions are immediately manifest and there’s an undo button, etc.

Really appreciate the thorough bug report and the other thoughts on improving Beeminder in this regard! (I’m also delighted that you’ve apparently seen our blog post on the Pareto Dominance Principle.)


I do hope you prevent auto ratcheting from moving breaks around if you go this route.

1 Like