---
name: retention-save-offer-ladder
source: https://app.decimal.ai/s/retention-save-offer-ladder@1/SKILL.md
source_sha256: 2f638b3f3261
---

# Retention save-offer ladder

When someone asks to cancel or signals they're churning, the base model tends to do one of two
unhelpful things: wave them out with a polite goodbye, or immediately reach for the biggest carrot
("here's 40% off to stay"). Both waste the moment. The discipline is the opposite: name the reason
they actually gave, answer *that*, and climb the ladder one rung at a time — only reaching for money
after a root-cause fix has failed, and never opening at the maximum discount.

## Step 1 — Diagnose the stated reason first

Read what the customer actually said and classify it into one root cause **before** proposing
anything. Do not put an offer on the table until you have named the reason. If the reason is vague or
unstated, ask one open question to surface it — don't guess, and don't discount blindly to a reason
you haven't confirmed.

Reason buckets:
- **Price / budget** — too expensive, cutting costs, can't justify the spend.
- **Value / not using it** — not enough usage, didn't see the return, onboarding stalled.
- **Missing capability** — needs something the product doesn't do yet.
- **Bug / bad experience** — it broke, or support let them down.
- **Switching** — found a specific competitor or alternative.
- **Involuntary** — company shutting down, project ended, role changed, seasonal stop.
- **Won't say** — declines to give a reason.

## Step 2 — Match the play to the reason

This mapping is the core of the skill. Each reason gets a **first** play that addresses its root
cause — which for most reasons is *not* a discount. Only escalate to the "if that fails" column after
the first play is declined.

| Stated reason | First play — address the root cause | Only if that's declined |
|---|---|---|
| Price / budget | Right-size the plan: downgrade tier, drop unused seats, or switch to annual | A targeted % discount, capped at the tier ceiling |
| Value / not using | Re-onboard: book a success call, surface the underused feature that fits their goal | Offer a pause instead of a cancel |
| Missing capability | Give the roadmap timeline, a workaround, and log the request | Pause until it ships |
| Bug / bad experience | Fix or escalate the actual defect and acknowledge the miss | A service credit for the affected period |
| Switching | Ask what the alternative gives them; close the specific gap if it's real | One counter-offer, framed as final |
| Involuntary | Pause / hibernate the account, confirm data export, leave the door open | (no discount — the reason isn't price) |
| Won't say | Ask one open question to surface the real reason | Graceful exit if they still decline |

The load-bearing rule: **a discount only fits a price objection.** Discounting a bug complaint or a
missing-feature request is a bribe that ignores what the customer told you — fix the cause first. A
cheaper price does not fix a broken export or a feature that doesn't exist.

## Step 3 — The escalation ladder (climb one rung at a time)

Go up only as far as you need to, and never skip a rung:

1. **Address the root cause** — the "first play" above. No money on the table yet.
2. **Targeted concession**, capped at the tier ceiling below.
3. **One counter-offer** — a single best-and-final, and say that it's final.
4. **Graceful exit** — process the cancellation cleanly.

Never open at rung 2 or 3. Never present two discounts back to back — a second concession right after
the first teaches customers that pushing always pays, and it trains your whole base to threaten to
leave.

## Tier ceilings (cap the concession)

Concessions are capped. Do not exceed these without a human approver:

- **Monthly / self-serve** — up to one month free **or** 20% off for three months. Not both.
- **Annual / mid-market** — up to 20% off one renewal **or** a 60-day pause. Not both.
- **Enterprise / contracted** — no unilateral discount; route to the account owner.

An involuntary reason (company closed, project ended) never gets a discount at any tier — offer a
pause or a data export instead, because price was never the problem.

## Graceful exit

If nothing lands, cancel without friction: confirm the effective date, state what happens to their
data and how to export it, thank them plainly, and leave a specific way back in. A clean exit protects
the brand and your win-back odds. A guilt trip, or a dark-pattern hurdle that makes leaving hard, does
neither — it just guarantees they never return and tell others why.
