ooligo
sop

Churn-save playbook SOP

Difficulty
intermediate
Setup time
30-60 min
For
csm
Customer Success

Stack

Most CS teams find out an account is leaving when the renewal does not close. By then the save window has been shut for months. The fix is not a better health score — it is a fixed motion that fires the moment a score crosses a threshold, so the CSM is intervening in week one of the slide instead of reacting in the last 30 days before renewal. This SOP is that motion: a trigger, a diagnosis step, a tiered intervention, an escalation rule, and a documentation requirement that runs the same way for every at-risk account. It is deliberately rigid. A save motion that depends on each CSM improvising the right play when an account turns red is a save motion that works for your best CSM and fails for everyone else.

The artifact bundle lives at apps/web/public/artifacts/churn-save-playbook-sop/. It ships churn-save-sop.md (the procedure, ready to paste into Notion or a Gainsight knowledge base), save-plan-template.md (the structured save-plan doc the CSM fills per account), and slack-escalation-template.md (the canonical alert the CSM posts when an account escalates). Adapt all three to your score names, segment bands, and channel conventions before rollout.

When to use this

Use this SOP when you run a health score in Gainsight (or a comparable CSP) that you trust enough to act on, and you do not yet have a written, enforced motion for what happens when an account turns red. The classic symptom is a save that worked because one CSM happened to catch it early and knew the right person to call — and the next quarter an identical account churns because a different CSM saw the same red flag and waited for the QBR. The score is doing its job; the response to the score is the gap this closes.

It fits best for teams in the 100-to-2,000-customer range with a defined health score, a CSM book structure, and a CS leader who can own escalations. Below ~100 accounts a CSM reads every account directly and a documented motion is overhead. Above ~2,000 you likely want the save motion driven by a Gainsight CTA with native routing and SLA tracking rather than a Slack post and a shared doc — at that scale the manual steps are the ones that get skipped. This SOP is the right tool in the band where the motion matters but the playbook lives in people’s heads.

When NOT to use this

Do not adopt this if you do not trust your health score. A save motion triggered by a score that fires red on tagging noise or a single missed login trains CSMs to ignore the trigger inside a month. Fix the score first — the composite health score in n8n and the CS health score builder both exist for that — then bolt this motion on top. A precise motion on a noisy trigger is worse than no motion, because it burns the team’s trust in the one signal you need them to act on.

Do not use this as a renewal-forecasting tool. This SOP is scoped to the save: an account that was healthy and is now sliding, where the goal is to reverse the slide before it reaches the renewal. An account that was always going to leave for a reason no CSM can move — the buyer left, the company was acquired, the use case died — is not a save candidate, and forcing it through the motion wastes the CSM’s hours on a deterministic loss. The diagnosis step exists partly to make that call early.

Do not run it without a CS leader who will take escalations. The escalation tier is load-bearing: the whole point is that an account past a severity line stops being one CSM’s problem and becomes the team’s. If escalations route into a channel nobody owns, the motion degrades into the same improvisation it was meant to replace.

The trigger

The motion fires on a Gainsight score event, not on a CSM’s hunch or the calendar. Two triggers, either one starts the clock:

  • Band drop into red — the composite health score crosses from yellow into red (in the reference scoring, composite under 50). This is the primary trigger.
  • Large negative delta within a band — a drop of 15 points or more in a single scoring cycle, even if the account is still technically yellow. A green-to-mid-yellow fall is often a sharper signal than a stable red, because it is new and the cause is recent enough to still be reversible.

Gainsight fires a CTA on either condition; the CTA assignment is the CSM of record. The SLA: the CSM opens a save plan within two business days of the trigger. Tying the start to the score event rather than to a weekly review is the whole point — a review gets rescheduled; a CTA with an SLA gets tracked.

The motion

  1. Diagnose (by day 2). Before any outreach, the CSM fills the diagnosis section of save-plan-template.md: which sub-score moved (usage, activity, sentiment), the concrete number and its baseline, and a one-line hypothesis for the cause. The hypothesis is forced into one of a fixed set — adoption stall, champion change, value not realized, competitive displacement, budget/economic, or product gap — because the cause class determines the play. A diagnosis of “they seem unhappy” is rejected; the CSM names the sub-score and the likely class or marks it “cause unknown, investigation call required.”
  2. Intervene (by day 5), tiered to the cause. Adoption stall → a working session on the unused feature, not a check-in. Champion change → an introduction motion to map and win the new stakeholder before anything else. Value not realized → pull the success plan and the original “why they bought,” and book a value-review against the metric they defined at the deal. Competitive displacement → loop the AE and, if warranted, escalate immediately. Budget/economic → a commercial conversation the CSM may not own alone. Product gap → log it, set expectations honestly, and do not promise a roadmap date the CSM cannot keep. The template carries one default play per class so the CSM is choosing the variation, not inventing the play.
  3. Escalate (when the severity line is crossed). An account escalates out of the single-CSM motion when any of: it is in red AND above a revenue threshold the team sets (e.g. top-quartile ARR), the cause is competitive displacement, or the save plan has run 30 days with no band recovery. Escalation posts to #cs-saves using slack-escalation-template.md — account, ARR, renewal date, sub-score that moved with its number, cause class, the play run so far, and the specific ask of leadership. The CS leader acknowledges in-thread within one business day and assigns an exec sponsor or AE if the ask warrants it.
  4. Document (continuously, and at close). Every save plan records the trigger, the diagnosis, the play, and the outcome — saved, churned, or downgraded — keyed to the cause class. This is the half of the motion that compounds: after a quarter you can read which cause classes you actually save and which you do not, and re-point CSM hours at the savable ones. A save that is not documented teaches the team nothing.

