Open the segment builder in almost any Klaviyo account and you'll find some version of the same definition: last placed order more than 90 days ago. Maybe 120. Maybe 180.
The label says "Lapsed." The flow attached to it says "Winback." And the assumption underneath both, the one nobody wrote down but everyone operates on, is that the time since last purchase tells you whether a customer is done with you.
It doesn't.
This isn't a criticism of whoever built the segment. Recency is what the platform gives you to work with, so recency is what everyone uses. But once you see what that assumption misses, you can't unsee it, and you start finding money in segments you'd written off.
One scope note before we start: everything here applies to repeat-purchase categories. Supplements, beauty, apparel, food and beverage, pet, anything customers buy on a rhythm. If you sell mattresses or luggage, the purchase cycle is measured in years, and the math below needs a different horizon.
Churn doesn't announce itself
In ecommerce, churn is invisible. There's no cancellation event. Nobody emails to tell you they've decided to stop buying.
A subscription business gets a clean signal when a customer cancels: a date, a reason code, something to count. A regular ecommerce brand gets silence. The customer just doesn't order again. And for a long time, "hasn't ordered yet" and "will never order again" look identical in your data.
It goes a layer deeper than that. The customer usually doesn't know either. Nobody wakes up and formally decides they're done with your brand. They drift. They're stocked up, they got busy, a competitor's ad landed at the right moment, life moved on. If you called a churned customer and asked whether they'd left you, most would say no, they just haven't gotten around to ordering. Some of them mean it. Some are gone for good and haven't noticed yet.
So every retention program in ecommerce is aimed at an event nobody can actually observe. Not the brand, not the platform, and half the time not even the customer. Which explains what the industry did next: it reached for the one thing it could observe, and started guessing with a stopwatch.
30, 60, 90, 120: thresholds that came from nowhere
Ask a retention marketer why their lapsed segment starts at 90 days, and you'll get some version of "that's the standard." Ask where the standard came from and the trail goes cold.
These thresholds weren't derived from anything. They're round numbers that showed up in a template or a best-practices post years ago and got copied forward, brand to brand, until they hardened into rules. Your customers never agreed to them.
The problem is that a single threshold assumes every customer shops on the same rhythm, and no customer base works that way.
Take two shoppers, both quiet for 90 days. The first bought every month for a year, then went silent. Against a monthly rhythm, 90 days is three missed cycles. That customer is very likely gone, and by the time your 90-day threshold flags them, they've already been gone for two months.
The second buys twice a year, every year, like clockwork. Against that rhythm, 90 days of silence means nothing. This customer isn't lapsed. They're on schedule. And your winback flow just handed them 20% off an order they were going to place anyway at full price.
That second case costs more than the discount. Repeat it enough and you run a real risk of teaching a healthy customer that going quiet is how offers get earned. You may be building a machine that manufactures the exact behavior it was supposed to fix.
Same recency, opposite realities, and one threshold wrong for both. Too slow for the fast buyer, too aggressive for the slow one. The question was never "how long has it been." The question is how long it's been relative to how this specific customer behaves, and a fixed timeframe can't ask that. It applies one rhythm to a base that contains hundreds of them.
P(Active): an educated guess beats no guess
You can't observe churn. What you can do is estimate it, customer by customer, and the estimate turns out to be good enough to route real money.
The number is P(Active): the probability that a given customer is still alive as a buyer.
The intuition doesn't require any math. Take what you know about a customer's own rhythm, how many times they've bought, how often, over what stretch, and weigh it against how long they've been silent. A frequent buyer gone quiet for a long stretch is probably done. An infrequent buyer with the same gap is probably fine. A one-time buyer with nothing since: the silence is most of the story.
Any good retention marketer already runs this logic in their head for the individual customers they happen to notice. The model runs it for every customer in the base, every day, without getting tired or playing favorites.
Is the model also a guess? Yes, and it's worth being honest about that. The difference is the kind of guess. A 90-day threshold is a guess with no structure: it can't tell you how confident it is, and there's no way to check whether it was right. A per-customer probability states its confidence on every profile, and you can test it. Hide six months of actual purchase data from the model, let it predict, then compare predictions against what really happened. That is holdout validation, and it's how we grade every base we score. An educated guess you can audit beats an arbitrary rule you can't.
What it surfaces in practice is uncomfortable. The numbers here are illustrative, but the shape is one we see in nearly every base.
Take an archetype we call the Sleeping Giant: customers with six to eleven orders and a strong history, last purchase over a year ago. In bases we score, this group carries P(Active) scores reaching 84%. More than a year of silence, and the math still says: very likely your customer. Their buying rhythm was always long, and their history is deep, so the silence isn't alarming yet.
Meanwhile, one-time buyers in the same base, some quiet for less time, score between 1% and 2%. Effectively gone.
Now hold those two groups against a "last purchase 365+ days" filter. It buckets them together and writes them both off. One group deserves it. The other, a meaningful share of the base holding a real slice of its future value, walks slowly toward the exit while the email architecture looks the other way.
P(Active) alone isn't enough to act on, though. It tells you who's alive, not who's worth the effort. For that you need the second coordinate: Forward CLV, the customer's predicted future profit from here. Alive-but-low-value and valuable-but-fading are different problems that deserve different treatment, and you need both numbers to tell them apart.
Doesn't Klaviyo already show this?
Fair question, and it deserves a straight answer, because Klaviyo does ship predictive analytics: predicted CLV, churn risk, expected next order date. If your account qualifies, those fields are sitting on your profiles right now, and using them puts you ahead of most brands. Credit where due.
Three things separate what I'm describing from what's in that tab.
First, what's being predicted. Klaviyo's predicted CLV is a revenue number. It doesn't know your product costs, your return rates, or which customers only ever buy on discount, so two customers with identical predicted revenue can be worth wildly different amounts of actual profit. Everything here is margin-adjusted: predicted profit after product costs and returns, because that's the number you can actually spend against.
Second, whether you can check it. Klaviyo's predictions arrive as outputs with no stated accuracy for your specific account. You can't see how they were validated or how wrong they typically run. A prediction you can't audit is a prediction you can't take to a CFO. Holdout validation, where the model's predictions get graded against real purchases it never saw, is the difference between a score and a scoreboard.
Third, this is where the "isn't this just RFM?" objection dies. RFM sorts customers into cohort buckets: top quintile recency, middle quintile frequency, and so on. Your rank depends on how everyone else behaved. P(Active) encodes each customer's own rhythm. The twice-a-year buyer from earlier scores as healthy while a lapsed monthly buyer with identical recency scores as gone, a distinction no bucket system can express.
And yes, the underlying model family is published academic work that's been around for years. The math was never the moat. Running it on your data, refreshed daily, validated against holdouts, and wired into the flows that spend money: that's the part nobody ships in a template.
Every email address has its own P&L
There's a cost side to all of this, and it's what makes the routing decision urgent instead of academic, because the "email is free, just keep sending" argument deserves a proper burial.
An email address is not free.
Gmail and the other inbox providers grade your domain on how recipients engage with what you send, and a list padded with non-readers drags down the engagement rate that decides whether your emails to good customers land in the inbox or the promotions graveyard.
So a big list full of dead profiles isn't an asset. It's a ledger of sunk costs, money already spent on relationships that didn't work out, plus an ongoing tax on the relationships that did.
The sunk-cost part is worth saying plainly because it's the part operators struggle to accept. The acquisition dollars behind those dead profiles are gone. More email doesn't claw them back. It just piles reputation damage on top of money you already lost. Some customers leave. That's gravity. You don't beat gravity by sending harder.
But blanket list-purging is the opposite mistake, because mixed into that same quiet mass are the 84% P(Active) customers. Deep history, high forward value, still alive, and currently getting the same treatment as the dead: a generic blast, a tired discount, or increasingly nothing at all. Over-mailing the dead costs you real money. Under-serving the living costs you more. The way out of both mistakes is the same: sort the quiet middle before you act on it.
Triage the quiet middle: revive, retarget, or sunset
Once every customer carries those two numbers, P(Active) and Forward CLV, the quiet middle stops being one undifferentiated "lapsed" blob and becomes a routing decision.
Every quiet customer goes down one of three paths, and the two scores tell you which.
| Path | Who belongs here | The move | When they leave |
|---|---|---|---|
| Revive | Still likely alive, worth real money going forward | A genuine reactivation effort built from their history: the products they actually bought, timed to their rhythm, an offer only if their behavior says they need one | They purchase (back to standard flows), or a set number of attempts pass without engagement (re-route by value) |
| Retarget | Worth real money, but unreachable by email: high forward value, no opens no matter what you send | Stop emailing them. Move the budget to Meta and Google custom audiences, direct mail if the value justifies it, SMS if you have consent. They didn't leave your brand. They left your inbox | They re-engage on any channel (back to Revive or standard flows), or go silent everywhere (Sunset) |
| Sunset | Low probability of being alive, low value even if they are | One short sequence with a hard end date. A few emails, an escalating offer if you want, then suppress. Not "reduce frequency." Suppress | The deadline. Non-converters get suppressed on schedule, no exceptions |
Two disciplines make this work, and both run against instinct.
The first is the hard deadline on the sunset path. Industry benchmarks put winback conversion around 2 to 5% of lapsed recipients, which means even a good winback loses more than 95% of the people it touches, and those people need somewhere final to go. A winback with no end date isn't a flow. It's texting an ex who's moved on. Every additional message lowers the odds and costs you something, except in email the something is your domain reputation, and it's shared across everything else you send.
The second is that the retarget path exists at all. Most email architectures give a quiet customer exactly two futures: keep getting emailed, or get given up on. The most expensive routing mistake in the whole system is sunsetting a customer whose problem was never your brand. It was your channel.
One honest caveat: paid retargeting of long-quiet customers isn't cheap. Match rates on older emails are imperfect and cold audiences cost more to reach, which is exactly why this path is gated by Forward CLV. You don't run it on everyone who stopped opening. You run it on customers whose predicted value clears the cost of reaching them somewhere else, and the scoring tells you where that line sits. A high-value customer who stopped opening email is still a high-value customer. Suppressing them from email is correct. Abandoning them entirely is a write-off you chose to take.
What routing the quiet middle is worth
Real math, with definitions attached. The numbers below are illustrative and rounded, but the pattern is one we see in nearly every base we score. "Predicted profit" means predicted revenue minus product costs and expected returns, before marketing spend, so you can rerun it yourself.
Score an 8-figure brand's base and take the tightest cut of the Sleeping Giant archetype: roughly 4,800 dormant customers with high forward value, around 4.5% of the list. Reactivate 10% of them and it pencils to about $140K a year in predicted profit, near $190K in revenue terms.
Hold on, though. Didn't I just say winback flows convert at 2 to 5%? So why assume 10% here? Because those two numbers describe different populations. The 2 to 5% benchmark is measured on blended lapsed lists, where most recipients are already dead and no email will change that. This cohort is pre-filtered to customers the model says are likely still alive, which is the entire point of scoring before you send. A filtered group should beat the blended benchmark, and well-targeted reactivation programs regularly report rates well above it.
But you don't have to take the optimistic case. Run it at the blended benchmark anyway: at 3 to 5% reactivation, the same cohort is still worth roughly $40K to $70K a year in predicted profit. That's the floor, on the most pessimistic assumption available, on one path, in one mid-sized base. Scale the same math to a larger list and the number moves with it.
The opposite side of the ledger matters just as much. The sunset path in that base covered tens of thousands of one-time buyers worth about $8 each in predicted future profit. No flow saves them profitably. The kindest thing you can do for those profiles, and for every deliverability-dependent dollar in your program, is a short goodbye and a suppression list.
How to get started
Pull your lapsed segment and sort it by historical value. Look at the top fifty profiles. You'll find customers with six, eight, ten-plus orders of history sitting in the same bucket as one-and-done discount hunters, about to receive the same email. For each of the fifty, ask what a reasonable guess at "still alive" looks like given their own rhythm, and whether the flow they're about to get matches your answer. That exercise, done by hand, is the triage. You'll also feel exactly why it doesn't scale by hand.
The scaled version is what we build: a P(Active) and Forward CLV score on every customer, refreshed daily, validated against your own historical data, and wired into the three paths. We run that scoring as a free analysis on your customer base, so before anything changes in your account, you can see exactly what's sitting in your quiet middle and what it's worth.