'Diminishing rewards' for goals?

Hi! Been using Beeminder for a while now, first time poster.

I have several goals of the form ‘spend at least X minutes on Y task, most days’. For example, I’m starting a new goal where I try to spend 15 minutes on a kanji study app most days.

For this kind of goal, I don’t want to beemind minutes directly, because that means that I could e.g. study for 60 minutes one day and then study 0 minutes for the next three. I find that’s worse in terms of learning and also because it encourages me to disrupt my daily routine. I do still want to give some reward for studying extra, but I prefer a ‘diminishing reward’ that doesn’t fully offset what I do on the next three days.

The best solution I have so far is to beemind a unit called ‘success-points’ or something, and then define a scoring system in the fine print, like ‘For each day, studying >5m is 0.2 success-points, >15m is 1.0 success-points, >30m is 1.1 success-points’. Then, the goal commitment is usually about 0.9 success-points per day.

The downsides of this are:

  1. I have to manually calculate the formula every day, which means I have to keep it simpler than I would like. Like, for the formula above, I’d ideally prefer something like success-points = if minutes >= 15 {1.0 + (minutes - 15) * DIMINISHING_REWARD_FACTOR} else {...},but I don’t use that because I don’t want to calculate it manually every day.
  2. Because I’m not tracking ‘minutes’ directly, the graph no longer reflects my actual effort. I wish I had a graph that just showed ‘minutes’ so that I could see my actual effort over time and compare that to my language learning progress! The graph of ‘success-points’ is less useful, especially if I frequently change how much effort a success-point takes to earn.

My ideal solution would be: Beeminder lets me enter ‘minutes’ and define a formula to ‘success-points’, beeminding ‘success-points’ but letting me see both graphs. Changes to the formula would only take effect after the akrasia horizon. I was looking at the aggday stuff and it sort of gets there, but I don’t think anything exactly does what I’m imagining?

Does anyone have suggestions for how to better implement this?

1 Like

Hi evndenmvgcbk! :waving_hand: This is an excellent first forum question!

I don’t know if any of this will exactly cover your situation, but it might help. All of this requires using Custom Goals, which is a Bee Plus or Beemium subscriber feature.

For a couple of goals (e.g. cardio exercise), I use Beeminder’s Meta Integration to have pairs of goals. In one goal, I enter normal datapoints (e.g. minutes) and let it build up buffer, without worrying about how much buffer. The other goal is the “meta” goal linked to the first one, and it encourages me to do work on the first one even when the first one has a large buffer. I wrote more about that a while back and I’m still using the first two goals listed there.

If you typically study in small blocks of time rather than all at once (so that each day you’re entering multiple datapoints, each for small-ish amounts of minutes), then this next idea might be useful:

I have a couple of goals where I use the “sqrt” (square root) aggregation method, which means that each day, later datapoints count for progressively less than my first datapoint.

For both of my sqrt goals, each datapoint is “1” if I did a thing; never any other value. I haven’t experimented with how it would work if the datapoints were minutes, but if I were in your situation, I’d try it, with my fingers crossed.

In case you’re interested, my “sqrt” goals are:

  • randoms - I enter a datapoint of 1 if I use a random number generator to choose a task to do or a goal to work on. For me, this is usually a good way to overcome overwhelm and procrastination, so it benefits me to do it at least once a day, because after I’ve started on a task (ANY task, just get off the couch and do SOMETHING for hecks’ sake) then I can usually keep on with other tasks. Doing it more than once a day can be helpful, but not so much that I want full credit for every time I do it. The sqrt method lets me build up a little buffer if I really work at it, but the buffer never gets too big.
  • ughs - Very similar to my randoms goal, but I enter a datapoint of 1 every time I think “UGH I don’t want to do that!!!” but then I go and do it anyway.

(Ignore the fact that recently most of my goals have had very few datapoints and lots of breaks. I’ve been in a significant slump and haven’t even had the spoons to use the tricks that I know work. Do what I say, not what I do. :wink: I think I’m slowly dragging myself out of the slump now.)

4 Likes

Thanks @alys ! Sqrt is interesting but I think it would be ‘too friendly’ for what I want - in the example I gave, I think that sqrt would count 60 minutes for twice as much credit as 15 minutes, but I would want it to be less credit than that.

1 Like

Yes, the sqrt method would be useful only if if you study in small blocks of time, and so each day you enter multiple smaller datapoints. So for example, if your first block was 15 minutes, that would count for the full 15 minutes, and then any future blocks in the same day would count for less. If your first block was 60 minutes, that would count for the full 60 minutes, so this method wouldn’t be useful if you study all in one block each day.