hardScenarioDesignMidSeniorStaff
Your promotions engine lets two discounts stack when it should not. How do you fix it and stop it recurring?
6 min readUpdated 2026-08-15
Answer
Short answer
Model eligibility, exclusivity, and priority as explicit promotion data rather than accumulated conditionals, pin a deterministic evaluation order because the same two discounts applied in a different sequence produce a different total, and persist a price trace finance can read months later.
Was this answer helpful?
Likely follow-ups
- Two mutually exclusive promotions both qualify. How do you choose, and who decides whether you optimise for the customer or the margin?
- An order-level discount has to be split across lines for tax and partial refunds. How do you allocate it?
- A marketing manager edits a live promotion's percentage. What happens to orders already placed under it?
- How would you let non-engineers author a promotion without letting them create this bug again?
Related questions
- A customer disputes their total and asks why. Can your system answer?hardAlso on promotions and pricing4 min
- Six months after a decision, a regulator asks how your model arrived at it. What must you have logged at the time?hardAlso on auditability5 min
- Analysts want yesterday's numbers to still match after a late-arriving correction. What does the warehouse have to record?hardAlso on auditability7 min
- A shopper adds items on their phone while logged out, then signs in on a laptop where they already had a cart. What should happen?mediumAlso on pricing4 min