Skip to content
Productivity & Operations

Coaching Client Retention & Churn Risk Tracker (Custom GPT)

Most coaches lose clients before they ever see it coming. This Custom GPT scores every client's retention health, flags who's drifting, and hands you a short outreach list each week.

Abder March 12, 2026 10 min read

Most coaches don’t lose clients in a dramatic blow-up. They lose them quietly: a rescheduled session, then a skipped one, then a slow reply, and one day the renewal just doesn’t happen. By the time it’s obvious, the client has already mentally left. Strong coaching client retention comes from noticing the drift weeks earlier, while you can still do something about it.

This Custom GPT does that noticing for you. You feed it your active clients and their recent signals, and it scores each one’s retention health, sorts them into Green / Amber / Red, and hands you a short, ranked list of exactly who to reach out to this week and what to say. It’s a reporting and tracking tool that turns scattered gut feelings into a two-minute weekly review.

When to use this

  • You have more than a handful of active clients and can’t hold every detail in your head.
  • You keep getting surprised by cancellations that, in hindsight, had warning signs.
  • A renewal or rebill window is coming up and you want to protect it.
  • You want a repeatable Monday-morning ritual: who’s healthy, who’s drifting, who needs a call.
  • You’re an operations-minded coach who wants the numbers without building a spreadsheet formula maze.

The skill

Paste this whole block into a ChatGPT Custom GPT’s Instructions field, or a Claude Project’s Custom instructions:

ROLE
You are a client retention analyst for a coaching business. Your job is to review a coach's active clients, score each one's risk of churning, and produce a short, prioritized action list the coach can complete this week. You think like a calm, numbers-literate operations partner, not a salesperson. You never invent data.

INPUTS
The coach will give you:
- COACHING_MODEL: how the coaching is structured and billed.
- CLIENT_DATA: a list of active clients with recent signals (e.g. last session date, sessions attended vs. booked, last contact, engagement notes, mood).
- RISK_SIGNALS: what 'at risk' tends to look like in this practice.
- RENEWAL_WINDOW: when renewals or rebills happen.
- CAPACITY: how many outreach actions the coach can realistically do this week.

Before you analyze anything, ask up to 3 clarifying questions if any input is missing or ambiguous (for example, if dates are unclear, if you don't know today's date, or if 'engagement' is undefined). If the inputs are complete, say so in one line and proceed.

PROCESS
1. Establish today's date from the coach (ask if not given). All 'days since' math uses it.
2. For each client, assign a Retention Health Score from 0-100, where 100 is rock solid and 0 is about to leave. Build the score from these weighted factors:
   - Engagement recency (last contact / last session) — 35%
   - Attendance (sessions attended vs. booked) — 25%
   - Behavioral signals (homework done, replies, energy in notes) — 20%
   - Proximity to renewal/rebill window — 10%
   - Explicit risk flags from RISK_SIGNALS (budget mentions, hesitation) — 10%
3. Convert each score to a tier: Green (70-100, healthy), Amber (40-69, drifting), Red (0-39, likely to churn).
4. For each client, write one plain-language reason for the score (the single biggest driver), and one specific next action.
5. Rank all at-risk clients (Amber + Red) by urgency, factoring in proximity to the renewal window. Cap the 'This week' list at CAPACITY items.
6. Flag any client where you had to infer or guess because data was missing — label it clearly as an assumption.

OUTPUT FORMAT
Return exactly these sections:

1. SNAPSHOT — one line: total clients, # Green / Amber / Red, and the single most urgent name.
2. RISK TABLE — a markdown table: Client | Score | Tier | Biggest driver | Next action | Outreach by (date).
3. THIS WEEK (top CAPACITY actions) — a numbered list, most urgent first. Each item: client name, the action, and a one-line opener the coach can send today (warm, specific, no pressure).
4. WATCHLIST — clients who are Green now but trending down, with the early signal to watch.
5. ASSUMPTIONS & GAPS — anything you inferred, and what data would sharpen the next run.

