Beeminder Forum

The due date keeps increasing when I do more than what I committed

Please, help me define my goal better, perhaps I have misunderstood the goal I have created. The goal is simple: “do at least 1 commit per day”.

This meant to me, that I need to make at least one commit per day, and if I fail to do so, I would be considered derailed. I took some days of safety buffer also (2/3 days but I don’t remember now coz I have played with that setting).

The motivation behind this goal is to stay consistent with at least coding something EVERYDAY. So even if I make 10 commits today, tomorrow again I should have the deadline of the end of the day to at least make 1 commit.

But somehow this doesn’t happen. Whenever I make a new commit, my due date to derail shifts a day further. It is taking my cumulative commits into account, instead of the commit on that particular day only.

1 Like

Yep, that’s correct! What you’re seeing is the way it’s supposed to work – but it’s really useful to know you didn’t expect that, so thanks for sharing.

If you’d like to be sure you have to complete +1 every day, there are a few options. One is “ratcheting” to zero manually at the beginning of each day, which anyone can do from the commitment tab of a goal. Auto-ratcheting (doing that automatically) needs a bee plus or beemium subscription, and is probably the best way to get what you’re looking for.

There are ways to make this happen with a custom goal as well, if you have a bee plus or beemium subscription, but I’d say auto-ratcheting is the gold standard. :slight_smile:


ah man, that sucks. Thanks for clarifying this out @shanaqui . I am new to the platform, so may be I would stick to manually ratchet it now.

Just to clarify, ratcheting to 0 means that I have to complete the task (i.e. make 1 commit) by end of the day (12:00 am), right?

Some more questions:

Suppose if I keep working continuously and keep making several commits today, should I set the ratchet to 1 day after each commit? Does the ratcheting count exact 24 hrs from the time I change the setting, or does it take it till the end of the day?

Ratcheting takes place immediately, and always just makes your deadline sooner – set it to 0 to be due today, 1 to be due tomorrow, 2 to be due the day after tomorrow, etc. It only goes one way as well, so you can’t change your mind after ratcheting.

So if you ratchet to zero days remaining after you’ve completed +1, then you’ll need to complete another +1 to satisfy your goal before the deadline. Does that make a bit more sense now?

That makes total sense. Thanks a lot @shanaqui !

1 Like

[EDIT: As shanaqui notes below this post, my suggestions here are mostly manual, not automated. My point here is to explore some creativity of goal wordings.]

As another way to word a goal, let’s call the plan “Commit1” = “at least one commit per day”, and that would only be [manually] incremented once each day. You could put the total number of commits in the description. One can freely update the corresponding data description at any time, even after the day is over, so you could keep a running total in there or update whenever it’s most convenient. The downside is that you don’t get the fun and motivating beeminder graph of that data.

You could have another goal called commit2 to tally up the total number of commits. So commit1 would make sure that you commit everyday, while commit2 tracks your progress and gets way ahead.

So let’s say you start your day and you make one commit. You would increment both commit1 and commit2. All further commits during that day would just increment commit2. Commit2 tends to get ahead, and you can ratchet it whenever you want.

You can also set the rate of commit1 to 0.9. You still increment by one each day, but every 10 days you’ll get a buffer day, which is nice to have for sick days. If you find that you can ride the graph up consistently everyday even with one or more buffer days, that’s a nice feeling. If you ever feel like you have gained too many buffer days, you can always ratchet those back down.

The options are really endless according to your creativity. Commit1 could be “uptick on commit #1, #21, #41, etc.” meaning that you’ll increment commit1 on your first commit, but also on your 21st, 41st, etc. This would allow you to work extra hard one day to get a day off. When I said “21,41,etc”, that’s just an example. You can make that schedule beyond what would normally occur in a day, so it would only happen if you do an extraordinary day.

Or you could make commit1="first commit of day or commit2 cumulative=1000,2000,3000,etc " so you give yourself a bonus buffer day after you’ve achieved some milestones. While it would be easier to track commit2 as it’s own beeminder goal, that value could be tracked inside the commit1 description field.

Another way to word this for commit1 is “First commit or bonus, see fine details.” Then describe the bonus structure in the fine details field.

Since we’re talking commits, I think this might be a goal linked with Github, so just to clarify, that won’t be possible with a Github-linked goal. You can achieve a similar effect with a custom goal, changing the aggday to something that will make sure only +1 counts for each day… but by that point I’d honestly suggest that auto-ratchet is better anyway.

1 Like

Thanks for the clarification. I’ve updated my post to reflect this more clearly as well.

Thanks @coolhandlouis for the suggestions, as @shanaqui pointed out, the data points being fetched from github. Also, I worry that by doing more and more manual work I will spend more time on beeminder than the actual task :smiley:

1 Like