# Weekend Only Goals

**URL:** <https://forum.beeminder.com/t/weekend-only-goals/3033>\
**Category:** Akrasia\
**Created:** [February 28, 2017, 10:34pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033 "2017-02-28T22:34:57Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [February 4, 2019, 9:41pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/21 "2019-02-04T21:41:24Z")

</div>

Interesting idea. I can definitely see the usefulness of it.

---

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [February 4, 2019, 9:45pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/22 "2019-02-04T21:45:04Z")

</div>

> [@zedmango](#):
>
> - Set up a constant rate goal where the constant rate is equal to what it should be on weekends, then automate something where it sends a data point on weekdays. So if you want to do 6 hours every weekend, set your rate to 3/day and automate a 3 data point every weekday.

This violates the QS first principle, though. (@dreev Could probably articulate it better than I could, but the idea is that the data should be accurate and truthful and useful, and this sounds like fake datapoints, which definitely isn’t those things.)

---

<div class="post-metadata">

**Author:** ![mary](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/mary/32/317_2.png) [@mary](https://forum.beeminder.com/u/mary)\
**Post date:** [February 4, 2019, 9:47pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/23 "2019-02-04T21:47:37Z")

</div>

> [@zedmango](#):
>
> - Set up a constant rate goal and make progress on weekends until the goal says you don’t need to do any work for 6 days, then get it out of your mind on weekdays. Then you don’t need to do any calculating, just check how much buffer the goal says you have.

This works (and is how I do it), but I also get the idea of not having to think about it. So I can see the usefulness of the feature. Noted!

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 4, 2019, 9:59pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/24 "2019-02-04T21:59:58Z")

</div>

> [@mary](#):
>
> this sounds like fake datapoints, which definitely isn’t those things.

I interpret the data points as relative to the work you have to do that day, so for instance, if you don’t actually need to do work that day, a 1 data point accurately represents “did everything I needed to.”

You could auto-add a note saying “this data point auto-entered because this goal is weekends only” or something to make it more clear.

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [February 5, 2019, 12:06am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/25 "2019-02-05T00:06:19Z")

</div>

> [@zedmango](#):
>
> I interpret the data points as relative to the work you have to do that day, so for instance, if you don’t actually need to do work that day, a 1 data point accurately represents “did everything I needed to.”

Dislike! See [Beeminding things with unknown frequency - #3 by dreev](https://forum.beeminder.com/t/beeminding-things-with-unknown-frequency/314/3)

EDIT: failed to notice at first that @mary already made this point for me 🙂 and i see your counterargument about accuracy. but even though you’re accurately measuring “days I did everything I needed to” that’s not as useful and interesting a graph as one showing “number of actual things I did” over time.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 1:28am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/26 "2019-02-05T01:28:47Z")

</div>

> [@dreev](#):
>
> even though you’re accurately measuring “days I did everything I needed to” that’s not as useful and interesting a graph as one showing “number of actual things I did” over time.

See, I find it a lot more useful to know whether I did what I needed to.

I think this is related to Team Yellow vs. Team Black:

> **[Team Black vs Team Yellow: The Two Styles of Beeminding](https://blog.beeminder.com/olimay/)**
>
> This is a guest post by Oliver Mayor, an avid Beeminder user for going on four years. He’s a software developer who’s interested in human-behavior-shaping technology and often has pretty deep insights related to Beeminder. We were especially...

Those of us on Team Black, like me, care about the logging system being most motivating, not the purity of the real-world nature of the graph. This way, the data you log is a function of both what you do and what you need to do, as opposed to just what you do.

What do you think is the best way to handle weekend-only goals?

Another possibility is to allow for uploading a list of numbers used to shape your future road - that way you could script something that would create a table to auto-modify your road for weekend-only the way @apolyton does manually.

Here’s another example:

> [@Beeminding a specific craft project](https://forum.beeminder.com/t/beeminding-a-specific-craft-project/4740/3):
>
> How about the following: Have a slope of 1. Every day, if you don’t have a motif to make and are in a beemergency, add a datapoint of 1. (Think of this as “all caught up for today.”) Use IFTTT to add a 3 datapoint whenever you enter a datapoint on your reading goal. Now you’re caught up for 3 days but you can’t enter a datapoint until you make the motif.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 3:09am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/27 "2019-02-05T03:09:11Z")

</div>

If you don’t mind running some cron jobs on your laptop, you can use [Beelint: Another take on weekends-off & vacations](https://forum.beeminder.com/t/beelint-another-take-on-weekends-off-vacations/1858) to automate a goal which eeps whenever your weekend-only (or weekday-only, or whatever you want, including collision with Google Calendar events) goal has its eep on an invalid day. It’s janky but it’s the only solution I’m aware of.

> [@apolyton](#):
>
> I don’t want to remember. I need Beeminder to work for me, not me to work for beeminder

Agreed 1000%.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 4:16am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/28 "2019-02-05T04:16:01Z")

</div>

> [@drtall](#):
>
> It’s janky but it’s the only solution I’m aware of.

> [@apolyton](#):
>
> I don’t want to remember. I need Beeminder to work for me, not me to work for beeminder

I thought of another option:

1. Just put it in the fine print that the goal is weekends only, and set it to the daily rate you want for weekends. Then report all weekday derailments as non-legit.

This way you’re in the red on weekends, don’t have to enter any other data, and don’t have to change your road. And it’s fully QS-first compliant! You can even automate the “non-legit weekday derailment” email to beeminder!

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 4:46am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/29 "2019-02-05T04:46:42Z")

</div>

> [@zedmango](#):
>
> I thought of another option

The part where this makes the Beeminder folks miserable proportional to the utility of their missing features is appealing in a sadistic way, but I worry that it robs Beeminder of its primary elegance: the idea that creating a goal means I’ll do the thing. I mean it feels like you’re only cheating yourself ultimately.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 5:11am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/30 "2019-02-05T05:11:32Z")

</div>

Well it is shifting the effort to compensate for missing features to the staff, but they’re just performing the service we pay them for - it’s not that excruciating!

> [@drtall](#):
>
> I worry that it robs Beeminder of its primary elegance: the idea that creating a goal means I’ll do the thing. I mean it feels like you’re only cheating yourself ultimately.

But from the beginning the goal was created to be a weekend-only goal. So you are doing the thing as originally specified.

That’s what the fine print is for - weekday derailments for such a goal are no different than any other derailment that’s not legit for reasons specified in the fine print. You’re doing what you committed to, and the rest is just a question of accounting.

So I don’t see it as cheating yourself.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 5:36am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/31 "2019-02-05T05:36:54Z")

</div>

> [@zedmango](#):
>
> So you are doing the thing as originally specified.

Of course you’re right including the fine print, but I typically like to consider a goal just in terms of its Road Dial. I mean consider a goal where you set the Road Dial to 1 Thing per week and you say it’s weekend-only. You could derail every Monday without ever doing any of the Thing at all. In which case what’s the point?

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 6:03am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/32 "2019-02-05T06:03:01Z")

</div>

Well you obviously need a goal that would derail on the weekends if you don’t do the Thing. Of course if you choose a vacuous example then there’s no point, but that’s because you chose a vacuous example lol.

As far as the Road Dial, just think of it as a daily rate that applies only to the relevant days. Like if it were 1/day, and the fine print said “not on my birthday,” then on the week of your birthday, the Road Dial would still be accurate on the applicable days.

---

<div class="post-metadata">

**Author:** ![apolyton](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/apolyton/32/1965_2.png) [@apolyton](https://forum.beeminder.com/u/apolyton)\
**Post date:** [February 5, 2019, 6:19am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/33 "2019-02-05T06:19:24Z")

</div>

Thank you for the suggestion! I think creating breaks from the web interface is quite easy, I just need to remember to do it at regular times (lets say once per month). The good part is that the graph will act as a reminder that it’s not as it is supposed to be. 😉

---

<div class="post-metadata">

**Author:** ![apolyton](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/apolyton/32/1965_2.png) [@apolyton](https://forum.beeminder.com/u/apolyton)\
**Post date:** [February 5, 2019, 9:32am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/34 "2019-02-05T09:32:53Z")

</div>

I just realised that I have a “do less” goal which when “weekends off” is enabled allows me to enter a value for weekends.

@dreev is it possible to change an existing goal to the “do less” type?  
I could set the “regular” rate to 0 and the weekend rate to my desired one.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 1:55pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/35 "2019-02-05T13:55:55Z")

</div>

> [@zedmango](#):
>
> Well you obviously need a goal that would derail on the weekends

Excuse me but this the entire problem statement. It can’t be done using Beeminder as it exists today unless you take very special care with how you enter data points relative to the road dial, you are sure to only change the slope of your road to be multiples of the frequency of your acceptable days, you only derail with safety buffer in such a multiple, you only retroratchet with correct choices, etc

I find your attitude quite peculiar

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 2:27pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/36 "2019-02-05T14:27:27Z")

</div>

I’m sorry but I don’t understand; I must be missing something.

It’s just like any daily goal that derails when you don’t do the task. Just set it to no safety buffer and autoratchet to 0 - why wouldn’t it derail on the weekends?

I don’t understand what you mean about entering data points, slope of your road, etc.

> [@drtall](#):
>
> I find your attitude quite peculiar

Huh what? Why?

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 4:10pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/37 "2019-02-05T16:10:20Z")

</div>

Sorry, maybe we’re just miscommunicating. 🙂

To take a step back, the fundamental things that I want from Beeminder is a guarantee that “When you set your Road Dials, you’ll be forced to do those things at those rates” and “If you have no eep-ing goals, you don’t need to do anything today.”. Beeminder bugs which negate these guarantees are the ones which frustrate me the most.

For example, you can actually exceed the rate you specify on a Do Less goal because Beeminder doesn’t actually enforce the limit it displays in the UI. So if you think “Ah, my Do Less goal says my limit today is X so if I do more than X I’ll derail” you are mistaken. (Details at [Why don't I derail? - #2 by drtall](https://forum.beeminder.com/t/why-dont-i-derail/1903/2) ).

There’s also failures of the “bright line” principle, for example [What do the colors actually mean? - #2 by drtall](https://forum.beeminder.com/t/what-do-the-colors-actually-mean/2518/2) . This makes it harder to reason about whether you need to do more for your goals and therefore makes it more likely you derail for non-legit reasons.

Whenever you derail for a non-legit reason or fail to derail when you should, Beeminder has failed as a platform. I say this because you’re simultaneously not doing The Things you want to do and you’re also not being stung.

Now to come back to the topic at hand, a goal which can only be performed on specific days of the week is prone to non-legit derails. If you can only do it on Saturdays and you derail on a Saturday, that’s a sting and you deserve it. But if it derails on a Tuesday, it’s not legit. Sure you don’t lose money for the Tuesday derail, but you’re also not accomplishing the goal you set out to do.

So you have to make a choice: 1) be okay with Beeminder not actually forcing you to do The Things (in which case why am I using it at all?) or 2) do something to ensure that eep days only fall on legit days where you can actually do The Thing.

Suggestions of the form “You should look ahead in your calendar” miss the fact that the entire point of Beeminder is that _it_ tells you what you need to do today. So if Beeminder can’t correctly determine that you need to do The Things today, then Beeminder is less useful than it could be.

My suggestion of automating this “beelint” goal such that it eeps whenever you need to do future work for a non-eeping goal is satisfactory because it maintains the principle that “If I have no eeps, I don’t need to do anything today”.

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 5, 2019, 6:55pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/38 "2019-02-05T18:55:34Z")

</div>

Thanks for the detailed clarification! Your beelint program looks awesome by the way.

If I understand it correctly, if your goal is due in 4 days but today is the only day of the week you’ve marked as acceptable, the beelint goal eeps with a comment telling you which goal you need to work on - is that right?

That’s definitely a valid approach, but I’d rather have the actual goal that needs attention eep, at the price of either suffering non-legit derailments or entering a 1 on weekdays representing “no need to do anything today.”

Seems like the ultimate ideal is to auto-modify the road, right?

Earlier I said

> [@zedmango](#):
>
> Another possibility is to allow for uploading a list of numbers used to shape your future road - that way you could script something that would create a table to auto-modify your road for weekend-only the way @apolyton does manually.

Seems silly, but I didn’t realize this could be done with the API! Wow the API is really powerful. Whatever happened to beevacay? You said

> [@Beelint: Another take on weekends-off & vacations](https://forum.beeminder.com/t/beelint-another-take-on-weekends-off-vacations/1858/1):
>
> road editing is not for the faint of heart.

So you said

> [@drtall](#):
>
> the fundamental things that I want from Beeminder is a guarantee that “When you set your Road Dials, you’ll be forced to do those things at those rates” and “If you have no eep-ing goals, you don’t need to do anything today.”.

Agree very much on the second - the eep is a signal to do something and otherwise I won’t do anything.

As far as the first, it seems like you think of goals as being fundamentally only of the form “do X at rate Y” whereas I see a goal as a commitment contract that could potentially be much more complex.

Accordingly, I see non-legit derailments as part of the process - the world is complicated enough that there’s just no way all derailments are gonna be legit, and that’s why beeminder includes the human element. Otherwise we wouldn’t need to pay them, just write a script that transfers money from your account into a retirement account you never see or something.

So I want beeminder to enforce the _commitment contract,_ not just the _rate._ **My vision of beeminder is that you can put in a complex commitment contract and it will be enforced by the whole system, which includes humans checking if the derailment was legit.**

> [@drtall](#):
>
> There’s also failures of the “bright line” principle, for example [What do the colors actually mean?](https://forum.beeminder.com/t/what-do-the-colors-actually-mean/2518/2) .

I believe this bug was fixed a while back, wasn’t it? The colors now seem to correspond to number of days.

> [@drtall](#):
>
> Whenever you derail for a non-legit reason or fail to derail when you should, Beeminder has failed as a platform. I say this because you’re simultaneously not doing The Things you want to do and you’re also not being stung.

So as I indicated above, I don’t see non-legit derails as failure, because “doing the Thing you want to do” is more complex than just the rate and needs to be enforced by humans checking if the derailment was legit.

> [@drtall](#):
>
> a goal which can only be performed on specific days of the week is prone to non-legit derails. If you can only do it on Saturdays and you derail on a Saturday, that’s a sting and you deserve it. But if it derails on a Tuesday, it’s not legit. Sure you don’t lose money for the Tuesday derail, but you’re also not accomplishing the goal you set out to do.

But as I said earlier, you _are_ accomplishing the goal you set out to do, because what you set out to do was to do it on weekends. So Beeminder _is_ forcing you to do what you set out to do, it just also includes some non-legit derails that you have to correct after the fact (and this can be automated as well)!

> [@drtall](#):
>
> Suggestions of the form “You should look ahead in your calendar” miss the fact that the entire point of Beeminder is that _it_ tells you what you need to do today. So if Beeminder can’t correctly determine that you need to do The Things today, then Beeminder is less useful than it could be.

To clarify, if it tells you that you need to work on the goal today, but doesn’t tell you that you need to work on it until it says “6 days,” how’s that? Because my weekly suggestion does tell you that you need to do it on the correct day, but requires you to know how long to work on it.

---

<div class="post-metadata">

**Author:** ![drtall](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/drtall/32/1341_2.png) [@drtall](https://forum.beeminder.com/u/drtall)\
**Post date:** [February 5, 2019, 7:42pm UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/39 "2019-02-05T19:42:02Z")

</div>

> [@zedmango](#):
>
> If I understand it correctly, if your goal is due in 4 days but today is the only day of the week you’ve marked as acceptable, the beelint goal eeps with a comment telling you which goal you need to work on - is that right?

Yes that’s exactly what it does. 🙂

> [@zedmango](#):
>
> Seems like the ultimate ideal is to auto-modify the road, right?

I completely agree. I spent some time trying to figure that out and ultimately gave up. I agree with what you said conceptually (“…uploading a list of numbers used to shape your future road…”) but in practice I kept running into problems trying to make it work. Perhaps it will be easier to do when the yellow brick halfplane is deployed? Or maybe somebody smarter than I am should try? 🙂

> [@zedmango](#):
>
> As far as the first, it seems like you think of goals as being fundamentally only of the form “do X at rate Y” whereas I see a goal as a commitment contract that could potentially be much more complex.

I’m worried we’re talking past each other here, so rather than repeat myself I’ll provide an example of the concern I have. And maybe you can tell me why my example is nonsense or why I’m wrong to worry about it?

Suppose you want to make a goal with the commitment contract “I will on average spend 3 hours in the gym every Saturday, but when I fail to do so I get two weeks off to recover mentally”. I think the most natural way to model this in Beeminder would be to set a rate of 3 per week and a derail mercy amount of 6.

Problems I will encounter include:

- If the goal eeps on a Tuesday and derails, I’ll get 6 hours of gym credit which means I don’t have to go on this coming Saturday even though according to my commitment contract I ought to. This is Beeminder failing to enforce the contract’s terms.
- If the goal eeps on a Saturday and I go spend 5 hours in the gym, the goal will now eep on a non-Saturday because 5 does not divide evenly into 3. So the situation above will come to fruition next week.
- If the goal is currently eeping on a Saturday and I retroratchet the goal, I have to take care to leave a safety buffer that is a multiple of 3 or I will end up with the goal eeping on a non-Saturday. Same thing with respect to the Take a Break feature.

My point being that Beeminder is ill-suited to enforcing the commitment contract I specified, even though I think it is a pretty simple one and not unreasonable. Does this make any sense?

> [@zedmango](#):
>
> I believe this bug was fixed a while back, wasn’t it? The colors now seem to correspond to number of days.

Oh that would be great. 🙂

---

<div class="post-metadata">

**Author:** ![zedmango](https://avatars.discourse-cdn.com/v4/letter/z/c67d28/32.png) [@zedmango](https://forum.beeminder.com/u/zedmango)\
**Post date:** [February 27, 2019, 3:22am UTC](https://forum.beeminder.com/t/weekend-only-goals/3033/40 "2019-02-27T03:22:17Z")

</div>

Oh hey, I just found out that someone made a Beescheduler that does this!

[https://beescheduler.echonolan.net/](https://beescheduler.echonolan.net/)

> [@Beescheduler - Schedule goals by the day of the week](https://forum.beeminder.com/t/beescheduler-schedule-goals-by-the-day-of-the-week/3237):
>
> I’ve built a tool to schedule Beeminder goals with different rates for different days of the week. [Check it out here](https://beescheduler.echonolan.net). Beescheduler lets you schedule different rates for your Beeminder goals based on the days of the week. I wrote it so I could focus on one project Monday - Wednesday and different ones on Thursday and Friday. This is much better than doing a tiny amount on all of them every day. It’s sort of like a much fancier version of the built-in “weekends off” feature. For another example…

[Previous page](https://forum.beeminder.com/t/weekend-only-goals/3033.md?page=1)

[Next page](https://forum.beeminder.com/t/weekend-only-goals/3033.md?page=3)
