Forward deployed engineers for e-commerce and marketplace ops. Pricing, marketplace offboarding, CX, paid media, CDP — built, shipped, and operated. See the proof →
← Back to Insights
22 January 2026

The £8.3M Insight: Why You're Giving Discounts to Customers Who'd Pay Full Price

We built a CDP that identified 90,000 full-price buyers being offered unnecessary discounts. Here's the architecture, the maths, and the result.

The Discount Addiction

Most e-commerce businesses have a discount problem. Not a discount strategy — a discount addiction. The pattern starts innocently: a promotional campaign drives a revenue spike, so the next quarter's plan includes more promotions. The spikes become the baseline. Revenue without discounts starts to look flat. The marketing team increases discount frequency and depth to maintain growth. Within two years, the business cannot sell anything at full price.

The client we worked with — a major UK fashion e-commerce retailer with 16.4 million customer profiles — was deep in this cycle. Discount codes were broadcast to the entire customer database. Every email campaign included a percentage-off offer. Flash sales ran multiple times per week. The business was giving away margin to customers who did not need a discount to convert.

The question nobody was asking: how many of these customers would have bought at full price anyway?

The answer, it turned out, was 90,000. And the margin they were being given unnecessarily represented £8.3 million in potential protection. That single insight — identifying who does not need a discount — was worth more than most companies' entire marketing analytics budget. It also feeds directly into our AI pricing optimization work, where the discount tier constrains what the pricing engine recommends.

Building the CDP

To answer the question, we needed a customer data platform that could score every customer on their discount sensitivity. The client was paying £45,000 per year for a third-party CDP that provided basic segmentation and email triggers. It could tell you who bought last week. It could not tell you who would buy at full price next week.

We replaced it with an in-house build running on the client's existing Snowflake data warehouse. The architecture is straightforward: CDC replication from three Aurora MySQL production databases (465GB total) feeds into Snowflake, where dbt models transform raw transactional data into customer-level features. The feature engineering is where the value lives.

We engineered 47 features per customer, grouped into four categories.

Transactional features: Total orders, total revenue, average order value, return rate, category affinity, brand affinity, average basket size, and purchase frequency. Standard e-commerce metrics, but computed at the individual level across a 24-month window with recency weighting.

Discount behaviour features: This is where it gets interesting. For each customer: percentage of orders placed with a discount code, average discount depth used, time between receiving a discount offer and purchasing, whether they have ever purchased at full price, the ratio of full-price to discounted purchases, and the maximum price point at which they have purchased without a discount.

Engagement features: Email open rate, click rate, SMS response rate, site visit frequency, pages viewed per session, time on site, and cart abandonment rate. These features capture intent signals independent of pricing.

Lifecycle features: Days since first purchase, days since last purchase, purchase cadence (average days between orders), and predicted next purchase date based on historical cadence.

RFM Scoring with a Twist

Traditional RFM (Recency, Frequency, Monetary) scoring divides customers into segments based on how recently they bought, how often they buy, and how much they spend. It is a useful starting point, but it has a critical blind spot: it tells you nothing about price sensitivity.

We extended the RFM model with a fourth dimension: Discount Dependency (RFMD). Each customer receives a score from 1 to 5 on each dimension, creating a four-dimensional segmentation space. A customer who scores 5-5-5-1 (recent, frequent, high-spending, low discount dependency) is your most valuable segment — and the segment most harmed by blanket discounting.

The Discount Dependency score is calculated from a composite of the discount behaviour features: the percentage of discounted orders, average discount depth, and crucially, whether the customer has demonstrated willingness to pay full price. A customer who has made 8 purchases, 6 of them at full price, scores very differently from a customer who has made 8 purchases, all with discount codes.

Across the 16.4 million profiles, the RFMD scoring identified four distinct behavioural clusters.

Curious what your margin opportunity looks like?

Free Tool

How much margin are you leaving on the table?

Answer 6 questions. Get a personalised margin estimate in under 2 minutes.

Take the Free Margin Audit

The Four-Tier Discount Strategy

Tier 1: Suppress (Full Price). 90,000 customers who have historically purchased at full price, have high engagement scores, and show no discount dependency. These customers receive zero discount offers. No codes, no flash sale emails, no percentage-off promotions. They receive content-driven communications: new arrivals, editorial looks, early access to collections. When they receive a promotional email, it features products at full price with messaging focused on quality, exclusivity, and newness rather than savings.