What success looks like

Track four numbers. First, trigger-to-first-touch time — days from the Gainsight CTA firing to the first logged save action. The two-business-day SLA should drive the median under two days within a month; a longer lag means the CTA is firing into a queue nobody works. Second, save rate by cause class — of accounts that entered the motion, the percentage that recovered to yellow-or-better and renewed, split by the diagnosed cause. This is the number that tells you where the motion earns its keep; expect adoption-stall saves to run well above competitive-displacement saves, and staff accordingly. Third, escalation precision — of escalated accounts, the percentage where leadership involvement plausibly changed the outcome. If most escalations would have resolved without leadership, the severity line is set too low and you are taxing the CS leader. Fourth, caught-in-time rate — of accounts that churned, the percentage that ever entered the save motion at all. A high churn-without-a-save-plan rate means the trigger is not catching slides early enough, which sends you back to the score, not the motion.

Versus the alternatives

Versus an ad-hoc save run from the QBR cycle. The status quo at most teams is that risk surfaces at the quarterly review and the CSM improvises a response. It costs nothing to set up and loses on timing and consistency: the QBR can be 80 days after the slide started, and the response quality swings with which CSM owns the account. This SOP costs the setup of one Gainsight CTA and three templates and moves the response to within a week of the trigger. Pick the ad-hoc version only if your account count is low enough (under ~100) that a CSM reads every account weekly anyway.

Versus a Gainsight Playbook / CTA built natively, with no written SOP behind it. Gainsight can fire the CTA and attach a task checklist, and at scale that is the right delivery mechanism. But a CTA checklist without the diagnosis-to-play logic behind it produces task-completion theater — the CSM checks the boxes and still improvises the actual save. Use the Gainsight CTA as the trigger and the SLA timer, and use this SOP’s diagnosis classes and tiered plays as the content the CTA links to. The two are complementary: Gainsight is the mechanics, the SOP is the judgment.

Versus doing nothing structured. Viable only if your churn is genuinely not addressable by CS — a pure-PLG motion with no human touch, or a segment where saves never pay back the CSM hours. For any team with a relationship-driven renewal, the unstructured response to a red account is the single largest source of preventable churn: the save that one CSM would have made and another missed, decided by who happened to own the account.

Watch-outs

  • The trigger fires on score noise. If the health score turns red on inconsistent usage tagging or a single quiet week, the CSM works a non-problem and learns to distrust the CTA. Guard: gate the trigger on the composite, not a single sub-score, and require the large-delta trigger to persist across two scoring cycles before it fires a CTA — a one-night blip self-corrects and never reaches the CSM’s queue.
  • Diagnosis collapses into a generic “at risk” label. If the diagnosis step is optional or free-text, CSMs skip it and jump to a check-in call, which is the play for every cause and the right play for none. Guard: the save plan will not advance to the intervene step until a cause class is selected from the fixed list or “cause unknown” is explicitly chosen with an investigation call booked — the class is what selects the play.
  • Escalation as a dumping ground. If escalating is easier than running the play, CSMs escalate everything and the CS leader becomes the bottleneck. Guard: the escalation template requires the play-run-so-far field and a specific ask before it will post; an escalation with no prior play and no concrete ask is bounced back to the CSM in-thread by the CS leader.
  • Saves that are not documented at close. A CSM who saves an account and moves on without recording the cause and the play teaches the team nothing, and the next identical slide gets improvised from scratch. Guard: the Gainsight CTA does not close until the outcome field (saved / churned / downgraded) and the cause class are set, so every closed save plan feeds the by-cause save-rate report.
  • The motion outlives the score it was tuned to. A re-weighted health score or a renamed sub-score silently breaks the trigger thresholds and the diagnosis sub-score references. Guard: review the trigger thresholds in the Gainsight CTA and the sub-score names in save-plan-template.md against the live score once a quarter, in the same review that re-tunes the score weights.

Stack

  • Gainsight — health score, the CTA that fires the trigger, the SLA timer, and the by-cause outcome report
  • Slack — the #cs-saves escalation channel and the leader acknowledgment thread
  • The save-plan docsave-plan-template.md, stored wherever your team keeps account docs (Gainsight, Notion, or a Salesforce custom object), one canonical location per account