The Markin ROI Report for Enterprise Growth TeamsRead now
MARKIN

Win back lapsed customers with a silence window instead of a discount ladder

Reactivation timed on returning intent, not on days since last order.

The short answer

A win-back silence window is a deliberate pause after a customer lapses, before any reactivation contact. It exists because immediate discount ladders reactivate the customers who were returning anyway and burn the rest. Markin decides who to contact, when, and with what, then reads reactivation against a randomised holdout.

Last reviewed 2026-09-10

Who this applies to, and who it must not reach

Eligible

  • Lapsed against a per-cohort definition, not a single site-wide day count.
  • Modelled probability of unaided return is low enough that contact can add value.
  • Consent still valid and the address still deliverable.
  • No reactivation offer in the previous window.

Excluded

  • Customers whose buying rhythm simply has a long natural gap.
  • Addresses with poor deliverability history, which damage the sending domain.
  • Customers who lapsed after a service failure. That is a service recovery, not a promotion.
  • Holdout members.

The minimum data, and where it normally comes from

Data required for this playbook
What is neededUsual source
Order and subscription historyShopify, Stripe or the warehouse
Per-cohort purchase cadenceWarehouse
Email and SMS engagement, deliverability stateKlaviyo
Margin per categoryFinance, supplied as an input
Service and refund historySupport platform

Step by step

How the decision runs

  1. 01Markin

    Define lapse per cohort

    A 60-day gap means something different for a weekly grocery buyer and a twice-a-year traveller. Lapse is set against each cohort's own cadence.

  2. 02Markin

    Hold the silence window

    Nothing is sent while the modelled chance of unaided return is still high. The window is a decision, and it is tested like any other.

  3. 03Markin

    Rank reactivation candidates on expected margin

    Content, category and incentive depth are all candidate actions. A no-discount reminder frequently outperforms a discount once margin is counted.

  4. 04Your stack

    Send through Klaviyo

    Klaviyo keeps flows, templates, sending reputation and suppression. It receives the decision, the reason and the decision ID.

  5. 05Markin

    Read reactivation and repeat behaviour

    Success is not the first order back. It is incremental margin over the following cycle, so one-off discount hunters do not count as a win.

Measurement

How you know whether it worked

Holdout
Randomised among eligible lapsed customers, receiving no reactivation contact for the whole window.
Window
One full purchase cycle for the cohort, plus 30 days.
Primary result
Incremental margin per lapsed customer over the cycle.

Guardrails

  • Discount depth per reactivated customer.
  • Second-purchase rate after reactivation.
  • Unsubscribe and spam-complaint rate.
  • Deliverability of the sending domain.
Size the holdout for your own base

Illustrative only

A worked example

Illustrative comparison of two reactivation policies on the same lapsed cohort.

Illustrative worked example
Lapsed customers in the cohort80,000
Policy ADiscount ladder starting on day 30
Policy BSilence to day 55, then one ranked action per customer
What A usually winsReactivation rate
What decides itIncremental margin per lapsed customer against the holdout

Both policies must be read against the same untouched control, or the comparison is decorative.

Run it on your own numbers

The arithmetic, spelled out

Incremental margin per lapsed customer = (reactivation rate in the contacted group - reactivation rate in the holdout) x margin per returning customer - discount cost x reactivation rate in the contacted group.

Worked arithmetic for this playbook
InputValue
Lapsed customers in the cohort80,000
Reactivation in the untouched holdout over the cycle9.0% (unaided return)
Reactivation in the contacted group, Policy A (30% ladder)13.5%
Incremental reactivation from Policy A4.5 points
Average returning order value$60.00, margin 45% = $27.00
Incremental margin per lapsed customer, Policy A0.045 x $27.00 = $1.215
Discount cost, paid on all reactivations including unaided ones0.135 x (0.30 x $60.00) = $2.43
Net per lapsed customer, Policy A$1.215 - $2.43 = -$1.215
Policy B: silence to day 55, then one ranked no-discount actionReactivation 11.8%, incremental 2.8 points, no discount cost
Net per lapsed customer, Policy B0.028 x $27.00 = +$0.756

