# How to spot customers who are about to cancel, before they do

> Customers rarely cancel out of the blue: they stop coming first. The signals that come before a cancellation, how to set a line for "at risk" that fits your product, and what to say to them.

Published 2026-10-15 · Retention

By the time a customer clicks "Cancel", the decision is weeks old. They stopped logging in, then stopped opening your emails, then saw the charge on their statement and remembered. The cancellation is the last step of a quiet exit, and the earlier steps are visible if you look.

This guide is the signals to watch, how to set the line for "at risk" in your product, and what to do once someone crosses it.

## The signals that come before a cancellation

In rough order of how early they show up:

1. **They come less often.** Someone who used to open your product every weekday now opens it once a week. This is the earliest and most reliable signal.
2. **They stop doing the thing they pay for.** They still log in, but they don't create the report, run the import or send the invoice any more.
3. **The team shrinks.** Seats removed, invitations not accepted, the champion who signed up leaves.
4. **They say so.** A low score on "how likely are you to recommend us", a support ticket that ends with "never mind".
5. **The payment fails** and nobody fixes it. That one has [its own playbook](https://userjourney.dev/guides/recover-failed-payments-saas/).

## Set the line for "at risk"

"At risk" should mean one simple thing you can check every day: **a paying customer who hasn't come back for longer than usual.**

To find "usual", look at your paying customers who are still happy and how many days typically pass between their visits:

| How your product is used | A good line |
| --- | --- |
| Every day (a tool people work in) | 5 to 7 days without coming back |
| A few times a week | 10 to 14 days |
| Weekly or monthly (reports, invoicing) | One missed cycle plus a few days |

Start with one line for everyone and adjust after a month: if most people you flag come back on their own, the line is too tight; if cancellations surprise you, it's too loose.

## Look at each one before you write

With a few dozen customers, read their story before you send anything. One person's recent visits tell you more than any score:

- **Still visiting, but different pages?** They may be stuck on something new: a changed feature, a bug, a limit.
- **Gone completely after a busy period?** Their project may have ended. Ask what's next for them.
- **Visited billing or the cancel page?** They're deciding now. Write today, personally.

![A person's journey in UserJourney: where they came from, each visit page by page and the time on each](https://userjourney.dev/guides/img/person-journey.jpg)

## What to say

A note from you, not a campaign. Short, specific, easy to answer:

> Hi Wei, I noticed you haven't been in Demo SaaS since your report on the 12th. Is everything working the way you need? If something's in the way, reply and I'll look at it myself.

What makes it work:

- **It's from a person**, with replies going to an inbox someone reads.
- **It names something real** they did, so it's clearly not a blast.
- **It asks, it doesn't sell.** No discount in the first note. If price is the reason, they'll tell you, and then you can decide.

Their replies are the best research you'll get on why people leave.

## After a cancellation, one more note

A week or two after someone cancels, a single short note asking what made them leave, and whether anything would bring them back. Some will come back; most will tell you why, which is worth almost as much.

## Doing it with UserJourney

Paying customers who stop coming move to **At risk** by themselves, after 7 days by default (you choose the days in the journey settings), with their MRR. **Today** lists them biggest MRR first, each with their recent visits and a note already written, and the at-risk alert tells you by email the day someone crosses the line. **Retention** shows how many people still use your product each week after signing up, and the in-app question adds how likely they are to recommend it, and why. The win-back playbook sends the note after a cancellation, once, from your name.

[Start for free](https://userjourney.dev/app) or read [how payments are connected](https://userjourney.dev/docs/stripe/).
