Skip to main content

Discount Learner

In plain English

When someone abandons a basket, you send them a reminder. The question is whether to include a discount, and how big.

Most shops pick one number — usually 10% or 15% — and use it for everyone, forever. That's expensive in a way that's very hard to see, because the sales still happen. You just paid more for them than you needed to.

This tool works out the right number for each situation by trying them and watching what happens.

It's simple in principle. It has six options — 0%, 5%, 10%, 15%, 20%, 25% — and it tries them across your recovery sends. When one clearly works better for a particular kind of customer on a particular channel, it uses that one more often.

The 0% option matters more than you'd expect. A good number of people who abandon a basket just got distracted. They'll come back for a reminder alone. Every discount sent to those people is money given away for a sale you already had.

One more thing: a small share of sends deliberately get no discount as a control group. That's how you find out what your discounting is genuinely adding, rather than what it looks like it's adding.

How to use it

  1. Click "Discount Learner" in the left-hand menu.
  2. Set your guardrails first. For each customer type, set the maximum discount you're willing to give. This is a hard limit the tool can never exceed.
  3. Choose your goal — revenue or profit. If you have thin margins, choose profit.
  4. If you chose profit, enter your gross margin percentage so it can do the maths.
  5. Leave it running. It needs about 30 sends per option before it's confident.
  6. Check the learned discounts after a few weeks to see what it's found.
  7. Check the holdout comparison to see what your discounting is actually adding.

⏱ ~15 min to set up, then automatic · 💳 Pro+ · 🎯 Stop over-paying for sales you'd have won anyway

Why this matters for your business

Discounting is where margin quietly disappears. Not through big, obvious mistakes — through a default that was set once and never questioned.

Say you send 2,000 recovery messages a month at 15% off, with an average basket of £60. That's roughly £18,000 of discount given away annually on the converted portion alone. If 10% would have converted just as well for a large slice of those customers, you've spent a third of that for nothing.

The difficulty is that you can't tell by looking. The sales came in. The campaign "worked." There's no line in your accounts labelled "discount we didn't need to give."

The only way to know is to try different amounts and compare. That means running a lot of small experiments, tracking the results per customer type and channel, and updating as things change — which no one has time to do by hand.

The control group is the part most discount tools skip, and it's the one that answers the real question. Without it, you know your 15% offer converts at 12%. With it, you know the no-discount group converts at 9% — so your discount is buying 3 percentage points, and you can work out whether that's worth what it costs.

What this typically unlocks

What you getTypical result
Discount spend on recoveryOften 20–40% lower at similar conversion
Knowing what discounting actually addsMeasured, via the control group
Different offers per customer typeAutomatic rather than one-size-fits-all
Margin protectionGuaranteed by guardrails
Ongoing effort after setupNone

What you actually get

The six discount options

0% · 5% · 10% · 15% · 20% · 25%

Customer types it learns separately

TypeWho they are
VIPYour best customers
LoyalRegular repeat buyers
EngagedActive, buying occasionally
NewRecently acquired
At riskSlowing down
DormantHaven't bought in a while
ChurnedEffectively gone
UnknownNot enough information yet

These behave very differently. A VIP often doesn't need a discount at all — they were coming back anyway. A churned customer may need a large one to be worth reactivating. One shared number serves neither well.

Channels it learns separately

It learns separately for email, WhatsApp, and SMS.

Response differs by channel. A WhatsApp message arrives with far more immediacy than an email, so the discount needed to prompt action is often smaller.

Guardrails — your hard limits

For each customer type you can set a minimum and maximum discount. The tool can never go outside them, whatever the data suggests.

Use it forExample
Protecting marginCap new customers at 10%
Price agreements with suppliersCap a range at 5%
Brand positioningNever discount VIP items
Avoiding a discount habitCap everything at 15%

Set these before you switch it on. They're your safety net, and they're the reason you can leave it running unattended.

Revenue or profit

GoalWhat it optimisesChoose when
Revenue (default)Total sales valueMargins are healthy, growth is the priority
ProfitMoney left after cost of goodsMargins are thin, or discounting is expensive

These genuinely disagree. A 25% discount might bring in more total revenue and less actual profit. If you choose profit, enter your gross margin percentage so the sums are right.

The control group

By default, 10% of recovery sends get no discount at all — a control group.

That's what lets you answer the question that matters: what is discounting actually adding?

Discounted sends converted at 12.4%
Control (no offer) converted at 9.1%
─────────────────
True added lift 3.3 points

Without the control, you'd conclude your discount campaign converts at 12.4% and is working. With it, you can see that three-quarters of those conversions would have happened anyway.

How it decides

StageWhat it does
Learning (under ~30 sends per option)Tries options in a balanced way, leaning toward what's working
Confident (30+ sends per option)Uses the best-performing option most of the time
No data for this channel yetBorrows from your overall results
No data at allUses sensible built-in defaults

You're never left without a sensible discount. Even on day one, before it has learned anything, it falls back to a reasonable default rather than doing nothing.

Pinning — manual override

You can pin a specific discount for a customer type — with a reason and an expiry date.

Use it forExample
A seasonal campaignPin 20% for Black Friday week
A margin emergencyPin 0% until costs settle
A commercial agreementPin 5% for a supplier-funded range

