Meta goals for managing exceptions and correlated derailments

We had a bit of a discussion about this in the Discord server.

I have an goal to track urgency load. For some reason, I don’t seem to actually have any forum thread discussing it. Anyway, as I think I’ve explained somewhere, part of the reason I wanted to do it was precisely to try to prevent this kind of edge skating followed by “avalanche of derailments”.

Despite that… I forgot about beeminder yesterday and derailed on like 7 goals! Whoops!!! (Thankfully, all but one are capped at $5.)

We discussed a bit why this still ended up happening even though I beemind urgency load. Recall that the urgency load, which my goal asks to be under a certain number, is the sum over all goals of max(0, 7 - days of buffer). So basically, to get zero urgency load you need to have a week of buffer on every goal. If you had almost 7 days of buffer on almost every goal, you could set the target at some really small number (like, I dunno, 5), and then you absolutely could not allow any goal to edge-skate. Then you would be protected from this kinda thing.

Of course, in practice I don’t have a week of buffer on every goal. So I need to set the red line at some number which is still quite large (say 70, I have a lot of goals). I am skating along with, I dunno, 3 goals that have 1 day of buffer and 8 goals that have 3 days of buffer.

Once I’m in this position… bringing a goal off the edge, from 1 day of buffer to 2, is actually no better for getting urgency_load out of the red today than getting a goal form 3 to 4! So inevitably, when I’m tired and it’s late and I need to get urgency_load out of the red… I just add more days of buffer to a goal where it’s really easy to get a day of buffer. On the other hand, some goals are really hard to generate a day of buffer (either because it requires a lot of work, or because it’s a task I can’t actually do more than once a day), and those tend to languish. And so we’re back to edge skating.

We discussed various variations of the urgency_load goal which would put a bit stronger emphasis on avoiding edge skating rather than having the full 7 days of buffer. @gfredericks suggested setting the penalty vs. number of days buffer to look like 3 3 3 2 2 2 1 0 or something, instead of 7 6 5 4 3 2 1. Another option he suggested is just making the goal with the smallest buffer count for 3x as much. A couple options I suggested are simply only counting the N goals with the smallest amount of buffer, or using a modified formula, like say max(0, 3 - buffer days), which would make getting from 1 day of buffer up to 2 really matter.

I’m still unsure whether I’ll try one of these, or try a more complicated solution like described in the OP of this thread, or no change at all.

4 Likes