How to spot lapsed customers before they leave for good

, 6 min read

Also in Français, Español, Deutsch

In short

A lost customer doesn't announce it; they fade away. The only reliable signal is the gap between their own return rhythm and the time that has passed — not an industry average. Work out the median interval between visits, customer by customer, and trigger the follow-up at 1.5 times that median.

Nobody tells you they won't be coming back. There is no cancellation, no letter, no bad mood. There is an appointment that isn't rebooked, then a month that goes by, then another. By the time you think "it's been a while", they have already been someone else's customer for some time.

It is the quietest loss a local business suffers, and the most expensive: the customer was won, convinced and profitable. Replacing them costs a full acquisition — advertising, time, a welcome discount — just to get back to where you already were.

The good news: this departure is predictable, and it can be predicted from data you already have.

The trap of the industry average

The obvious first idea is to set a threshold. "In hairdressing, a client comes back every six weeks. After three months, they've lapsed."

That reasoning produces two opposite errors, and both are costly.

It misfires on loyal customers with a slow rhythm. The client who comes three times a year for a colour is not leaving at four months: that is her rhythm. If your rule flags her as lapsed, you contact her for nothing — and a pointless message wears out the channel.

Above all, it misses fast-rhythm customers. The regular who came in every three weeks and hasn't been seen for seven weeks has already switched salons. Your three-month threshold will flag him five weeks too late, once he has settled into new habits elsewhere. Those five weeks are exactly the window in which he could still have been won back.

An average describes nobody. It describes an imaginary customer made of everyone else.

Rhythm is calculated customer by customer

The right measurement is simple, and it fits in three lines.

For each customer, list the dates of their visits. Calculate the gaps between consecutive visits. Take the median of those gaps — not the mean.

Why the median? Because a single long gap is enough to distort a mean. A customer who comes every four weeks, with one twelve-week gap in summer because they were on holiday, has a mean of five and a half weeks and a median of four. The median describes their habit; the mean describes their habit plus their summer.

Then compare the time since their last visit with that median:

Time elapsed What it means
Less than 1× the median Normal, nothing to report
Between 1× and 1.5× Slightly late — often just a shift in their diary
Between 1.5× and 3× Win-back window. This is when to act
More than 3× Probably gone. A follow-up is still possible, but the return rate drops

There is nothing magic about the 1.5 threshold: it is simply late enough not to pester a customer who has just pushed their week back, and early enough to act before the habit moves elsewhere. It gets adjusted with experience, and that is the point — on your data, not someone else's.

Two visits aren't enough, and you should say so

A customer with a single visit has no interval at all. With two visits, they have just one: you can't draw a credible median from it.

The temptation is to apply the overall average to them anyway and carry on as if nothing were wrong. It is a quiet mistake, but a real one: you present a rough estimate with the same confidence as a measurement. The day the follow-up misses, nobody understands why.

Good practice is to show the two cases differently: "rhythm measured over 7 visits" and "estimate, only 1 visit known" are not handled the same way, and not prioritised the same way. A doubt that is shown is a doubt the user can correct; a hidden doubt is a bug that turns up later.

What rhythm doesn't tell you

The interval calculation detects a change in behaviour. It doesn't say why. Three causes hide behind the same signal, and they don't call for the same action:

  • The customer has moved or their life has changed. Nothing to win back. One polite message, just one, and move on.
  • The customer has gone elsewhere. Recoverable, and this is the urgent case: they don't yet have a solid habit with the competitor.
  • The customer has simply forgotten. The easiest case: a message that arrives at the right moment is enough.

No purchase history can tell these three cases apart with certainty. However, past length and regularity give a useful hint: a customer who was very regular for two years and stops dead does not tell the same story as an irregular customer who drifts away gradually — the first points more towards a change in their life, the second towards a loosening habit. It is a factor for prioritising, not a verdict.

Working out what it's worth

Take a file of 600 customers, 220 of whom have at least three visits — so a measurable rhythm.

Of those 220, say 30 are past 1.5 times their median at any given moment. That is your working list. It is short, it has names on it, and every name has a reason to be there.

If a third of those 30 come back after a follow-up, and the average spend is €50, that makes €500 on this batch. The figure itself isn't what matters: what matters is that it repeats, because new customers enter the window every week. If a batch of that size comes round once a month, the same mechanism running all year adds up to 12 × €500 = €6,000, recovered from people who were already in your file.

And above all: these returns cost nothing to acquire. There is no first visit to pay for — that has already happened.

What makes the approach fail

Three mistakes sink it.

Contacting everyone at the same time. A mass send to the whole "lapsed" base produces a wave of unsubscribes, and you lose the right to contact precisely the people you wanted to win back. Sorting by gap exists for this reason: start with the most recoverable.

Writing a generic message. "We miss you" says nothing. A message that mentions the last service they had and suggests the logical next step belongs to another category: it proves you know who you are talking to.

Forgetting to measure what comes back. If you don't link the rebooked appointment to the follow-up that produced it, you'll know you sent messages, not that they worked. After three months, nobody will be able to say whether the approach is worth the time it takes — and it will stop.

Running it without thinking about it

All of this can be done by hand in a spreadsheet, once. The problem isn't the calculation: it's that it has to be redone every week, for ever, on top of the actual job.

That is exactly what RevenueOS does: it recalculates every customer's rhythm every night, builds the list of those who have just entered the window, drafts the offer, and waits for your approval before sending anything. Consent is checked again at the moment the message goes out, and the revenue that follows is linked to the follow-up that triggered it.

You keep the decision. You lose the chore.

Frequently asked questions

After how long should a customer be considered lost?
There is no universal threshold: it depends on that customer's own rhythm. A customer who came every two months is a cause for concern at three months; a once-a-year customer only at eighteen months. The right threshold is a multiple of their personal median interval, typically 1.5.
Should you contact all your lapsed customers at once?
No. A mass send ruins the list: those who weren't ready unsubscribe, and you lose the right to contact them again. It is better to work in batches, starting with those whose gap is smallest — they are the easiest to win back.
How many visits do you need for the calculation to be reliable?
The per-customer calculation needs at least three visits to give two intervals. Below that, fall back on the median of all customers who buy the same type of service, and flag it as an estimate rather than a measurement.

What would it show on your own data?

RevenueOS reads your history, puts a figure on what can be recovered and shows you the list of names before anything is sent. You approve, the action goes out.

Read next