Keep and grow customers
Find the week-1 event that keeps a customer, watch every customer for churn and upgrade signals, and act on each signal the day it fires.
- First run
- About 4¢
- Works on
- G2, Capterra, Trustpilot
- Connect once
- Stripe and your product’s events.
- Runs
- 3 Workflows, 3 agent tasks
- Stage
- Keep customers, Grow each customer, Earn referrals
Tell me which customers went quiet this month, and spend nothing.
curl -X POST "https: //api.sb/ leaseline.app/ customers/ score? mode= try" \
-H "Authorization: Bearer $SB_TOKEN" \
-H "Content-Type: application/ json" \
-d '{"goal": "Tell me which customers went quiet this month, and spend nothing.", "budget": {"amount": 0, "currency": "USD"}}'
npx startup-builder do Customer.score --try --data '{"goal": "Tell me which customers went quiet this month, and spend nothing.", "budget": {"amount": 0, "currency": "USD"}}'
{
"name": "do",
"arguments": {
"mode": "try",
"code": "return await $.Customer.score({ goal: 'Tell me which customers went quiet this month, and spend nothing.', budget: { amount: 0, currency: 'USD' } })"
}
}
import { $ } from 'startup-builder'
const result = await $.try.Customer.score({ goal: 'Tell me which customers went quiet this month, and spend nothing.', budget: { amount: 0, currency: 'USD' } })
{
"mode": "try",
"stored": false,
"estimate": "Free",
"sample": {
"customer": "Cedar Hollow Rentals",
"last login": "16 days ago",
"usage": "units tracked down 45% in 4 weeks",
"flagged": "at risk",
"next": "Save and win back"
}
}
The decision
Activation is the week-1 event every retained customer hit and the churned ones missed; define it from your first 10 customers. Each churn or expansion signal opens exactly one move: a save note, an upgrade note, a review ask or a referral ask. Under 50 active customers, you ask for intros yourself; a referral program waits until 50.
The math
referred customers a quarter = active customers × participation × invites each × invite-to-customer
| Input | Value | Source |
|---|---|---|
| Active customers | 50, the line where a program starts to pay | Planning estimate |
| Participation | 10% of active customers | Planning estimate |
| Invites each | 2 | Planning estimate |
| Invite to customer | 20% | Planning estimate |
| Retention after a year | 5% monthly churn keeps 54%; 3% keeps 69% | The numbers |
50 × 10% × 2 × 20% = 2 referred customers a quarter. At 10 customers the same math gives 0.4, so the founder asks each customer in person instead.
Playbook
| Step | Move on when |
|---|---|
| 1. Define activation from your first 10 customers: the week-1 event all the retained ones hit | One event, hit by every retained customer and missed by most churned ones |
| 2. Watch every signup, and nudge at hour 24 and day 3 if the event has not happened | Activation at least 70% by week 4 |
| 3. Open a save note on each churn signal: no login in 14 days, usage down 50%, a ticket open 48 hours, a failed payment | Every signal answered within 24 hours |
| 4. Send an upgrade note on each expansion signal: 80% of a plan limit, a second team, the result hit 3 times | At least 1 in 4 limit notes upgrades |
| 5. Offer an annual plan at month 2 or 3, only to customers 30 days past activation | Never to a customer with an open churn signal |
| 6. Ask for a review the week a customer gets a result, and for an intro within a week of their outcome | At least 1 intro per 3 asks |
| 7. Check your champions’ employers monthly; a move opens the new account | Every moved champion gets a note within 7 days |
| 8. Read activation, logo churn, net revenue retention and expansion by signal each month, from Stripe | Logo churn under 5% a month by week 12 |
Worked example
20 customers at $149, 2 churning a month: 10% monthly churn keeps 28% after a year, which no acquisition rescues. Activation is “first renewal notice sent in week 1”, and no churned customer sent one. Nudges on day 3 lift activation from 55% to 80%, and churn falls to 4%, which keeps 61% after a year. Upgrade notes at 80% of the limit convert 1 in 4.
Net revenue retention moves from 88% to 101%. 1.2 more customers kept each month is $179 of MRR a month that acquisition would otherwise have to replace, for about 4¢ a month of champion checks.
When it breaks
| Symptom | Cause | Fix | Fix with |
|---|---|---|---|
| Activation in the first week (under 70%, at least 20 signups over the last 4 weeks) | A long path to the first result, or nudges that miss | Nudge at hour 24 and day 3, and cut setup steps before the event | Metric.watch |
| Logo churn (over 5%, a month, on at least 20 customers) | Customers who never activated, or saves that come late | Answer every churn signal within a day, and read activation again with month-3 survivors | Customer.save |
| Activated customers who churn (over 3%, a month, on at least 20 activated customers) | The activation event is correlated with staying, not the cause of it | Pick the event again from the customers still paying at month 3 | Metric.define |
| Upgrade notes that convert (under 10%, 20 notes) | The note fires before the customer feels the value | Fire at 80% of the limit only after the result has hit twice | Subscription.nudge |
| Referral participation (under 3%, 50 active customers) | The ask comes before the outcome, or the reward does not matter to a business buyer | Ask at the outcome event, and reward with account credit | Referral.ask |
| Annual plans that churn (over 1 customer, a quarter) | Annual offered to customers about to leave | Offer only 30 days past activation, with no open signal | Offer.publish |
| Reviews per 10 asks (under 1 review, 10 asks) | The ask lands in a week when nothing happened for the customer | Ask the week a result lands, with a direct link to the review form | Review.request |
How your agents run it
| Step | Kind | What you get | Cost each time | Your time | Approval |
|---|---|---|---|---|---|
| 1. Silence watch | Workflow | Every morning, each customer scored on your declared risk rule, and anyone who went quiet flagged with why, before they cancel. | Free | 7 min | Runs on its own |
| 2. Save and win back | agent task | A customer at risk in, and within 24 hours one note out with the offer your Policy allows that fits their usage. | About 0.7¢ | 13 min | Runs on its own |
| 3. Upgrade note at the limit | agent task | A customer at 80% of a plan limit in, one note out with their numbers and the next plan’s price, at most once a month. | About 0.65¢ | 7 min | Runs on its own |
| 4. Champion moved | Workflow | Each month, your champions checked for a new job, and each who moved to a company that fits added to your accounts with why now. | About 42¢ | 8 min | Runs on its own |
| 5. Review requests | Workflow | A customer who scored you 9 or 10 in, one short ask out with a link to the review site that needs reviews most. | About 0.05¢ | 6 min | Runs on its own |
| 6. Referral ask | agent task | Each week, your five happiest customers asked for one introduction each, by a note naming the outcome they got from you. | About 2.4¢ | 10 min | Runs on its own |
Workflows, agent tasks and Services for this job
- Champion moved (Workflow): Each month, your champions checked for a new job, and each who moved to a company that fits added to your accounts with why now.
- Referral ask (agent task): Each week, your five happiest customers asked for one introduction each, by a note naming the outcome they got from you.
- Review requests (Workflow): A customer who scored you 9 or 10 in, one short ask out with a link to the review site that needs reviews most.
- Upgrade note at the limit (agent task): A customer at 80% of a plan limit in, one note out with their numbers and the next plan’s price, at most once a month.
- Save and win back (agent task): A customer at risk in, and within 24 hours one note out with the offer your Policy allows that fits their usage.
- Silence watch (Workflow): Every morning, each customer scored on your declared risk rule, and anyone who went quiet flagged with why, before they cancel.
Good looks like
| When | The number | Target | Below this, do |
|---|---|---|---|
| Week 1 | The activation event defined, and every signup watched | 1 event | None: talk to your first 10 customers this week and find the shared event |
| Week 4 | Activation in week 1, read on at least 20 signups, with every churn signal opening a note within a day | 70% | Under 70%: shorten the path to the event before buying more signups |
| Week 12 | Logo churn a month, read on at least 20 customers, with first expansion revenue and net revenue retention read monthly | 5% | Over 5%: stop scaling acquisition and fix activation first |
Reference
8 jobs, 9 calls and 6 fields
| Call | What it does | Path | Price |
|---|---|---|---|
Metric.watch | Opens a task the day a number crosses your line. | POST / | Free |
Event.capture | Capture records an Event from a site, App or API call that no Verb emits, such as a page view or a click. | POST / | Free |
Metric.define | The week-1 event every retained customer hit and the churned ones missed, defined from your first 10 customers. | POST / | Free |
Metric.query | Reads a number by page, term, source or Play. | POST / | Free |
Offer.publish | An annual plan offered at month 2 or 3 to customers 30 days past activation with no open churn signal. | POST / | Free |
Subscription.resize | Resize changes how many units a subscription holds and prorates the current period. | POST / | Free |
Review.publish | An ask for a review on G2 or Capterra the week a customer gets a result, with a direct link. | POST / | Free |
Referral.invite | An intro ask within a week of a customer’s outcome; a two-sided program once you pass 50 active customers. | POST / | Free |
Message.schedule | Sends an email or message from your own inbox at the hour you set. | POST / | Free from your inbox |
| Field | What it says |
|---|---|
| Customer | The account, its plan and its monthly amount, read from Stripe. |
| Activated | Whether it hit the activation event, and the day it did. |
| Signal | The churn or expansion signal that fired, with its number and its date. |
| Move | The save note, upgrade note, review ask or referral ask the signal opened. |
| Outcome | Saved, upgraded, churned or waiting, read from Stripe. |
| Cost | The most the watch can cost, shown before it runs, and what it cost after. |
Put your agents to work on your product
Free to plan. You see the plan and its price before anything runs.