Use cases that pay back · Week 7 of 9

Customer churn prediction: reach the right customer before they buy elsewhere

·6 min read·Skyloop Cloud

Most retailers only notice customer churn when it shows up in the annual loyalty review: fewer active members, fewer visits per member, and nobody able to say who left or when. In retail, churn is rarely a single event. A customer who shopped every two weeks starts coming every four, buys the staples elsewhere, and one day simply stops. By the time that shows up in a report, the habit has moved and the only tool left is an expensive win-back discount.

The mirror image of this leak is the blanket campaign. Every month the same coupon goes to the whole loyalty base: to customers who would have bought anyway, to customers already gone, and only incidentally to the ones who were wavering. Reports show campaign revenue, not how much of it would have happened without the discount. Offers timed to each customer's own buying rhythm address both problems, but only if you can see that rhythm customer by customer.

Moves: Repeat purchase · Campaign cost

Where customer churn and blanket discounts leak margin

The first leak is the silent lapse. Every identified customer has a personal purchase cycle. When someone who normally buys every 12 days has not been seen for 30, that is a signal. Monthly averages hide it, because thousands of stable customers smooth out the few hundred who are drifting.

The second leak is discount subsidy. When a 15 percent coupon goes to everyone, your most loyal customers redeem it on baskets they would have paid full price for: margin handed back with no incremental sale. The third is category leakage: the customer still visits but no longer buys fresh meat, baby care or pet food from you. Share of wallet falls long before visit frequency does.

  • Customers whose time since last purchase is well beyond their own usual interval
  • Regular customers who dropped one or two categories they used to buy on almost every visit
  • High-value customers whose basket size has shrunk several visits in a row
  • Lapses that started right after a stockout or a price increase on the customer's usual products

How to size the cost of customer churn in your business

A first estimate needs two formulas. Churn cost per year ≈ identified customers who lapse per year × average annual gross margin per customer. Discount subsidy per year ≈ total campaign discount cost × share of redemptions from customers who would have bought anyway. The recoverable part is the churn cost multiplied by the share you could realistically win back by reaching people early.

Illustrative example, with round and purely hypothetical numbers: a chain has 200,000 active loyalty members and loses 20 percent a year, so 40,000 customers. At 1,500 TL of gross margin each per year, 60 million TL of annual margin walks out. If early contact keeps one in ten of them, that is 6 million TL. On the discount side, suppose campaigns cost 1 million TL a month and half the redemptions come from customers who would have bought anyway: 6 million TL a year spent without changing anyone's behavior. Plug in your own figures.

Why CRM reports, ERP and spreadsheets miss churn signals

Classic reports aggregate. They show total members, average frequency and campaign revenue, while churn happens one customer at a time. A quarterly RFM segmentation in a spreadsheet is stale by the time the campaign goes out, and it uses fixed buckets rather than each customer's own rhythm.

The data is also split: loyalty records in one system, sales lines in the ERP or POS, stock and price history elsewhere. Without joining them, you cannot tell whether a customer lapsed because their usual product was out of stock for two weeks, because the price jumped, or because they moved. Each cause needs a different response, and only one needs a discount. Without a control group, every campaign looks successful.

How an AI agent predicts churn and personalizes offers

An AI-agent approach follows a simple loop. Detect: every night the agent recalculates each customer's usual interval, basket size and category mix, and flags those drifting. Diagnose: it checks the likely cause, such as a stockout of their usual items at their store, a price change, a store closure or a genuine shift in preference. Assign: it proposes a prioritized list in an Actions Inbox, such as a targeted offer, a stock fix for a store manager, or a personal call to a top customer, and a person approves audience and budget. Measure: a random holdout group receives nothing, so return rate and margin can be compared honestly.

The data is ordinary: loyalty or CRM transactions, ERP or POS sales lines, product master, store stock, price and campaign history, and contact permissions. In the Zzeti Zeka Platform this runs as scheduled runs of an expert agent reading your ERP through MCP connectors such as Nebim V3, Logo or SAP, with the query behind every list visible in Query Bench. Because loyalty data is personal data under KVKK, it runs on your own infrastructure, on-premise or private cloud with local LLMs if required, and nothing is sent without human approval.

A 4-week pilot plan for churn prediction and personalized offers

Keep it narrow: one region or two categories, one channel, a hard budget cap.

  • Week 1: connect 12 to 24 months of loyalty, sales, stock and price data; define lapsing relative to each customer's own interval; agree on consent rules
  • Week 2: generate the first flagged list; have the CRM team hand-check a sample of diagnosed causes; set offer rules and a budget ceiling
  • Week 3: send approved offers to the treatment group, keep a random control group untouched, and route stockouts to store and category managers
  • Week 4: compare return rate, margin per customer and discount cost against control; decide what to scale

KPIs to track for customer retention and offer performance

  • 30-day return rate of flagged customers, treatment versus control
  • Incremental gross margin per contacted customer, after discount cost
  • Discount spend as a share of incremental margin
  • Customers buying within their own normal cycle, month over month
  • Share of lapses caused by stock or price versus preference
  • Days from first churn signal to first contact
Takeaway

Customers leave gradually, and your data sees it long before your reports do. Watch each customer's own rhythm, fix the operational causes first, and spend discounts only where a control group proves they change behavior.

Frequently asked questions

How do you predict customer churn in retail without subscriptions?

Without contracts there is no cancellation date, so churn is inferred from behavior: time since last purchase versus the customer's own usual interval, a shrinking basket, and categories dropping out. Score every identified customer and recalculate daily.

How much loyalty data do I need to start?

Twelve months of identified transactions is workable; 24 months captures seasonality better. Coverage matters more than history: if only a small share of sales is linked to a customer ID, improve capture at the till first.

Are personalized offers compatible with KVKK?

They can be, with the right legal basis for processing and explicit consent for commercial electronic messages. Processing on your own infrastructure with role-based access makes compliance easier to demonstrate. Confirm the details with your legal team.

Won't personalized discounts increase my discount spend?

Usually the opposite: fewer, better-timed offers replace one coupon for everyone, and some lapses need a stock fix rather than a discount. A control group shows whether each offer actually changed behavior.

How Zzeti runs this scenario

Reach the right customer before they buy

Zzeti predicts who is likely to buy what, and when, from loyalty and CRM data, flags customers who are drifting away and delivers a personal offer over WhatsApp or e-mail.