Claude Code logo
Claude Code template
docs.claude.com

Churn Risk and Renewal Watch

Ranks accounts by change from their own baseline into a HIGH/MEDIUM/WATCH triage list with the question to ask. No fake probabilities. Never contacts customers.

NewNew10.2 KB snapshotStarter VM
Claude Code logo

What's inside

Harness

Claude Code

Plan

Starter

vCPU

1

Memory

2 GiB

Snapshot

10.2 KB

How it works · ~3 minutes

  1. 01 · Fork

    New isolated microVM on your subdomain — creator state included.

  2. 02 · Your keys

    Log into Claude Code with your own model credentials (BYOK).

  3. 03 · Ask it to work

    Open the terminal and give it a real job. You keep what ships.

30-day money-back on your first purchase · no free trial · keys never leave the VM

About this template

"Churn risk: 73%." Where did 73 come from?

Nobody knows. It goes in the board deck anyway, and the CS team works the list top-down sending "we noticed you haven't logged in lately" — which tells a wavering customer they're being watched and confirms they should leave.

Meanwhile the account that actually left had a stable login count and a champion who quit in February.

This refuses to predict, on purpose

No model, no training set, no validated baseline — so no probabilities and no risk scores. Those numbers end up in a deck and become fiction.

You get an ordinal list instead: HIGH / MEDIUM / WATCH. A comparison between accounts, not a claim about any one of them. It's the accounts a human should look at first, and it's called exactly that.

Change, not level

The signal that matters most is a drop from the account's own baseline. A customer who always logged in twice a month and still does is fine. One who went from daily to weekly is the signal.

Signals ranked by how much they actually mean:

  1. Contractual — renewal approaching with no engagement, a downgrade, a seat reduction, a failed payment. Facts, not inference.
  2. Behavioural delta — against their own normal, never an absolute number.
  3. Relationship — champion left, sentiment turned, escalation unresolved.
  4. Support — volume spike or a repeated unresolved issue.

Anything flagged only by 3 or 4 caps at WATCH, never HIGH.

The output is a question, not a task

"Their weekly sessions fell from 40 to 9 after the March seat change — ask if something broke for that team."

Not "check in with Acme". That's a task; this is something a human can actually walk into a call with. Every flagged account gets the specific observation with dates, who should reach out, and what to ask.

Two honesty rules

Absence of usage data is not absence of risk. If your export has no usage signal the ranking is marked CONTRACT-ONLY and substantially weaker — a quiet account never gets to look healthy just because you can't see it.

Never a discount as the first move. A discount answers a price objection, most churn isn't one, and leading with money trains renewal hostage-taking.

What you supply

Your own Claude Code login, plus a subscription list with renewal dates in ~/churn/exports/ — and usage/support exports if you have them.

No CRM key. Exports are the input, which is also why it cannot contact anyone.

Where this stops

It flags and drafts internal notes. It does not email customers, create CRM tasks, or offer save-deals.

It won't state a churn probability or predicted revenue impact, won't guess why an account is disengaging (you get cause unknown — ask), and won't tell you an account is safe — it ranks risk, it doesn't clear it.

The NEVER_CONTACT_OR_DISCOUNT guard ships as a file your fork inherits, not as a line in a prompt — and this build was verified on an actual fork, where the guard and the skill that reads it are both present.

Inside this fork

Forking copies this template into a brand-new, fully isolated microVM on your own subdomain. Here's exactly what lands in it.

  • Claude Code agent

    The upstream harness, pre-installed — same version the creator ran.

  • Starter VM

    1 vCPU · 2 GiB RAM · 10 GiB disk.

  • Creator's /persist data

    The captured persist volume is copied byte-for-byte into your fork.

  • BYOK — your keys, your VM

    Add your model API keys after forking; they live only inside your microVM.

What this agent can do

1 skill

  • churn-risk-detector

    Rank accounts by churn risk from contract, usage-delta and relationship signals into a HIGH/MEDIUM/WATCH triage list with a specific…

What you'll configure after forking

Secrets are scrubbed from shared templates — these are the names you supply in your agent's terminal once it boots.

Environment variables

  • ANTHROPIC_API_KEY

Your turn

Your own Churn Risk and Renewal Watch, live in about 3 minutes.

Forking copies this Claude Codeagent into a brand-new, fully isolated microVM on your own subdomain — the creator's /persist state and all. Add your own keys after it boots; they never leave the box. Don't love it? Your first jurniti purchase comes with 30 days to get every cent back.

New paid VM · BYOK · 30-day money-back on your first purchase · ~3 min to provision

Starter · fork

$25/ mo

Needs 1 of your own API key