Spec: Not always counting deleted goals against your freebees

From 2014.

Prescript: Most of this will now be subsumed by https://blog.beeminder.com/deathtofreebees/

If you’re deleting a goal for technical reasons then it shouldn’t count against your freebees. Also we want to learn about how often that happens because that’s a pretty fundamental thing we need to improve. So we’re making these changes:

  1. When you delete a goal, we ask you why
  2. If it’s for technical reasons, give back a freebee
  3. Change from 7 initial freebees to 3
  4. Display remaining freebees in the sidebar
  5. Remove the choice to conserve freebees (no option to add a $5 pledge when creating a goal — if you have a freebee left you’re using it)

(As a philosophical side note, the point of freebees is to let you get hooked on beeminding before we make you enter a credit card. Serious users shouldn’t expect them unless they’re paying for them. Our post on pledge short-circuiting and pledge decaying discusses our philosophy on this.)

1   Deletion Dialog

When you delete a graph you get a question like this:

Why are you deleting this goal? (Being less than a week old you can immediately and completely delete it.)

     (•) a. I just am
     (   ) b. Beeminder messed up
     (   ) c. I was confused about Beeminder
     (   ) d. I’m abusing this loophole to get off the hook before I derail

Blah blah blah:

      |                                          |
      | (text area)                              |
      |                                          |
      |                                          |
      |                                          |
      |                                          |
      |                                          |

      [ gray cancel button]  [ red DELETE button ]

where “Blah blah blah” is dynamically updated depending on which radio button is selected:

or if all freebees are definitely used up (see technical definition below):

Note that “a” is the default and is phrased to be true no matter what. That gives a “don’t make think” path of just hitting the red button.

2   Displaying Remaining Freebees

To avoid confusion and frustration we need to display the number of freebees remaining. That will be in the sidebar below the New Goal button: “3 freebees left”. (Note link and hovertext; probably target=_blank as well.) If you have Plan Bee or higher then it will show a nice infinity symbol. If freebees is less than or equal to 0 it turns into this: “0 freebees left”. (Note new link and hovertext.)

3   Pledge Screen in the Goal Creation Wizard //TODO

Here’s what that screen does in all the possible scenarios…

no credit card, N>0 freebees left
“You will have N-1 freebees left.” [button to confirm and create the goal]
no credit card, 0 freebees left
Prompt for credit card. Point to Plan Bee if you don’t want a pledge.
credit card on file, N>0 freebees left
“You will have N-1 freebees left.” (Alternatively: Radio buttons to choose between $0 and $5 with dynamic text below the choice saying “You will have N-1 freebees left” or “You will have N freebees left”.)
credit card on file, no freebees left
“You’re on the hook at $5! Add a premium plan to get unlimited freebees. A freebee is a goal with an initial pledge of $0, meaning the first derailment is free.” [button to pledge and create the goal]

4   Internals: The “freebees remaining” field and the “deletables” field

Decrement remaining freebees (which starts at 3) for every new goal created (even if that makes it go negative), and increment it on goal deletion iff b or c is selected.

There’s also a deletables field counting the number of goals less than a week old.

The “freebees definitely used up” in Section 1 means freebees + deletables <= 0. In other words, every goal created uses up a freebee but deletable goals might get credited back. As long as you might end up with freebees remaining then include the part about “this won’t count against your freebees”.

