Death to $0 Goals, Birth to Trial Mode

*By: dreev
Spec level: <progress title="Live in production"></progress>

Gissue: #4837*

Changelog

2024-05-01: Blog post that subsumes some of this 2024-04-28: Deployed! 2024-04-16: Cleanup, answering open questions before pointing beemail folks here 2024-04-16: Revamp with schedgebox boolean and sweeper 2024-04-10: Initial document based on beemail

Thanks to great discussion with the daily beemail folks, we're trying an experiment with quasi-killing the $0 pledge level. Specifically, we're replacing the current radio button that lets you choose between starting stakes of $0 and $5 with a checkbox like so:

Checkbox which says 'Hold the pledge at $0 for 7 days while I get my feet wet'

If 7 days turns out to be too harsh, we'll change it to 30 days.

Nom Nom: Database Fields and Constants

We want to set ourselves up for future flexibility with a black-box pledge schedule (e.g., auto-pledge-decay) where a goal sweeper can change a goal's pledge based on any logic at any time. Having the pledge bump itself from $0 to $5 after 7 days is one of many things such a sweeper may do.

So the only thing we need to add as a goal field is a boolean that is set to true for all goals starting when this feature is launched, i.e., when we change the UI to have the above checkbox:

All new goals will have that set to true and the checkbox in the UI simply determines whether the goal's pledge is initially $0 or $5 (same as it does now).

Goal Sweeper

This is the part where we bump up the pledge when the time comes. A sweeper queries goals where schedgebox is true, the pledge is $0, and the goal was created a week or more ago. If those are all the case, bump the pledge to $5 and email the user:

Subject: feet-wetting complete on beeminder.com/USER/GOAL

Just a reminder that the Beeminder goal you made a week ago — beeminder.com/USER/GOAL — is out of its initial trial mode and the stakes are now real!

Specifically, you'll be charged $5 if you cross the bright red line.

Good luck! Hit reply with any questions.

[standard footer stuff like other lifecycle-y emails have]

(Sending that email isn't a Mendoza but we may feel compelled to get it implemented before the initial week is up. Especially if we're observing much consternation about the change.)

FAQ

1. What about Beemium people?

Everything works the same for them except they have the choice to cap their pledge at $0, which prevents the pledge from bumping itself up.

Open Questions

  1. Do we need a visible countdown anywhere showing when Trial Mode ends? This would be nice! Especially if we don't have the email reminder implemented yet.

  2. Wild idea: point all existing users to somewhere where they can pick a trial end date. I think the best users actively prefer their $0 goals to become $5 goals after some period. My theory is that the model Beeminder user only ever picks $0 when creating a goal out of uncertainty about what's realistic to commit to and other unknowns. In any case, we'd like some kind of transition plan so that eventually the only goals at $0 are either in the initial Trial Mode or are Beemium goals with a pledge cap of $0.

Cognata