Discount Depth & Break-Even Calculatorby Daily Needs Association
Free founder utilities

Discount Depth & Break-Even Calculator

No signup requiredNothing to installSee all free tools →
Pricing & Margin

That is 38% of the deepest discount your numbers allow.

Deepest discount that still pays
Discount still pays for itself
52.8%off, at zero contribution

The bar shows where your current discount sits against that ceiling.

$38.22Contribution per order at your discount
$23.30Margin given up on every order
$6,991Margin given up per month
183Extra units needed to hold the same margin

What these numbers say

    That is arithmetic on your inputs, not a forecast. It does not assume a discount will lift volume.

    Get the weekly email

    You'll get Gulati's weekly email. Unsubscribe anytime.

    The discount is only half the problem.

    Once you know your margin floor, the next step is pricing, bundling, and offer structure. DNA builds the systems that keep that decision running on real numbers daily.

    Claim your free operation review & teardown →

    How to read this number

    The headline is the deepest discount at which one order still contributes money after costs and fees. It is the point where the price charged exactly covers what that order costs you, so contribution lands on zero. Any deeper and the order itself is the loss.

    Contribution is calculated as the price actually collected, minus the payment processing fee taken as a percentage of that price, minus cost of goods, minus shipping. Every input on this page is yours. There are no benchmarks, industry averages, or lift multipliers baked in.

    Assumptions this calculator makes

    These are the modelling choices behind the output. Read them as assumptions, not facts about your business:

    • One unit per order. A bundle is modelled as a single order with a higher total cost, not as a smaller per-unit cost. If you bundle, enter the bundled cost of goods and the bundled order value.
    • Processing fees scale with the discounted price. The percentage is applied to what the customer actually pays, which is why a discount costs you slightly more than the headline percentage.
    • Shipping is a cost, not revenue. If the customer pays shipping and you net that, put the amount you keep into shipping and the amount you pass on into the price.
    • Volume is held constant for the comparison. The monthly figures compare your current volume at full price against the same volume at the discount. The break-even unit count is then the arithmetic difference, not a prediction of demand.
    • Nothing else is in the cost. Ads, labour, storage, returns, write-offs, duties, and tax are all excluded. Add the ones that are real per-order costs to cost of goods and the ceiling rises, which is why the answer is only as honest as your inputs.
    • The 80% flag is a threshold you set. We call a discount "close to the floor" once it passes 80% of your maximum. That line is a judgement call, not a rule, and you should move it if your category works differently.

    A worked example using the defaults

    Take a $120 product with $46 of cost of goods, $9 of shipping, and a 2.9% processing fee, selling 300 units a month at 20% off. Full price costs $55 per order, so full price contribution is $120 minus 2.9% minus $55, which is $61.52. The discounted price is $96, and contribution on that order is $96 minus 2.9% minus $55, which is $38.22. So the discount gives up $23.30 on every single order.

    Across 300 orders that is roughly $6,991 of margin a month, compared with about $18,456 at full price. To hold the same margin at the discounted price you would need 183 more units, on top of the 300 you already sell, taking you to 483. The maximum viable discount on these numbers is 52.8%, so a 20% discount sits comfortably inside the safe band.

    That 183 is pure arithmetic. It is not a claim that a discount will find you 183 more buyers. If you do not already know you can move 61% more units at a discount, the honest read is that the discount is a margin decision, not a growth lever.

    Contribution at every discount level

    This table recalculates from the values you entered above, at the standard ladder of discounts. It is the fastest way to see where the floor sits before you commit to a deeper promo.

    Calculated from the values currently entered.
    DiscountPrice chargedContribution per orderChange vs full price

    Rows where contribution is zero or below are the ones where the order funds nothing. A flash sale that sits in the red is not a sale, it is a purchase of your own customers at a loss.

    Three ways to discount without going under water

    Depth is the expensive kind of discount. These three keep the per-order economics intact while still giving the customer a reason to act now.

    1. Bundle to raise the order value, not lower it. Pair a full-priced item with a lightly discounted one. The order total rises, cost of goods rises, and contribution per order usually improves even though the headline percentage looks big. Enter the bundled order value and bundled cost to check it here before you run the promo.
    2. Time-box it. A 48-hour discount on a product that sells at full price the rest of the week is a deadline, not a price reset. It creates urgency without lowering the reference price your customers judge you on, and it caps the damage because it stops.
    3. Discount shipping, not price. Free or reduced shipping keeps the product price intact, so contribution per order holds. Just be honest and subtract the real shipping cost you are absorbing, which is exactly what the shipping input is for here.

    When a discount needs 40% more volume to hold margin

    If the break-even number comes back asking for roughly 40% or more extra units, that is almost always a margin problem wearing a marketing hat. The discount was chosen for the number it produces in the ad platform, not for the number it leaves in your bank account. Businesses doing 40% more volume usually do it by spending more on ads, so the extra contribution can be fully consumed by the acquisition cost of the extra orders and you are back where you started, with a permanently lower price and a busier fulfillment queue.

    Two honest moves here. Either set the discount at a level that does not need new volume, or keep the deep discount and accept a smaller total margin in exchange for a specific, measurable thing like list growth or a bundle attach rate. What does not work is running the deep discount and calling the volume hope a plan.

    What to do next

    Take the maximum viable discount and write it down as your floor before you run the next promo. Anything past it needs a specific, measurable reason. Then check what sits above the price in the rest of your economics: if the per-order margin is thin, no discount depth saves you, and the fix is cost, shipping thresholds, or a bundle rather than a deeper cut.

    If the same numbers feel wrong once the day-to-day volume is included, theBreak-Even ROAS Calculator runs the identical kind of real-number arithmetic on your ad side instead. If you suspect the order volume you entered is the part you are guessing at, theStore Funnel Health Scorecard looks at conversion and retention rate rather than margin.

    Embed the discount depth and break-even calculator on your site

    Free to embed, no signup, no attribution needed beyond the link. Paste this where your readers are already asking the question, and the calculator sizes itself to fit.

    <iframe src="https://dailyneedsassociation.com/tools/discount-depth-break-even/?embed=1" title="discount depth and break-even calculator by Daily Needs Association" width="100%" height="560" loading="lazy" style="border:1px solid #d9d2c4;border-radius:12px;max-width:100%"></iframe> <p style="font:13px/1.5 system-ui,sans-serif;margin:8px 0 0"><a href="https://dailyneedsassociation.com/tools/discount-depth-break-even/" rel="noopener">discount depth and break-even calculator by Daily Needs Association</a></p> <script> window.addEventListener("message",function(e){ var d=e.data;if(!d||d.type!=="dna-tool-height")return; var f=document.querySelector('iframe[src*="discount-depth-break-even"][src*="embed=1"]'); if(f&&e.source===f.contentWindow)f.style.height=d.height+"px"; }); </script>

    Works on any site that allows an iframe, including WordPress, Shopify, Webflow, Ghost and Notion.