5   Open Questions / Things to Reconsider Later

  1. Should you be able to conserve freebees by creating a goal with $5 pledged from the start?
  2. How many freebees? 3 seems like a fine number since you get them back when you screw up goal creation. Or even 1 if we really want to push people to add a credit card as quickly as possible. (We’ve even been feeling tempted to just require a credit card as part of sign-up and have the whole concept of freebees just go away. Having just 1 freebee might start to give us a sense of whether that could be reasonable.)
  3. Should we just be nice and give back the freebee regardless of the reason you’re deleting?
  4. If we want to cut down on the feedback we’re getting or encourage people to classify the reason for deletion we could have no “blah blah blah” text and gray out the text area if the default “I just am” reason is selected.
  5. The generalized road dial is going to go a long way toward obviating the need to delete a messed up graph — you’ll be able to just unmess it up instead of deleting and starting over.
  6. If it’s too big of a loophole to be able to instantaneously blow away the whole goal within the first week, we could try for the best of both worlds by letting you delete the delete button. Maybe at the bottom of the deletion dialog: “What? No, don’t let me do this! I need to be on the hook Right Now, with no option to weasel out by deleting the whole goal. [ ] Yes, I’m sure. [button that says ‘delete the delete button’] [ ] Delete all delete buttons for all goals.” But I’m not sure if this can be done without adding too much clutter and confusion to the deletion dialog. Maybe just one line with the “What? No, don’t let me…” and a little triangle to expand it to the whole delete-the-delete-button treatment, also emphasizing how this happens after a week regardless. And if “delete the delete button” is too convoluted [hint: it is] it could just be “lock me in” as a text link next to the “Delete Now” button. And we could throw in checkboxes like “lock me in on all current goals”, “lock me in immediately on all future goals too”, “weaselproof me while you’re at it”, etc.
  7. See proposal from David Rutter below, in particular the proposal that it would be nice to get a freebee back when deleting for any reason, including “this was a bullshit goal and I shouldn’t have made it in the first place”. Of course, you already can by just fudging the reason in the deletion dialog but that’s pretty icky. We might as well just ask explicitly “do you want your freebee back?” and then might as well just assume the answer is yes…
  8. Multiple people have proposed goals get a pledge auto-added after some amount of time.
  9. Related proposal for setting min and max pledges.
  10. Maybe calling them “freebees” is unfortunate as it makes them sound like a nice perk. Maybe we should find an analogy like Toyota selling you a car that initially has no engine so you can just get the feel of sitting in it and using the radio. That might be less dangerous but once you know what you’re doing it just defeats the point and of course you want the engine in the car from the start. :)

Talmudic commentary below…

Thoughts from Aaron Maras

Regarding the “delete the delete button” idea in Section 5: This seems like a good approach, but could be a bit complex, particularly for new users.

Perhaps a way simpler way: any goal less than a week old gets a persistent banner on the goal page that says ‘this goal has training wheels on - you can delete it or fail for free for X more days; but if it’s set up right and you want to commit fully, click here to take the training wheels off’. Then after six days send a reminder email letting people know: their pledge amount is about to bump to $5; they will need to enter a credit card the next time they derail after tomorrow (if they haven’t already); last chance to bail!

There are a few advantages to this:

Thoughts from David Rutter

I’m in the habit of “test-driving” goals before I truly commit to them. Not in the sense of “Is this a rate I can maintain?” because I know that’s just a matter of adjusting the road dial, but rather in the sense of getting a feel for the sort of obstacles there are in maintaining the goal, and whether I feel like having it as a goal benefits me at all. 2 freebees at a time wouldn’t hurt me in this, because I’ve never really tried to experiment with more goals than that at once, but 2 freebees total ever kind of puts the kaibosh on that sort of experimentation. I’d definitely like to be able to get freebees back when I delete a goal for any reason, including “this was a bullshit goal and I shouldn’t have made it in the first place”.

That said, I am totally in favor of the idea of having users enter a credit card right from the start. Anyone who truly groks the point of the site won’t have any issue with that, as they’ll be able to see that there’s no point to it if there’s no penalty for failure. In the event that you go with the “freebees get automatic pledges after two months” plan, you could say right before the input of credit card info that all goals older that two months will automatically get a pledge on them, and so you need the credit card info for that reason. And again, when a goal is created, the default will be to make a $5 goal, but when the user deliberately changes it over to a free goal it will make a “This goal will be free until . We will notify you when it’s about to automatically acquire a pledge.” appear next to it. And you could have the “Pledge:” thing at the top of the goal page say “Pledge: $0 until

Thoughts from David Ernst

So with all that in mind, if I were king of Beeminderverse, I would adjust it as such:

  1. Add a $1 stage at the front of all goals’ pledge schedule. Because David Ernst asked nicely. No, actually because it’s the smallest amount of money to maintain a sting but still have it just be a baby sting (at first!). So it encourages more new goals created.

  2. Give all new users a bonus $0 stage on the front of their pledge schedule, for all goals created in the first month. So they can dip their toes in without credit card. Who cares about how many they make! Maybe they’ll see “oh no my months almost up, I should make a bunch while I still can”…. GREAT! If they’re valuable they’ll evolve into revenue generating pledges anyway!

No more worrying about how many freebees. Or how to count number of freebees. Or when to use freebees. Or when to refund freebees.


The 1-month “Freebee” period offers you a good reason to remind-ping them 27 days later if they made an account but forgot about it. (That whole month could be treated as “Intro to Beeminder” onboarding re our other conversation about patio11-style auto emails. )

Thoughts from David MacFarlane