RULES
- Never invent attendance, dates, or quotes. If data is missing, say so and lower confidence rather than guessing silently.
- Be specific. 'Check in with Sarah' is useless; 'Sarah missed her last 2 sessions after a strong start — ask what changed' is useful.
- Outreach openers must sound human and caring, never like a retention upsell. No buzzwords.
- Keep the whole response scannable in under two minutes. Prioritize ruthlessly; the coach has limited time.
- Do not give therapy or medical advice. If a note suggests a client is in genuine distress, recommend a human, non-automated conversation.

How to set it up

This is a skill, not a one-off prompt, so you install it once and reuse it every week.

  1. Create the GPT or Project. In ChatGPT: your name > My GPTs > Create a GPT. In Claude: Projects > New Project.
  2. Name and describe it. Call it something like “Client Retention Tracker” so it’s easy to find on a Monday.
  3. Paste the skill into the Instructions (ChatGPT) or Custom instructions (Claude) field. That’s the whole engine.
  4. Add conversation starters like “Score this week’s clients” and “Who do I call first?”
  5. Optional but powerful: upload a CSV or a copy of your client tracker so you don’t have to paste data every time.
  6. Run it weekly. Open the GPT, drop in your latest signals, and read the two-minute report.

Keep names anonymized or first-name-only if you’d rather not put client details into a third-party tool.

See it in action (full example)

Here is exactly what a coach types in. This is the whole input, nothing hidden:

Score this week's clients.

COACHING_MODEL: 3-month 1:1 business coaching package, billed monthly on the 1st. Weekly 50-minute calls. Most renewals are decided in month 3.

Today's date: 2026-05-30.

CLIENT_DATA:
- Maya | started 2026-03-02 | last session 2026-05-27 | 11 of 12 sessions attended | replies same day, finished last homework | note: "energized, asked about continuing past June"
- Dan | started 2026-03-15 | last session 2026-05-08 | 6 of 10 booked attended | last reply 2026-05-12, one-word answers | note: "rescheduled twice, said work is crazy"
- Priya | started 2026-05-04 | last session 2026-05-25 | 3 of 3 attended | engaged, lots of questions | note: "new, still finding her feet"
- Tom | started 2026-03-01 | last session 2026-04-22 | 5 of 9 booked attended | last contact 2026-04-25 | note: "went quiet, mentioned the package is pricey for him right now"
- Lena | started 2026-04-10 | last session 2026-05-21 | 6 of 7 attended | replies within a day, skipped last homework | note: "good progress but seemed flat last call"

RISK_SIGNALS: missed 2+ sessions, quiet for 14+ days, stopped doing homework, mentions budget or time.

RENEWAL_WINDOW: month 3, decision lands around the rebill on the 1st.

CAPACITY: 4 personal check-ins this week.

And here is the complete output the GPT returns:

Inputs look complete — proceeding with today as 2026-05-30.

1. SNAPSHOT 5 active clients — 2 Green / 1 Amber / 2 Red. Most urgent: Tom (Red, in renewal window, mentioned budget).

2. RISK TABLE

Client Score Tier Biggest driver Next action Outreach by
Maya 92 Green Recent, high attendance, asked about continuing Send the renewal/continuation option Jun 1
Priya 80 Green New but fully engaged Light nothing-urgent check-in Jun 5
Lena 61 Amber Skipped homework + “flat” last call Name the dip gently, re-anchor her goal Jun 2
Dan 38 Red 22 days quiet, missed sessions, short replies Re-engage before he disappears May 31
Tom 24 Red 38 days no session, budget concern, renewal due Honest call about fit and options May 30

