Custom goals

Custom goals let you create your own goal type by adjusting many of the back-end goal settings. All of the default goal types are just specific combinations of these settings! So if you've always wanted, say, an Odometer goal that makes you stay below the red line rather than above it, a custom goal is the answer (we have no idea if that will work in practice as we type this... but you can try it and let us know!).

How do I make a custom goal?

If you're a Bee Plus or Beemium subscriber, click the Convert to Custom button at the bottom of the Settings tab below the graph.

The convert-to-custom button in settings

Important note: Change settings with caution if the goal you're converting already has data and graph history. Because the goal settings are applied to the entire graph, if you do something like change the good side of the line, your old extra-safe days will turn into way-off-track days and you can instantly derail your goal! Of course, this is not legit and we'll undo it when you email us in support, but it's always nicer to avoid it in the first place, right?

It's simpler to start custom goals from scratch when you can. You can immediately delete them to "undo" any derailment that may occur, and because there's no history, it's a lot less likely to happen in the first place!

When should I use a custom goal?

We'd usually only recommend custom goals when you know exactly what you want to do (or at least experiment with), for instance using custom goals to display data from an autodata source differently than the default goal types you get when creating them.

For example, you might create a weight goal that automatically sources data from your Fitbit Aria scale, then convert it to custom to enable more settings. If you change the settings appropriately, you can make it so instead of beeminding your weight, you're actually beeminding whether or not you used the scale today. Really useful for the common "avoiding the scale" problem, and it takes just a couple minutes to set up with a Beeminder custom goal!

(To create that goal, set up the integrated weight goal as usual. Go to settings and click "convert to custom". After that, you need to change the settings to {good side: above, direction: up, odometer: off, cumulative (auto-summing): on, aggday: nonzero}. Use rate = 7/wk for the most hardcore commitment! If you want to beemind your weight and getting on the scale, you could instead use a Metaminder goal.)

Another example would be creating a "keep-under" goal for Toggl, e.g. for ensuring you don't spend too much of your work time on a single preferred project. For that you'll just need to change the settings so that the good side of the line is below, and the direction is up.

Other ideas might include non-cumulative goals, goals that can never gain safety buffer, goals that only record a maximum of 1 no matter what data gets entered... there are a lot of possibilities, once you're comfortable with experimenting!

What does the data look like for a custom goal?

It depends on the settings you enable — mostly on whether the goal's data is auto-summing or not. Auto-summing data is like a Do More or Do Less, while not auto-summing covers the rest of the goal types.

What do all the settings mean?

  • Good side of the bright line: whether you want to be above or below the bright red line. Above is generally for things you want to do more frequently or increase over time, and below is for things to do less frequently or decrease.
  • Direction of red line: whether the line should be going up or going down. Going up means you should have a positive goal rate, and going down means you should have a negative goal rate.
  • Cumulative (AKA auto-summing): whether your datapoints should be added together each day or not. Do More and Do Less are cumulative; the other goal types are not.
  • Resettable odometer: whether a 0 datapoint resets your rolling total. See the Odometer page for more information.
  • Aggregation: how Beeminder plots your datapoints every day. More info and a list below!
  • Plot all: whether Beeminder plots all your datapoints, or just the result of the goal's aggregation method.

You can also find a more in-depth explanation (with even more hidden settings explained!) in the Beeminder API docs.

I changed a setting and my goal instantly derailed! Help!

Contact support (the best way to do this is actually by replying to the legit check email you'll get when you derail) and we'll cancel the charge. Reverting your change beforehand is very helpful if you want your graph to be fixed; some big changes might mean your graph just won't look right. In those cases you might want to fiddle with it yourself using the visual graph editor, or just display your data from the date you changed the custom settings by changing the "x-min" value. If you're not sure, it won't hurt to see if support have any suggestions for getting your goal back on track.

What do each of the aggregation options do?

The aggday setting controls how Beeminder interprets all your data on each day, according to the chart below.

Option Name Daily Aggregation Calculation
last Only most recent datapoint counts
first Only first datapoint counts
min Smallest datapoint counts
max Largest datapoint counts
truemean Mean of all datapoints
mean or uniqmean Mean of all unique datapoints
median Median of all datapoints
mode Mode of all datapoints
trimmean Mean of all datapoints excluding the top & bottom 10% of values
sum Sum of all datapoints
binary Plots a 1 if any datapoints have been entered, otherwise 0
nonzero Plots a 1 if any nonzero datapoints have been entered, otherwise 0
triangle (sum of datapoints * (sum of datapoints + 1)) / 2
square Sum of datapoints squared
clocky Sum of differences of pairs
(so-called because you can use this method to simulate
a timer, by entering start time & finish time as consecutive datapoints)
count Number of datapoints entered
skatesum Sum of all datapoints, capped at the daily min that the bright red line requires
cap1 Sum of all datapoints, capped at 1

Why does my graph look weird after I changed the aggday setting?

Try turning off plot all (if it is enabled) and see if that solves the problem.

With plot all on, Beeminder shows both the datapoint values and the aggregated value that actually counts toward the goal for the day. If your datapoint values are very different than the aggregated value that counts for the goal, the graph scale might end up out of whack as Beeminder shows you both data values. A common example is plotting your scale usage with binary aggday (values 1 or 0) while using your weight (values much higher than 1 or 0!) as datapoints.

If your rate is set correctly, the goal will still work perfectly and show the right countdown to derailment, regardless of whether plot all is enabled or disabled. The graph, however, might look much nicer one way or the other!


Keywords: custom goal fields, aggday

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us