Your point about, what’s a goal without a pledge is a good one. However, if someone is pledging lots of money (and particularly, paying lots of money) then trust that they know best.

I’ve been with you guys for 1+ years, but I just started my first goal with the Android stop watch — and, I screwed it up. Put the goal in minutes, while I’ll be submitting fractional hours. I know, I know, there’s some scalar transform thingy, but no way I’m doing linear algebra while I’m dieting. [1] So that would have been a good spot to start at zero pledge. Instead, I’ve got $5 on a bogus goal that I’m going to delete or finish or what have you in a week. [2]

And, even though the interface is pretty straightforward, if you only touch the beehvie once every couple of months, it is pretty easy to screw something up.

Second case: sometimes someone might start tracking something with little sense of what their current run state is. So while they might phrase the goal as 7 hours a week or less, for a while they really mean, let’s see what my base state is, I guess I’ll aim for 7, but who knows, maybe I’m running at 21 now, we’ll see… [3]

I just think the customer experience of, “I’ve failed. I’ve failed. I’ve failed. I’m not sure what I’m going to be doing this month, maybe no money this time — what? I can’t do that? Screw this.” isn’t great.

Thoughts from Adam Mesha

I also think that pledges are fundamental to Beeminder and I don’t really think of my free goals as completely free, because there’s always the possibility of having to pledge and then pay if I derail too much. I use my free goals for goals that I know I can stick to, because I have for long stretches in the past, and I want to track it and make it more consistent. If it turns out to be harder than I expect, it will soon become a pledged goal. Important goals that I’m less sure of I put money on right away.

The first free goal I deleted was because I changed my mind about how to approach the goal. The real goal is “don’t gain weight” but I don’t want to track my weight since I don’t have direct control over that, among other reasons, so I created a goal for diet. I decided that for now it would be better to do “don’t snack between meals” instead of “don’t eat wheat”, so I deleted the no wheat goal and created the no snacking goal. That’s certainly not Beeminder’s fault but it’s also not because I’m trying to weasel or cheat or anything like that.

The second goal I deleted was because I created it as a “Do More” goal, then found an automatic updater (the Anki plugin) that requires it to be an Odometer goal. So I had to redo it as an odometer goal. Again not Beeminder’s fault but also not because of cheating.

I think that pledgeless goals are important not just for getting to know Beeminder in general but in figuring out how to use it well. It’s easy to create a new free goal when I’m familiar with it because I’ve worked on it a lot in the past. Maybe because I’m still new to Beeminder, I am much more careful about making pledged goals, because it feels like they should be either harder or more important. I expect that eventually I’ll be on at least Plan Bee and make extensive use of free goals (but I want to get some more experience before I jump in too excitedly).

Thoughts from David MacIver

The existing documented behaviour where you are limited to N freebees at a time (though N=7 sounds high) makes much more sense than the actual behaviour where deleted graphs can still have permanent effects! If freebees are valuable (which, to be honest, I don’t find them to be — that’s why all my goals have pledges on them — but presumably other people have different usage patterns) it doesn’t really make sense that the fact that you have found them valuable in the past and then finished / given up / archived / pledged on that goal should prevent you from making use of them now. As a rule of thumb I would discourage features where you can get better user experience by deleting your account and creating a new one.

As a semi-related point, the only reason I’ve created freebees other than for testing (and my previous failed attempt at Beeminder) is because you have them as the default, so I’ve had a lot of “Create a goal, oops that was a freebee I didn’t mean it to be, add a pledge” interactions. You might want make goals have pledges by default if there’s already a card associated with the account.

Also, with regards to the “letting newbies get a feel for the site” goal of freebees, as a datapoint the first time I used Beeminder I gave up on it and that was probably because my goals were entirely freebees and so there were no consequences for stopping using it. The fact that I can’t just ignore Beeminder and it will go away is basically the number one valuable feature of it for me, so it’s not really giving a good feel for Beeminder without some sort of pledge.



[1] Danny replies: It’s not that bad! :) You created the goal in minutes so just scale it by 1/60 and voila, now it’s in hours. If you accidentally scale it by 60 instead of 1/60, just scale again by the reciprocal to undo.

[2] Danny’s counterpoint: There’s no chance of paying the $5 on a bogus goal. You can still instantly delete it within the first week. If something did go wrong and you derailed due to setting up the goal wrong or any kind of technicality or even just confusion about the rules like that, just reply to the legit check and we’ll always stop the charge.

[3] Danny replies: Well said! We have a different solution in mind for that problem, namely the generalized road dial. It’s going to be great!