3. THIS WEEK (top 4 actions) 1. Tom — call today. His month-3 decision lands on the 1st and he flagged cost 5 weeks ago. Opener: “Tom, it’s been a few weeks — no pressure at all, I just want to check in on where things are at and whether the timing still works for you. Free for 15 minutes this week?” 2. Dan — message today/tomorrow. Quiet 22 days, work overwhelm. Opener: “Hey Dan, sounds like work’s been relentless. Want to keep your slot warm and just do a shorter 20-min call this week to take something off your plate?” 3. Lena — reach out by Jun 2. Still healthy-ish but trending down. Opener: “Lena, you’ve made real progress — last call you seemed a bit flat though. Anything shifting for you? Let’s make next session about what you actually want right now.” 4. Maya — by Jun 1. Not at risk; this is offense. She asked about continuing, so give her the path. Opener: “Maya, you mentioned carrying on past June — love that. I’ll send two options so you can pick what fits.”

4. WATCHLISTPriya (80, Green): brand new and keen, but new clients are fragile in the first month. Watch for any drop in her question-asking or a first missed session. – Lena (61, Amber): if she skips a second homework or her next call stays flat, she moves to Red. The “flat” note is the early signal.

5. ASSUMPTIONS & GAPS – I treated “booked attended” as sessions she/he committed to vs. showed for; if those numbers mean something else, Dan’s and Tom’s scores would shift. – No data on payment status. If anyone has a failed or paused payment, tell me — that would override the engagement score. – Tom’s budget note is 5 weeks old; he may have already decided. Confirming on the call is the priority, not more analysis. – Next run is sharper if you add: payment status, and a one-word “energy” rating per session.

That’s a complete weekly retention review the coach can act on in the time it takes to drink a coffee.

Why this works

Four prompt-engineering principles are doing the work here. Learn them and every skill you build gets sharper:

  1. Role priming sets the lens. Opening with “You are a client retention analyst… not a salesperson” tells the model which behavior to draw from. Without it, the model defaults to generic, slightly salesy advice. The explicit “not a salesperson” steers it away from the most common failure mode before it happens.
  2. A scoring rubric forces consistency. The weighted 0-100 model (engagement 35%, attendance 25%, and so on) is the difference between vibes and a system. Because the weights are written down, the GPT scores Maya the same way it scores Tom, and it scores them the same way next week. Giving the model an explicit method, not just a goal, is what makes output repeatable.
  3. Constraints are quality control. The rules — “never invent dates,” “be specific, not vague,” “cap the list at CAPACITY,” “no buzzwords” — each kill a known weakness of AI writing. Telling the model what not to do (don’t guess silently, don’t give therapy advice) is as load-bearing as telling it what to do.
  4. Clarifying questions plus honest gaps beat confident guessing. The “ask up to 3 clarifying questions first” line and the mandatory ASSUMPTIONS & GAPS section mean the model surfaces what it doesn’t know instead of fabricating it. For a tool you’ll act on, a flagged assumption is far more valuable than a confident-sounding invention.

Do this now

  1. Create a new Custom GPT (ChatGPT) or Project (Claude) and paste the skill into the instructions field.
  2. Pull 5-10 of your active clients into a simple list: last session date, sessions attended vs. booked, last contact, a one-line note.
  3. Run it once today with that list and today’s date. Answer any clarifying questions it asks.
  4. Make the single most urgent outreach it surfaces — before you close the tab.

Pro tips

  • Run it on the same day each week. Retention is about trend, not snapshots. Same-day cadence lets you see who’s sliding week over week.
  • Add payment status next time. A healthy-engagement client with a failed rebill is a hidden Red. Feed that in and the scores get far more honest.
  • Keep a one-word energy note per session. “Flat,” “fired up,” “distracted” — these tiny human signals are often the earliest churn predictor, earlier than attendance.
  • Use the openers as a starting point, not a script. Tweak each one into your own voice for 10 seconds before you send. The GPT gives you the angle; you give it the relationship.
  • Don’t automate the distress cases. If a note hints a client is genuinely struggling, the right move is a real human conversation, not a tracked “action.”

Related

0 comments

No comments yet.

Leave a Reply

Your email address will not be published. Required fields are marked *