URL: /capabilities/keep-and-grow · Id: `page:/capabilities/keep-and-grow`

# 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.

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.

```text title="Run it · Ask"
Tell me which customers went quiet this month, and spend nothing.
```

```ts title="Run it · SDK"
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' } })
```

```json title="Run it · Response"
{
  "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"
  }
}
```

- **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

## 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](/strategy/numbers#assumptions) |
| Participation | 10% of active customers | [Planning estimate](/strategy/numbers#assumptions) |
| Invites each | 2 | [Planning estimate](/strategy/numbers#assumptions) |
| Invite to customer | 20% | [Planning estimate](/strategy/numbers#assumptions) |
| Retention after a year | 5% monthly churn keeps 54%; 3% keeps 69% | [The numbers](/strategy/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`](/capabilities/keep-and-grow/save-and-win-back) |
| 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`](/capabilities/keep-and-grow/upgrade-note) |
| 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`](/capabilities/keep-and-grow/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`](/capabilities/keep-and-grow/review-requests) |

## How your agents run it
| Step | Kind | What you get | Cost each time | Your time | Approval |
| --- | --- | --- | --- | --- | --- |
| 1. [Silence watch](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/upgrade-note) | 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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/upgrade-note) (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](/capabilities/keep-and-grow/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](/capabilities/keep-and-grow/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

| Job | What it returns | Price |
| --- | --- | --- |
| Activation event | The week-1 event every retained customer hit and the churned ones missed, defined from your first 10 customers | Free |
| Churn signals | No login in 14 days, usage down 50% month over month, a ticket open 48 hours, a failed payment: each opens a save note | Free |
| Expansion signals | 80% of a plan limit, a second team, the result hit 3 times: each sends an upgrade note | Free |
| Billing from Stripe | Plans, renewals, upgrades, failed payments and refunds, read from your own Stripe account | Free |
| Annual plan offer | An annual plan offered at month 2 or 3 to customers 30 days past activation with no open churn signal | Free |
| Review asks | An ask for a review on G2 or Capterra the week a customer gets a result, with a direct link | Free |
| Referral asks | An intro ask within a week of a customer’s outcome; a two-sided program once you pass 50 active customers | Free |
| Champion job changes | Your champions’ current employers, checked monthly, so a move becomes a new account | About 20¢ per 100 contacts |

| Call | What it does | Path | Price |
| --- | --- | --- | --- |
| [`Metric.watch`](/code/reference#metric-watch) | Opens a task the day a number crosses your line. | `POST /metrics/{metric}/watch` | Free |
| [`Event.capture`](/code/reference#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 /events/capture` | Free |
| [`Metric.define`](/code/reference#metric-define) | The week-1 event every retained customer hit and the churned ones missed, defined from your first 10 customers. | `POST /metrics/define` | Free |
| [`Metric.query`](/code/apps/analytics-and-experiments/query) | Reads a number by page, term, source or Play. | `POST /metrics/query` | Free |
| [`Offer.publish`](/code/reference#offer-publish) | An annual plan offered at month 2 or 3 to customers 30 days past activation with no open churn signal. | `POST /offers/{offer}/publish` | Free |
| [`Subscription.resize`](/code/reference#subscription-resize) | Resize changes how many units a subscription holds and prorates the current period. | `POST /subscriptions/{subscription}/resize` | Free |
| [`Review.publish`](/code/reference#review-publish) | An ask for a review on G2 or Capterra the week a customer gets a result, with a direct link. | `POST /reviews/{review}/publish` | Free |
| [`Referral.invite`](/code/reference#referral-invite) | An intro ask within a week of a customer’s outcome; a two-sided program once you pass 50 active customers. | `POST /referrals/invite` | Free |
| [`Message.schedule`](/code/apps/mailboxes/schedule) | Sends an email or message from your own inbox at the hour you set. | `POST /messages/{message}/schedule` | 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. |