Pessimistic presumptive and non-standard aggregation play badly together

I forgot to report a goal on my trianglealcohol goal and went from “You’ve got nearly a week’s versus of buffer” to “You’ve nearly derailed” with one datapoint.

The problem is that it’s triangular aggregation, so a single datapoint of 2 * weekly rate / 7 aggregates to nearly my entire weekly rate.

I mean this isn’t a major problem in that the solution is to just turn it off, and if I derailed I’d say “oops, forgot a datapoint” on the legit check and it would be undone. This is mostly just an observation that this is a combination worth avoiding right now.

2 Likes

Good call! For now I just added a note to this gradually evolving spec.

2 Likes

Instead of trying to fuzz the data, why not just make an option that you have to add a data point at least N times a week? You can run it internally as a sub goal, a separate goal or whatever works but the user never sees anything but “you must add a datapoint by $TIME_IN_THE_FUTURE”.

Basically you sign up for a goal of doing less than twenty cookies a week and to add data points for, say, 4 days in the week.

You can then be doing fine on the cookie count but end up derailing anyway because you don’t log anything - and that is a fair derailment. If you do add the datapoints (and stay within your goal) you do not derail.

Regardless of derailment, the graph is always an accurate reflection of your data, as you have reported them to beeminder - and no fake datapoint is ever added to the graph, by beeminder or the user.

4 Likes

I think you’ve beautifully captured @bee’s feelings. But we had to do something to make Do Less goals not be pointless so Pessimistic Presumptive Reports is what we came up with. I like your idea of a separate meta graph, and we’ll have better ways to do that soon. In the meantime, the auto-destructing PPRs work quite nicely in practice, inelegant as it is to fuzz up the data like that. I think another prerequisite for doing this right may be true pauses where you can have an actual gap in your yellow brick road instead of a flat or steep spot.

This kind of “internal sub goal” idea crops up for Do More goals too, when folks are trying to balance their twin desire to do the thing X times per week, accomplishing at least Y units per week. In traditional Beeminder terms, that’s two distinct goals, though that can make for a cluttered gallery.

One of those two implied goals may be the thing that you’re akratic about, so you can dispense with the other. If you need or want to have both goals, then you can ease the pain by feeding both goals with a single datapoint, either via an API script or an IFTTT recipe.

3 Likes