Policy A wins on the reactivation rate a dashboard shows (13.5% against 11.8%) and loses roughly $1.22 per lapsed customer, because the discount is paid to the 9% who were returning anyway. Across 80,000 customers that is about $97,000 of margin against $60,000 gained by the quieter policy.

Illustrative inputs. The mechanism is general: any incentive paid on unaided returns is a transfer, and only a holdout separates the two groups.

Timeline

How long it takes to a first measured result

  1. 01Weeks 1 to 2

    Cadence and lapse definition

    Purchase rhythm is measured per cohort, so lapse stops being a single site-wide day count. This alone usually changes who is contacted.

  2. 02Week 3

    Unaided-return baseline

    The share of lapsed customers who return with no contact is measured historically. Without this number the whole programme is unreadable.

  3. 03Week 4

    Silence window and action set

    The window is set from cohort cadence and treated as a testable variable; incentive depth becomes one candidate action among several.

  4. 04Week 5

    First cohort live in Klaviyo

    Flows receive the decision, the reason and the decision ID. Suppression and deliverability rules stay with Klaviyo.

  5. 05Week 13 onwards

    First causal read

    One full purchase cycle for the cohort plus 30 days, so second purchases are counted rather than only the first order back.

Technical detail

What is read and written, field by field

Klaviyo

Read

  • Profiles, consent state and suppression list
  • Email and SMS engagement events and deliverability signals
  • Existing flow and segment membership

Written

  • markin_action, markin_decision_id, markin_reason and markin_holdout as profile properties
  • Or a custom event that triggers the flow directly

Daily profile update; event trigger where a flow starts on the decision.

Shopify or the commerce platform

Read

  • Order history: date, value, line items, category
  • Refunds and cancellations
  • Customer records for identity mapping

Written

  • Nothing.

Read only, daily.

BigQuery or your warehouse

Read

  • Per-cohort purchase cadence and the unaided-return baseline
  • Margin per category supplied by finance
  • Service and refund history

Written

  • Decision, exposure and holdout tables keyed by decision ID

Daily.

Effort

What it asks of your team

People needed on the customer side
WhoHow much of their time
Email or lifecycle managerAround a day a week: flows, templates and the review of who is being contacted.
Data analystAround 3 days in weeks 1 to 3 for cadence and the unaided-return baseline.
Finance or merchandisingOne session for margin per category and the discount ceiling.
Deliverability ownerOne review of send volumes against the sending domain's reputation.

What normally goes wrong

The escalating discount ladder

Ten percent, then twenty, then thirty teaches the base to lapse on purpose. It also converts customers who were coming back anyway at a permanent margin cost.

One lapse definition for the whole base

A fixed day count mislabels slow-cadence customers as lost and contacts them while they are still active.

Counting the first order back as success

Reactivation that produces one discounted order and nothing afterwards is a cost. Read the following cycle.

Mailing every dormant address

Large sends to disengaged addresses damage deliverability for the customers who are still engaged.

Questions this playbook answers

  • When should I send a win-back email?
  • Do win-back discounts actually work?
  • How long should I wait before contacting a lapsed customer?
  • How do I measure win-back incrementality?
  • How do I run win-back flows in Klaviyo?

Frequently asked

Why wait instead of contacting immediately?
Because a large share of recently lapsed customers return without any prompting. Contacting them early does not create the return, it just attaches a discount to it. The silence window exists to let those customers come back on their own, so the offer reaches the ones who need it.
How long should the silence window be?
It depends on cohort cadence, and it should be treated as a variable to test rather than a fixed number. What matters is that the window is derived from each cohort's own purchase rhythm instead of a single site-wide day count.
Should the first contact carry a discount?
Often not. Once margin is counted, a relevant no-incentive reminder frequently beats a discounted one, and it avoids repricing the relationship. Markin treats incentive depth as one of the candidate actions rather than as a given.
Does this work for subscriptions as well as commerce?
Yes, with a different lapse definition. For subscriptions the equivalent trigger is a cancellation that has already taken effect, and the same logic applies: wait, rank, contact once, measure the following cycle.
What does Klaviyo keep doing?
Everything it already does well: flows, templates, segments, suppression, sending reputation and compliance. Markin decides who, when and what, and hands that decision to Klaviyo to execute.

Run this decision against your own data.