Skip to content

Lost Customers: what moves it

Lost Customers is the ARR from Customers who paid last week and nothing this week.

One-time sales that end count on their own line.

The number

Lost Customers
You, to your agent

What moved lost Customers this week, and which Play moved it?

curl "https://api.sb/leaseline.app/customers?where=status%20%3D%20%22churned%22&sort=-since&limit=3" \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"

# Not live yet (gaps #4)
curl -X POST https://api.sb/leaseline.app/metrics/query \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"metric":"churned-arr","shape":"trend","breakdown":"play","window":"7d"}'
import { $ } from 'startup-builder'

const { customers } = await $.Customer.list({ where: 'status = "churned"', sort: '-since', limit: 3 })   // the 3 who left this week, 2 of them at risk a week earlier
return await $.Metric.query({ metric: 'churned-arr', shape: 'trend', breakdown: 'play', window: '7d' })   // by the Play credited · Not live yet, gaps #4
npx startup-builder do Customer.list --json '{"where":"status = \"churned\"","sort":"-since","limit":3}'
npx startup-builder do Metric.query --json '{"metric":"churned-arr","shape":"trend","breakdown":"play","window":"7d"}'   # Not live yet (gaps #4)
{
  "name": "do",
  "arguments": {
    "code": "const { customers } = await $.Customer.list({ where: 'status = \"churned\"', sort: '-since', limit: 3 })   // the 3 who left this week, 2 of them at risk a week earlier\nreturn await $.Metric.query({ metric: 'churned-arr', shape: 'trend', breakdown: 'play', window: '7d' })   // by the Play credited · Not live yet, gaps #4"
  }
}
Response200application/json
{
  "metric": {
    "$id": "https://api.sb/leaseline.app/metrics/churned-arr",
    "$type": "Metric",
    "name": "Churned ARR"
  },
  "week": "2026-10-19",
  "value": -1041,
  "rows": [
    {
      "play": "cold-email",
      "value": -347,
      "customers": 1
    },
    {
      "play": null,
      "value": -694,
      "customers": 2
    }
  ]
}
sample · 1 Not live yetPreview

−$1,041 ARR from 3 lost Customers · ■■■■ Clear · n 3 · path → net-new-arr → arr

$.Metric.query({ metric: 'churned-arr', shape: 'trend', breakdown: 'play', window: '7d' }) · sample

Credited toThis windowCustomers
Cold email−$347 ARR1
No Play credited−$694 ARR2

churned-arr is this site’s proposal to the hub (Not live yet, gaps #4), so the figure above is a sample until the hub holds it.

Owner

AccountableFrom
customer-lead · Customer Leadthe filed bridge item, word for word

Worked by

TitleIts queue
CSMPOST /{namespace}/tasks/next on the CSM’s queue

Moved here by

HowWhere
PlayAnnual prepay · Offers a steady monthly Customer a year up front, at a discount their own churn pays for, and answers an annual cancel with one save.
PageRenewals
TitleCSM

The leaves

Under itMoved by
Month 3 retentionfeeds it
prepay-retention-liftAnnual prepay

Compiled, not written: edit the records it reads (metrics/bridge.ts; cap), then regenerate. Every step runs from a sentence or a line of code. In your words: the CRM words you know, and where each lives here.

Contents