An online store now spots customers going quiet before they are gone
Nobody cancels in e-commerce. They just stop ordering. We defined "lapsed" for each product category, found which customers were drifting, and sent the store a weekly win-back list its email tool could use.
5 min readPublished with the client's approvalUpdated September 2026
[x] ptshigher repeat-purchase rate, within [n] weeks
[n]customer segments synced to the email tool
[x]%less discount spend on customers who buy anyway
1"lapsed" rule per product category, replacing a single 90-day guess
In one minute
The short version
Problem
Customers quietly stopped buying, and discounts went to everyone, including loyal buyers.
What we did
Defined "lapsed" per category from real reorder cycles, segmented customers by value, and built a weekly win-back list.
Result
[x] points higher repeat-purchase rate, with discount spend moved to customers actually at risk.
The challenge
Customers never cancelled. They just went quiet.
The store used one rule for everyone: no order in 90 days means lapsed. But coffee buyers reorder monthly and furniture buyers every year or two, so the rule flagged loyal customers too early and missed drifting ones too late. Win-back emails went out long after the moment had passed.
Silent revenue lossLost customers never showed up in any report.
Wasted discountsCodes went to people who were going to order anyway.
Late win-backsBy day 90, most drifting customers had already switched stores.
Starting point
What we had to work with
Order history was complete, but a large share of orders came from guest checkouts with no customer account.
Store orders[n] months of orders, products and refunds from the store platform.
Email platformCampaign sends, opens and discount codes redeemed.
Web analyticsGA4 sessions and product views for signed-in customers.
ConstraintGuest checkouts had no customer ID, so customers were matched by hashed email and phone.
What we did
Four steps, one decision that mattered
Matched customersJoined account and guest orders into one customer view using hashed contact details. Week 1
Measured reorder cyclesCalculated the typical time between orders for each product category. Weeks 1 to 2Led to finding 1
Segmented by value and rhythmGrouped customers by spend, frequency and how overdue they were. Weeks 2 to 3Led to finding 2
Shipped the win-back listA weekly list of drifting customers, pushed to the email tool with a suggested offer. Weeks 4 to 5
The key decision
We set a different "lapsed" threshold for each product category, based on its real reorder cycle, instead of one 90-day rule for the whole store.
Results
What changed
Before
One 90-day rule for every customer
Discounts sent to the whole list
Win-back emails after customers had left
After
A lapsed rule per product category
Offers only for customers at risk
A weekly list while customers can still be won back
Finding 1 from step 2
Customers who missed their second-order window rarely came back
The first repeat purchase was the moment that decided most customers' future.
Sample data shape. Replace with the anonymised chart from the project.
So what: the store now nudges first-time buyers before day [n], not at day 90.
Finding 2 from step 3
[x]% of discount spend went to customers who would have ordered anyway
The most loyal segment redeemed the most codes.
Sample data shape. Replace with the anonymised chart from the project.
So what: discounts were moved from loyal buyers to drifting ones.
"[One or two sentences from the client about the result, in their own words. The most specific number wins.]"
[ ]
[Name][Role], [online retailer]
Approved for publishing
Facing a similar problem?Tell us what's going on. We'll say honestly whether we can help, and how.
Nudge first-time buyers before their second-order window closes
[x]% more second orders
High
Stop blanket discounts for the loyal segment
Lower discount cost, same revenue
High
Review category thresholds each quarter
Rules stay right as the range changes
Medium
Honest limits
What this project can't tell you
Guest-order matching covered about [x]% of orders; the rest could not be linked to a customer.
Seasonal peaks such as Ramadan and Black Friday need at least a year of data to model properly.
Figures are rounded and anonymised with the client's approval.
Technical appendix
For the analysts in the room
Buyers can skip this. Technical reviewers usually want to see it.
Definitionslapsed, reorder cycle, segments
Reorder cycle: the median days between orders for a product category. Lapsed: a customer whose time since last order passes 1.5× their category's reorder cycle.
Methodwhy this approach, not another
A per-category rule was simpler to explain than a model and caught most drifting customers. A prediction model is the next step once the rule has a year of history to learn from.
Data and toolssources, volumes, stack
Store orders, email platform events and GA4, joined in SQL; segments built in Python; dashboard in Power BI.
Check the workcode sample
The core of the method: the typical number of days between orders, per category.
-- Median days between consecutive orders, per product categoryWITH gaps AS (
SELECT customer_id, category,
order_date - LAG(order_date) OVER (
PARTITION BY customer_id, category ORDER BY order_date) AS gap_days
FROM orders
)
SELECT category,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY gap_days) AS reorder_cycle
FROM gaps WHERE gap_days IS NOT NULLGROUP BY category;
Could this work for our store on Salla, Zid or Shopify?
Yes. Any platform that exports orders and customers works. Guest checkouts are matched by hashed email or phone.
We don't sell subscriptions. What does churn mean for us?
A customer who has gone past their normal reorder time for what they buy. We set that rule per category from your own data.
How much of our team's time did it take?
About an hour a week from one owner, plus access to the store, email tool and analytics.
What would a similar project cost us?
Projects start at $6,000 and are fixed from a written scope. The pricing page has an estimator.
Customers going quiet, and you only notice at month end?
Most online stores we talk to have no idea which customers are drifting until they are gone. In 30 minutes we can tell you whether your order data can support a weekly win-back list.