Pins expire automatically and learning resumes. That's deliberate — a pin set during one campaign shouldn't quietly govern your discounting for the next year.

How it works (without the technical bits)

Real merchant scenarios

Scenario A — A third of the discount budget was unnecessary

Setup. Homeware brand, flat 15% on every recovery send. 2,400 sends/month, average basket £72.

After nine weeks of learning:

Customer typeLearned discountWas
VIP0%15%
Loyal5%15%
Engaged10%15%
New15%15%
At risk20%15%
Dormant25%15%

VIPs converted just as well at 0%. They were coming back regardless; the 15% was pure giveaway.

Results:

BeforeAfter
Average discount given15%9.4%
Recovery conversion11.8%12.1%
Monthly discount cost£3,060£1,970
Annual saving~£13,000

Conversion went slightly up, because at-risk and dormant customers were finally getting an offer big enough to matter.

Scenario B — The control group changing the strategy

Setup. Fashion retailer, confident their 20% recovery offer was essential.

After 90 days:

Discounted sends 18.2% conversion 1,840 sends
Control (no offer) 14.9% conversion 204 sends
──────────────────
True added lift 3.3 points

The maths. 3.3 extra points on 1,840 sends is about 61 extra orders. At an £84 average basket, that's £5,124 of extra revenue.

The 20% discount cost them roughly £5,600 across all discounted conversions.

They were losing money on the discount.

Action. Dropped the cap to 10% and let it learn within that. Conversion settled at 16.8% — below the 18.2%, but far more profitable.

Without a control group they'd have kept doing it forever, because 18.2% looked like a success.

Scenario C — Guardrails preventing an expensive lesson

Setup. Merchant with 28% gross margin switched it on with no guardrails and the goal set to revenue.

What it learned. 25% converted best across most customer types — which is true, and disastrous. At 28% margin, a 25% discount leaves almost nothing.

Caught in week two when profit fell despite revenue rising.

Fix, two changes:

  1. Switched the goal to profit and entered their 28% margin.
  2. Added guardrails capping most types at 10%, dormant at 15%.

After it re-learned:

Revenue goal, no capsProfit goal, capped
Recovery revenue£41,200£36,800
Recovery profit£2,100£7,900

Less revenue, nearly four times the profit.

The lesson. Revenue and profit goals genuinely disagree. On thin margins, choose profit and set caps.

Scenario D — Channels wanting different numbers

Setup. Merchant running recovery across email, WhatsApp, and SMS, assuming one number worked for all.

What it learned for "engaged" customers:

ChannelLearned discountConversion
Email15%9.2%
WhatsApp5%16.4%
SMS10%11.8%

WhatsApp needed a third of the email discount and converted nearly twice as well. The message arrives with immediacy; the nudge itself does most of the work.

Effect. They shifted recovery volume toward WhatsApp where customers had opted in — better conversion at a third of the discount cost.

Scenario E — A pin that expired on purpose

Setup. Merchant pinned 25% across all types for Black Friday week, with a 7-day expiry.

What happened. The pin applied through the promotional period, then expired automatically and learning resumed.

Why the expiry mattered. A previous year they'd set a promotional discount manually and forgotten it. It ran for four months. Estimated over-discounting: about £19,000.

Expiring pins make that mistake structurally impossible.

Best practices

Set guardrails before switching it on. They're your safety net — Scenario C.

Choose the profit goal if your margin is under about 50%.

Leave the control group on. It's the only way to know what discounting adds.

Give it 30+ sends per option before judging. Early results are noisy.

Always put an expiry on a pin. Scenario E.

Review learned discounts monthly. Big shifts usually mean something changed in your business.

Don't pin everything. Pinning every type turns off the learning you're paying for.

Don't use the revenue goal on thin margins. It will discount you into unprofitability.

Don't remove the control group to "get more conversions." You lose the ability to know whether any of it works.

Don't expect instant results. It needs real sends to learn from.

Plan tiers

CapabilityFreeStarterProAgencyEnterprise
Automatic discount learning
Per-customer-type learning
Per-channel learning
Guardrails
Revenue or profit goal
Control group & true lift
Pinning with expiry
Multi-store learning

Frequently asked

How long before it's useful? It needs roughly 30 sends per option per combination. High-volume shops see confident results in a few weeks; smaller ones take longer. It uses sensible defaults meanwhile.

Does 0% really work? Often, yes — particularly for VIP and loyal customers who were returning anyway. It's usually the biggest saving the tool finds.

Can it give away more than I'm comfortable with? No, if you set guardrails. They're hard limits it cannot exceed.

Why keep a control group that gets nothing? Because it's the only way to know what your discounting adds. See Scenario B — it can completely change the decision.

Can I turn the control group off? It's a small share of sends and it's what makes the results meaningful. Strongly recommended to leave on.

What if my margins vary a lot by product? Enter your overall gross margin and set conservative guardrails. For very different margin tiers, cap the affected customer types lower.

What happens during a big sale? Pin the discount you want for the promotional period, with an expiry. Learning resumes automatically afterwards.

Does this affect anything other than cart recovery? No. It optimises cart-recovery discounts specifically. Other discounts are set where you configure them.

See also