Beeminder Forum

Request for new aggregation method: diff


I want to set up a goal that has to do with intermittent fasting.

I want to fast 16 hours a day, i.e. only eat within 8 hours a day.

For that, I need to subtract the first datapoint from the last. Or (same thing for me) subtract smallest from largest.

Clocky comes close, but isn’t perfect, because with clocky, I’ll have to go back and edit my datapoints in case I had a late night snack.

(For those curious, there is now pretty solid science behind intermittent fasting, and I want to build up to 20 hours of fasting a day and more. Ask and I’ll post references).


While at it, it would be very nice to have a button “add current time as a datapoint”.


I have a goal that does this. Here’s how I do it:

I use shortcuts on iOS and have one called “Start Fast” and one called “Break Fast”. The Start Fast shortcut that asks me for the time and then sends a datapoint to my Fasting goal that subtracts that time from midnight. (So, if I enter 6:59 pm, it will send 5:01 as a datapoint.) The Fasting goal has a deadline of 3pm so that datapoint will count as tomorrow.

Then, when I break my fast the next morning, I use the Break Fast shortcut that just sends the time as-is. Let’s say it’s 9:12 am.

The fasting goal is set to the regular “sum” aggregation but to not be cumulative from day to day (though, it could easily also be set to cumulative; I just prefer the straight line I stay under for this goal). As a result, the aggregated point for that day is 14:13 (5:01 + 9:12).

I find this really handy because I enter my dinner time and the graph will tell me what time I can break fast and I don’t have to put any thought into it.

I know you’re looking for a new aggday but I thought I’d tell you how I’m doing it in case that’s helpful in the meantime.