This tier represents the £8.3M margin protection figure. Every time a blanket 20% code reaches one of these customers and they use it, the business gives away margin it did not need to give away. Multiply that by 90,000 customers at an average order value of £92, and the annual margin exposure is staggering.

Tier 2: Light Discount. Customers who occasionally use discount codes but have a mixed purchase history showing some full-price behaviour. They receive modest offers: 10% off or free shipping thresholds. The goal is to nudge conversion on specific products without training them to expect deep discounts.

Tier 3: Standard Discount. The bulk of the active customer base. These customers have a discount dependency score indicating they respond to promotions but are not exclusively discount-driven. They receive the standard promotional calendar: seasonal sales, mid-season markdowns, and targeted category promotions at 15-25% off.

Tier 4: Deep Discount. Customers with high discount dependency and low recent activity. These are lapsing or lapsed customers who will only return with a strong incentive. They receive the deepest offers: 30-40% off, clearance access, and aggressive win-back sequences. The unit economics still work because without the deep discount, these customers would not purchase at all. A £60 order at 35% off is better than £0.

The four tiers feed directly into the email and SMS platform. Every campaign is segmented by tier before send. The CRM team no longer sends blanket offers. They send four versions of every campaign, each calibrated to the recipient's discount sensitivity.

Churn Prediction

The CDP's second major function is churn prediction. Using the lifecycle features — days since last purchase, purchase cadence, engagement trajectory — the model predicts which customers are at risk of lapsing within the next 30, 60, and 90 days.

The churn model uses a survival analysis approach (Cox proportional hazards) rather than a binary classifier. This is a deliberate choice. A binary "will churn / won't churn" model gives you a prediction but no timing. The survival model gives you a hazard curve: the probability that this customer will churn increases by X% each week they go without purchasing. This allows the CRM team to time interventions precisely.

A customer predicted to churn within 30 days enters an automated win-back sequence. The sequence starts with a content-driven email (no discount), escalates to a light offer after 7 days of non-engagement, and finally sends a tier-appropriate discount after 14 days. The escalation path is different for each discount tier. A Tier 1 customer gets a "we miss you" email with new arrivals. A Tier 4 customer gets a 30%-off code immediately.

The churn model reduced 60-day churn by 5.2% in the first quarter of deployment. On a base of 16.4 million profiles with approximately 1.8 million active customers, that represents roughly 94,000 customers retained who would otherwise have lapsed. At an average annual customer value of £184, the retention value is significant.

The Economics of Building vs. Buying

The third-party CDP cost £45,000 per year and could not do any of what we built. It could segment by basic demographic and transactional data. It could not score discount dependency. It could not run survival analysis. It could not differentiate between a full-price buyer and a discount addict.

The in-house build runs on infrastructure the client already paid for (Snowflake, dbt Cloud) with marginal compute costs of approximately £200 per month. The development cost was a fraction of a single year's vendor contract. And the business owns the system entirely — no vendor lock-in, no feature request queues, no dependency on a third party's product roadmap.

More importantly, the in-house CDP integrates with the pricing engine. The discount tier assigned by the CDP constrains the pricing engine's voucher recommendations. The pricing engine's demand signals feed back into the CDP's engagement features. The two systems create a feedback loop that a vendor stack — with two separate companies, two separate data models, and no shared state — cannot replicate.

This is part of a broader pattern in our work: replacing fragmented vendor stacks with integrated in-house systems that share data and learn from each other. The compound advantage of integration is the part that vendor salespeople never talk about, because their business model depends on you buying disconnected point solutions.

What This Means for Your Business

If you are sending the same promotional email to your entire customer database, you are giving away margin to customers who would have paid full price. The question is not whether this is happening. It is how much it is costing you.

For the client in this case study, the answer was £8.3 million in margin exposure. Your number will be different, but the principle is universal: not every customer needs a discount, and treating them as if they do is one of the most expensive mistakes in e-commerce.

The solution is not complicated. It requires good data, the right features, and a segmentation model that goes beyond recency and frequency to capture discount behaviour. We detail the full technical architecture in our in-house CDP build walkthrough. The technical implementation is within reach of any business with a data warehouse and a competent engineering team — or a partner who can build it for you.

The full transformation programme at this client includes 23 marketing acquisition initiatives worth £1.87M in annual value. The CDP and discount suppression strategy is the foundation that makes all of them more effective.

Want results like these? Book a free margin audit.

We'll analyse your customer data and tell you how much margin you're giving away to customers who don't need discounts.

Want results like these?

We go into businesses and make them permanently more profitable. Every initiative is EBITDA-tracked.

Book a Call See the Case Study