Write a Renewal Risk Prompt That Catches Churn 90 Days Early
Build a renewal risk prompt that reads usage, support, and engagement signals, flags at-risk accounts by tier, and returns a save play. Copy the prompt.
Most churn is visible months before the renewal call. Usage slid in March, the champion stopped replying in April, support tickets turned sour in May, and the CSM found out in July when the customer asked about their data export. The signals were all there. Nobody read them together.
A renewal risk prompt fixes the reading problem. It takes the signals you already have for an account (usage trend, support load, stakeholder activity) and returns a risk tier, the specific signals dragging the account down, and a save play with an owner and a date. Not a score. An instruction for what to do next, in a locked output contract you can run across a whole segment.
This post shows how to build that prompt, why chaining detection to a save play beats a standalone risk flag, and how to keep the output honest instead of a confident guess.
Why the churn blogs won't hand you the working prompt
Search for a renewal risk prompt and you'll hit three kinds of pages, none of which finish the job. The prompt listicles give you fragments. The signal explainers give you theory. The vendor blogs give you a demo button.
AIUnpacker's churn prevention playbook for CSMs is the strongest of the bunch, with seven structured prompts across signal synthesis, save planning, and effectiveness measurement. It's genuinely useful, and it still stops short: no worked example showing a filled prompt producing a real output, no locked contract with named risk flags, and seven separate prompts rather than one you run repeatedly. Vitally's 23 AI prompts for customer success includes a churn prompt, but it's a single line ("summarize findings in a table with Customer Name, Risk Factor, Notes") wrapped in demo CTAs for their platform. Mosaic's eight B2B churn warning signals names the signals well (rising ticket volume, stalled adoption, champion disengagement, data export inquiries) and then pitches its own intelligence product instead of shipping a prompt.
So the concept is covered to death. The copyable artifact isn't. And the artifact is the whole point.
Flagging an account as at-risk feels like progress. It isn't, on its own. The flag only matters if it names who acts and by when. That's why this prompt chains detection straight into a save play instead of stopping at a colored tier.
What you can do with a renewal risk prompt
- Triage a full segment into Red, Amber, and Green tiers in one pass
- Surface the two or three signals actually driving each account's risk
- Turn a flagged account into a save play with an owner, an action, and a target date
- Catch a quiet-churn account whose usage slid but whose tickets look fine
- Prep a renewal call knowing exactly which risk to address first
- Hand leadership a ranked risk view without a manual CRM pull
Detection and the save play are one job, not two
Here's the take most churn content misses: detecting risk and planning the save are the same job, and splitting them is where accounts fall through. A prompt that returns "Acme is Amber" hands the CSM a second task, which is to decide what to do. That second task is where the follow-through leaks. Bundle them, and the output is already actionable.
The signal families matter, but their combination matters more. One dropped usage week is noise. Usage down 30% and a champion who's gone quiet and a support ticket about pricing is a story. The prompt's job is to read the stack, not any single line.
Signal families a renewal risk prompt reads:
Product usage → active seats, feature breadth, 90-day trend
Support load → ticket volume, severity, sentiment shift
Relationship → champion activity, exec sponsor, renewal date
Risk flags it can raise:
USAGE_DECLINE · SUPPORT_SPIKE · CHAMPION_LOST
NO_EXEC_SPONSOR · SLOW_TIME_TO_VALUE · PRICING_FRICTION
Anatomy of the renewal risk prompt
The structure that holds up: a tight role, the signals fenced as discrete inputs, and the output contract stated last. Models weight the most recent tokens, so a contract that sits at the bottom of the prompt survives a long pasted signal dump better than one buried up top.
Role: You are a customer success risk analyst.
Inputs:
Account: {{account_name}} Renewal date: {{renewal_date}} ARR: {{contract_value}}
Usage signals: {{usage_signals}}
Support history: {{support_history}}
Engagement signals: {{engagement_signals}}
## Output format (return exactly this)
Risk tier: RED | AMBER | GREEN
Top risk signals: up to 3, each a named flag + one-line evidence
Primary driver: the single signal to address first
Save play: owner · action · target date
Confidence: high | medium | low (low if signals conflict or are thin)
If a signal is missing, write "Not provided" — never infer it.
That last line does real work. Without it, a model fills gaps with plausible fiction, and a fabricated "champion is engaged" is worse than a blank. The {{usage_signals}} and {{support_history}} variables stay as raw pasted data, so you're never asking the model to invent numbers it wasn't given.
A renewal risk prompt that worked on one model version can drift after an update. If the tier feeds a Slack alert or a save-play tracker, pin the model version you validated against, and spot-check the flags weekly. The prompt surfaces risk; it doesn't get to be wrong quietly.
Prompt-craft patterns that make the output trustworthy
Name the flags as an enum, not free text
Let the model write "seems disengaged" and every account reads differently. Give it a closed set (CHAMPION_LOST, USAGE_DECLINE, SUPPORT_SPIKE) and the output becomes filterable, sortable, and comparable across a segment. An enum is what turns 40 account outputs into a ranked worklist instead of 40 paragraphs.
Use only these flags: USAGE_DECLINE, SUPPORT_SPIKE, CHAMPION_LOST,
NO_EXEC_SPONSOR, SLOW_TIME_TO_VALUE, PRICING_FRICTION.
Each flag needs one line of evidence drawn from the inputs.
Force a confidence rating on thin data
CSMs distrust a tool that's confident about an account it barely knows. A required Confidence: low when signals are sparse or contradictory keeps the prompt honest and tells the reader when to go look at the account themselves.
Restate the format on the last line for GPT-4o
Model behavior isn't uniform here. Claude tends to honor a ## Output format heading through a long input, while GPT-4o is more likely to drift on lengthy signal dumps unless the contract is restated on the final line of the prompt. If you run the same renewal risk prompt across models, add that closing restatement so the shape holds either way.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{account_name}} | Yes | The account being assessed |
{{renewal_date}} | Yes | Contract renewal date, so the prompt weighs proximity |
{{contract_value}} | No | ARR, used to prioritize save effort |
{{usage_signals}} | Yes | Pasted usage data: active seats, feature breadth, 90-day trend |
{{support_history}} | Yes | Ticket volume, severity, and sentiment over the recent window |
{{engagement_signals}} | No | Champion activity, exec sponsor, QBR attendance |
Getting started
- Pull one account's data: 90-day usage, recent tickets, last contact with the champion.
- Drop each into
{{usage_signals}},{{support_history}}, and{{engagement_signals}}. - Run the prompt and read the tier plus the primary driver first.
- Sanity-check the flags against what you already know about the account.
- Assign the save play to a real owner with a real date, not "the team."
- Batch it: run the same prompt across a segment and sort by tier.
- Re-run before every renewal cycle so risk stays current, not quarterly-stale.
Once this runs cleanly on one account, the reusable version is a pack, not a copy-paste habit. The Customer Health Monitor Agent Pack runs this end-to-end: it reads engagement and usage signals from HubSpot and Google Sheets, classifies every account Red, Amber, or Green with the evidence trail behind each rating, and builds the intervention plan with owner and target date.
See the Customer Health Monitor Agent Pack →If the risk you find is already loud (an escalation in flight, a churn threat on the table), that's a different motion, and the Customer Escalation Agent Pack handles the de-escalation and response side.
The Customer Health Monitor Agent Pack does this whole loop without the copy-paste: it pulls signals from HubSpot and Google Sheets into a health snapshot, runs the Risk Classification prompt to tier every account with its evidence, and turns the result into a save play carrying an owner, an action type, and a target date, then pushes the summary to Slack. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog plus every pack added later, worth it if renewal risk isn't the only CS job you're running.
If you'd rather rank the whole book by a single number first, the customer health score prompt covers the scoring-contract approach, and this renewal risk prompt picks up where that leaves off by turning the top of the list into action. To feed better relationship signals into either one, the customer feedback synthesis prompt pulls sentiment and themes out of raw customer notes so your engagement inputs aren't guesswork.
Browse the customer success prompt packs →Common questions
What is a renewal risk prompt?
Can ChatGPT flag at-risk accounts before renewal?
How is a renewal risk prompt different from a health score?
What signals should a renewal risk prompt read?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

A Discovery Call Synthesis Prompt That Grades the Evidence, Not the Vibes
Sales and product teams run dozens of discovery calls a quarter, then synthesize them from memory the night before the roadmap meeting. The loud interview wins. A vivid quote from one account becomes…

A Sales Meeting Follow-Up Prompt That Recaps, Updates the CRM, and Drafts the Email
Ask any rep what happens after a good sales call, and the honest answer is: four tools and twenty minutes. Notes get retyped into a recap. The recap gets mined for action items. Someone updates the Sa…

Agent Prompt vs System Prompt: What Each One Controls
The terms get used interchangeably, and that's where agents go wrong. Agent prompt vs system prompt isn't a style preference. It's the difference between the rules that hold on every single call and t…