Are your customers hooked on discounts?
Discounts bring orders. Used too often, they also teach customers to wait. A few numbers from your own order export show whether that is happening.
Oftenflow does this per customer, every morning.
Join the waitlistThe share of orders with a code
Start with the share of orders that used a discount code or automatic discount, per month. Look at the trend over a year, not at one month.
Split it into first orders and repeat orders. A first-order discount is a choice. Repeat orders that mostly need a code are the warning sign.
Discount share = orders with a discount ÷ all orders, per month. Calculate it separately for first and repeat orders.
Who waits for a sale
Look at repeat customers one by one. For each, count which share of their orders used a code or fell in a sale.
- Always with a code: likely to wait for the next one.
- Mixed: price matters to them, but they also buy at full price.
- Never with a code: discounts here mostly cost margin.
- Gaps that stretch just before a known sale period: the customer is holding off.
Compare full-price and coded cohorts
Group new customers by whether their first order used a discount. Compare the two groups on second order rate and on margin after 12 months.
A gap doesn’t prove the code caused it. Customers who look for codes may differ from the start. It does show where your full-price regulars come from.
600 new customers in spring. 360 used a first-order code, 240 paid full price. Within 90 days, 54 of the coded group reordered (15%) and 60 of the full-price group (25%). 38 of those 54 used a code again, about 70%.
What it costs
Discount on an order that would have happened anyway buys nothing. You only learn that share by testing: send part of the group the same message without a code, and compare orders.
200 repeat orders a month of €40, with 15% off, is €1,200 in discount. If half of those customers would have bought at full price, €600 of it bought nothing.
Discount without effect = total discount given × share of those orders that would have happened without it.
What to do about it
- Stop sending the same code to everyone. Start by leaving it out for customers who have paid full price before.
- Replace some discounts with reasons that cost less: a reminder at the right moment, a sample, a useful tip.
- Make sales less predictable, so waiting pays off less.
- Test a reminder without a code against one with a code, on orders and on margin.
- Change slowly. Customers used to codes need time; measure per cohort.
Oftenflow checks each customer’s history before proposing a discount, and leaves the code out for customers who usually pay full price.
Oftenflow is in development. This describes what we’re building.





