URL: /revenue/month-3-retention · Id: `page:/revenue/month-3-retention`

# Month 3 retention: what moves it

> Month 3 retention is the share of a month’s new Customers still paying in their third month.

Month 3 retention is the share of one month’s new [Customers](https://startupbuilder.dev/business/nouns/customer) still paying in their third month. It feeds the ARR lost when Customers leave.

## The number

```text title="Month 3 retention · Ask"
What moved month 3 retention this week, and which Play moved it?
```

```ts title="Month 3 retention · SDK"
import { $ } from 'startup-builder'

const { total } = await $.Customer.list({ where: 'since >= "2026-07-01" and since < "2026-08-01"', total: true })   // the July cohort
return await $.Metric.query({ metric: 'month-3-retention', shape: 'retention', breakdown: 'play', window: '90d' })   // by the Play credited
```

```json title="Month 3 retention · Response · sample"
{
  "metric": {
    "$id": "https://api.sb/leaseline.app/metrics/month-3-retention",
    "$type": "Metric",
    "name": "Month-3 retention"
  },
  "cohort": "2026-07",
  "value": 81,
  "unit": "percent",
  "rows": [
    {
      "play": "run-beside",
      "value": 86,
      "customers": 7
    },
    {
      "play": null,
      "value": 78,
      "customers": 9
    }
  ]
}
```

`81 % still paying in month 3 · ■■□□ Early sign · n 16 · path → churned-arr → arr`

`$.Metric.query({ metric: 'month-3-retention', shape: 'retention', breakdown: 'play', window: '90d' })` · sample

| Credited to | This window | Customers |
| --- | --- | --- |
| [Run it beside the old tool](/plays/run-beside) | `86 %` | `7` |
| No Play credited | `78 %` | `9` |

The hub defines it: [`month-3-retention`](https://startupbuilder.dev/agents/customer#month-3-retention). This page adds the Plays and seats that move it.

## Owner
| Accountable | From |
| --- | --- |
| [`team:customer`](https://startupbuilder.dev/agents/customer) · the hub’s Customer team, as the reused id keeps it | the hub Metric, unchanged |

## Worked by
| Title | Its queue |
| --- | --- |
| [Onboarding](/capabilities/how-your-agents-act#onboarding) | <Op verb="Task.next" /> on the Onboarding’s queue |

## Moved here by
| How | Where |
| --- | --- |
| Play | [Run it beside the old tool](/plays/run-beside) · Runs a new Customer’s work beside their old tool every day, fixes each difference you caused, and books the switch when the report reads zero. |
| Page | [Onboarding](/revenue/onboarding) |
| Title | [Onboarding](/capabilities/how-your-agents-act#onboarding) |

## The leaves
| Under it | Moved by |
| --- | --- |
| `cutover-rate` | [Run it beside the old tool](/plays/run-beside) |