There’s a particular chore that I need to do on Monday, Wednesday and Friday every week. I have to do it on those particular days, so I need to have a beeminder goal that’s in the red on those days, and (assuming I record +1 on those days) on no other days. If I derail on one of those days, it needs to reset so that I’m back in the red for the next due day.
My first attempt at this was to use the weekends off feature, and set a slope of 0.6 (3/5). I set the goal up on a Sunday with a start value of 0, so the next day Beeminder said I was in the red - the line was at 0.6, my score was at 0, so that’s right. I did the thing, recorded +1, and came out of the red.
But then I found on Tuesday, I was back in the red! This is obvious in hindsight - I have a score of 1, but now the line is at 1.2, so I’m below the line and in the red.
Next thought: start with a score of 0.5 on the Monday.
Monday comes, score 0.5, line at 0.6, so I’m in the red; I record +1 and that’s ok.
Tue: score of 1.5, which is above the line at 1.2, so not in the red
Wed: score 1.5, line 1.8. In the red. Record +1
Thu: score 2.5, line 2.4, correctly not red
Fri: score 2.5, line 3.0, in the red, so record +1
Sat/Sun are weekend off, score is at 3.5
All of which seems to work ok, but what if I derail? Then beeminder will fix the line at my current value, and even with a 1-day respite, it will break the somewhat-fragile graph! Does anyone have any cunning plan they’ve already worked out for this kind of situation?
I can obviously manually create a stepped graph line, and I even have some little bits of code I can adapt to let me do this semi-automatically, but really I’d like a less ad-hoc solution if one existed - any suggestions?
As you’ve discovered, this kind of calandar-bound goal is difficult to beemind.
Some people use a daily goal to ask ‘have I done enough today?’, entering a 1 on days like Tuesday when ‘enough’ is ‘nothing’. If you care about the total times and have access to custom goals, then the badly-named aggregation method of binary will treat 0 as 1 for the purposes of staying above the line.
What I’d probably do is to make three goals, one each for task-monday, task-wednesday, and task-friday. Annoying as it might be to have separate graphs, it’s much easier to set a goal up to recur on the same day each week.
As you point out, derailment is tricky with anything more complex than this, but a calendial-style goal can simply have 6 days of respite so that it’ll be in the red the same day next week.