Custom goals
- How do I make a custom goal?
- When should I use a custom goal?
- What does the data look like for a custom goal?
- What do all the settings mean?
- I changed a setting and my goal instantly derailed! Help!
- What do each of the aggregation options do?
- Why does my graph look weird after I changed the aggday setting?
Custom goals let you create your own goal type by adjusting extra goal settings. All default goal types are just 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 or be useful for anything as we type this... but you can try it and let us know!).
You need to be a Bee Plus or Beemium subscriber in order to create custom goals or convert an existing goal to become a custom goal. We'd advise you avoid setting up a custom goal unless you already know Beeminder well.
How do I make a custom goal?
If you haven't created the goal yet, pick the "Custom" option on the "Select goal type" page during goal creation, and then complete goal setup in the usual way in order to get started.
If you've already created the goal, click the Convert to Custom button at the bottom of the Settings tab below the graph.
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, 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 due to getting the wrong settings, and because there's no history, it's a lot less likely to happen in the first place, because derailments only happen when your data is in the red for yesterday! A new goal can still derail, depending on what you change; the risks are just lower.
When should I use a custom goal?
We only recommend custom goals when you know exactly what you want to try out, like making a non-cumulative graph, not allowing any extra safety buffer to accrue, or changing an autodata goal to have a different graph type. One example of that 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.
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. For an auto-summing goal, you'd add the amount you did that day; for others, you'd want to add your current cumulative total.
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 |
sqrt | Square root of the daily sum |
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