How do I structure a multi-year discount that doesn't erode price floors?
Structure the multi-year discount as a declining schedule tied to contract terms — not a permanent cut to your unit price. The load-bearing move is to make year one the deepest discount and shrink the concession every year after, so the contract actively trains the customer back toward list price over its life. A clean 3-year shape is: year one at 85% of list, year two at 90%, year three at 95%, renewal at 100%. Because the discount decays instead of compounding, your price floor is never re-anchored, and you keep the right to take a normal annual list-price increase on top of the schedule.
Three rules make this durable. First, decline the discount, never flat-line or grow it. "5% off every year for three years" feels modest but it teaches the buyer that the discounted number *is* the price, and every renewal becomes a fight to claw back ground you already gave away. A declining schedule does the opposite — the price the customer experiences goes *up* each year, so renewal at list feels like the natural next step rather than a hike. Second, tie the discount to something the buyer gives you in return — a longer term, an annual or upfront prepay, a volume commit — so the concession reads as consideration for a contract structure that helps your finance org (deferred-revenue stability, lower renewal churn, faster CAC payback), not as a gift procurement can demand again. Third, write the schedule against "then-current list price," and hard-floor every line item. The phrase *then-current list* lets you raise list annually and still honor the declining discount, so your pricing power compounds instead of freezing for 36 months. Absolute floors ("no discount below $X per seat, no discount on overages, services, or onboarding") stop the compounding-concession problem where a seat discount times a volume discount times a multi-year discount produces unit economics that can't survive a downgrade.
If you remember one sentence: discount the terms, not the price — and make the discount get smaller every year.
The Core Principle: Discount the Terms, Not the Price
Every durable multi-year discount rests on one distinction that most sellers blur: there is a difference between lowering your price and paying for a commitment. When you lower your price, you move the reference point the buyer will anchor to forever. When you pay for a commitment — a longer term, prepayment, a volume floor — you are buying something specific (cash certainty, retention, lower cost-to-serve) and the concession is attached to that thing rather than to the customer's identity.
This matters because of how reference prices work. Buyers, and especially professional procurement teams, do not remember your list price. They remember the last price they paid. Once a customer has an invoice that says a number lower than list, that number becomes the floor of every future negotiation. The discount stops being a temporary incentive and becomes the new baseline you have to defend. The entire art of multi-year discounting is preventing that re-anchoring — keeping list price as the reference the customer negotiates *from*, not a fiction they've already forgotten.
Practically, "discount the terms" means every concession has a named counterparty obligation:
- Term length. "A one-year deal is list. A three-year deal earns the declining schedule." The buyer trades flexibility for price; you trade price for retained revenue and fewer renewal cycles.
- Payment timing. "Monthly billing is list. Annual prepay earns a discount. Full-term prepay earns more." You are literally buying cash — a deferred-revenue and working-capital benefit — and paying for it out of margin.
- Volume or seat commit. "Below the commit floor is list. A committed minimum earns the schedule." The buyer takes on utilization risk; you get forecastable revenue.
The reason this framing survives champion turnover and procurement scrutiny is that it is *defensible*. When a new procurement lead asks "why are we paying this?", the answer is not "your predecessor negotiated well." It is "you are on a three-year prepaid term; the discount is the consideration for that structure, and it declines by design." That is a business rationale, not a favor — and business rationales don't erode when the person who won them leaves.
Multi-Year Discount Architecture: The Mechanics
Here is the concrete build, using a clean illustrative example. Assume a published list price of $500 per month per unit and a three-year deal. The numbers below are a worked illustration to show the *shape* of the math, not a market benchmark.
Step 1 — Front-load the discount in year one. The deepest concession goes first, and it declines each year:
- Year 1: 15% off → $425/mo → $5,100 for the year
- Year 2: 10% off → $450/mo → $5,400 for the year
- Year 3: 5% off → $475/mo → $5,700 for the year
- Total contract value: $16,200 vs. $18,000 at pure list — a blended discount around 10%, but the customer *exits* at 95% of list, so renewal at 100% is a small, defensible step.
The psychology matters as much as the math. A big year-one number ("15% off — you save the most right up front") is more motivating to a buyer and more salient to a CFO than a modest flat number spread evenly. You get a larger *headline* concession for a *smaller* total giveaway, and the customer's price experience trends upward over the term.
Step 2 — Decline, don't grow. This is the single move that protects the floor. Compare two schedules that reach a similar blended discount:
- Declining (good): 15 / 10 / 5. The customer ends year three at 95% of list. Renewal at list is a 5% step.
- Flat (bad): ~10 / 10 / 10. The customer ends year three at 90% of list *and expects to stay there.* Renewal at list is now a 10% "increase" you have to justify.
- Compounding (worst): 5% off, then another 5% off the discounted number each year. This looks tiny on paper but it re-anchors the reference price downward and normalizes the discount as the true price.
Step 3 — Attach each tier to a commitment, not to the account. Never write "Customer X gets 15%." Write "annual prepay earns the year-one tier," "a three-year term earns the schedule." The discount travels with the *structure*, so if the customer wants to drop the term or switch to monthly billing, the discount comes off with it. That linkage is what makes the concession reclaimable.
Step 4 — Hard-floor every line item. Independent of the multi-year stack, set absolute minimums the schedule can never breach:
- A per-seat or per-unit floor "regardless of volume or term."
- No discount on overage or burst rates — you want expansion to happen at full price.
- No discount on professional services, onboarding, or implementation fees — these are cost-recovery, not margin you can afford to give.
Floors exist to stop the stacking problem: a 20% volume discount, times a 15% multi-year discount, times a 10% "strategic logo" discount doesn't add to 45% — it multiplies down to roughly 61% of list, and at that point a single downgrade or a renegotiated seat count can push the deal underwater. The floor is the circuit breaker that keeps any combination of discounts from crossing the line where the deal stops making money.
Why Cumulative and Flat Discounts Erode the Floor
Flat and compounding multi-year discounts are seductive because they look modest on the order form and they close deals in the moment. Their damage is deferred, which is exactly why they're dangerous — the person who grants them rarely owns the renewal where the bill comes due.
The mechanism is discount memory. When a customer spends three years being invoiced at a number below list, that number *is* their price. At renewal they do not experience "returning to list" as neutral — they experience it as a price increase, and a large one, imposed on an incumbent who is now switching-cost-locked and knows it. So they push back, and because your own past invoices are the evidence, you usually give ground. The flat-discount customer therefore tends to negotiate the *next* discount from the discounted floor, and the one after that from a still-lower floor. Over enough renewal cycles the cohort drifts steadily below list while a comparable declining-schedule cohort — who experienced the price rising each year — renews at or near list and absorbs standard annual increases without a fight.
There's a second, quieter cost: you lose your annual price-increase power. A healthy SaaS business raises list prices every year. If your multi-year discount is flat or compounding and written against *year-zero list*, you have frozen that customer's reference price for the entire term and handed away every increase you would otherwise have taken. A declining schedule written against *then-current list* does the opposite — it lets the annual increase flow through while the discount shrinks, so two forces push the customer's price up in tandem. By the time you reach renewal, list has risen and the discount has nearly vanished, and the gap between the two cohorts is not something any expansion or upsell motion can realistically close.
The practical tell that you're in the trap: if your renewals team spends most of its energy *defending* price rather than *expanding* accounts, you almost certainly have a book full of flat or compounding multi-year discounts that trained your customers to treat the discount as the price.
The Rebate-Only Structure: Keep List Price on Every Invoice
One of the most underused structures — and the strongest for protecting a floor — is to invoice at full list price every period and pay the discount back separately as a rebate or credit. The customer is billed $500/mo (list) but earns a rebate against total annual or contract spend, paid after a defined trigger: paying on time, hitting a volume threshold, prepaying, or completing the year.
The power of this design is that your procurement-visible price never drops. The invoice, the PO, and the record in the customer's own procurement system all show list. There is no "discounted price" for a future buyer or a future procurement lead to point at and demand you match. Your list price stays the anchor in every system of record on both sides, which is exactly what a rebate is engineered to protect.
It also hands you leverage the customer doesn't have with a discounted invoice:
- Conditionality. Because the rebate is a separate, earned payment, you can withhold or reduce it for cause — chronic late payment, breach, or a renegotiated scope — without touching the contractual price. A discount baked into the price can't be selectively pulled back; a rebate can.
- Behavior shaping. Tie the rebate to what you want more of: annual or upfront payment (bigger rebate), on-time payment, or a volume commit. You reward the behavior instead of permanently lowering the price for it.
- Clean benchmarking story. When the customer benchmarks "what did we pay," the contractual price is list. The rebate is a program, not a price — and programs are far easier to adjust at renewal than a re-anchored unit price.
The trade-off is cash-flow timing: you collect list and pay the rebate back later, so you finance the discount for a period. For healthy-margin recurring products this is usually a good trade — you're spending a bit of working capital to keep your list price uneroded and your renewals defensible. Where margins are thin or cash is tight, a declining discount on the invoice may be the more practical choice, and you accept slightly more anchoring risk in exchange for the cash. Many enterprise agreements also make the rebate *itself* declining — a larger rebate in year one, smaller after — to combine both defenses.
Milestone-Gated Discounts: Make the Buyer Earn the Concession
A more sophisticated variation ties the discount to value-delivery or adoption milestones rather than to time alone. Instead of "15% off because it's year one," the structure reads: "Year one carries a 15% deployment credit while we stand up and onboard your team; year two earns 10% once you've activated 80% of licensed users; year three earns 5% once you've completed the CRM integration."
This does several things at once. It makes the discount contingent, so a customer who under-adopts doesn't automatically keep the concession — the discount reverts or shrinks when the milestone is missed. It creates a clean ROI narrative for procurement ("we pay less early because we're realizing less value early, and the price rises as we get more out of it"), which is far easier to defend at renewal than an unexplained across-the-board cut. And it self-segments your base: high-adoption accounts earn the deeper tiers and become your best references, while low-adoption accounts pay closer to list, which is exactly the right price signal — the customers getting less value pay more, nudging them to either adopt or right-size.
The caution with milestone gates is measurability and fairness. Only gate on metrics that are (a) objectively measurable from your own telemetry, (b) genuinely within the customer's control, and (c) defined precisely in the contract. "80% of licensed users active in a trailing 30-day window" is enforceable. "Successful adoption" is not — it invites a dispute at exactly the moment you least want one. Write the metric, the measurement window, the data source, and the consequence of a miss into the agreement, and make the consequence a *smaller* discount rather than a penalty, so the gate reads as an earned reward rather than a trap. Milestone gating pairs especially well with the rebate structure: invoice at list, pay the rebate only when the milestone is verified.
Contract Language That Protects the Floor
The structure only holds if the paper holds. Three clauses do most of the work, and getting them into the MSA rather than the order form is what makes them durable across renewals and personnel changes.
1. Write the schedule against "then-current list price." This is the most important phrase in the entire agreement. Compare:
- *Frozen (weak):* "Year 1: $425. Year 2: $450. Year 3: $475." These are fixed dollar amounts. You have locked the customer's reference to today's list for 36 months and forfeited every annual increase in between.
- *Then-current (strong):* "Year 1: 85% of then-current list. Year 2: 90% of then-current list. Year 3: 95% of then-current list. Renewal: 100% of then-current list." Now your normal annual list increase flows through *and* the discount declines, so the customer's price is pushed up by both forces and renewal lands cleanly at a list that has itself risen.
2. Cap the renewal discount explicitly. Add: "Any renewal following the initial term shall be at then-current list price, less a loyalty discount not to exceed 5%." This prevents the multi-year deal from silently becoming a permanent discount. Without a cap, the "temporary" concession has a way of living forever because no one wrote down when it ends.
3. Floor every line item in writing, and protect expansion. Spell out the absolute minimums — per-unit floor, no discount on overage/burst, no discount on services or onboarding — so no future combination of discounts can breach them. Keep expansion at full price: new seats, new modules, and overage should price at then-current list, because expansion is where healthy net revenue retention comes from and the last thing you want is to pre-discount growth you haven't sold yet.
Two more clauses are worth negotiating carefully rather than granting reflexively. A most-favored-nation (MFN) clause — promising the customer they'll get any better price you offer a comparable customer — should be scoped tightly if you grant it at all: limit it to *publicly listed* prices, not bespoke deals, and to genuinely comparable customers, or it becomes a mechanism that lets your worst discount on any deal leak across your whole enterprise base. And a price-protection or cap-on-increase clause ("annual list increase capped at N%") is a reasonable thing to give a large customer, but cap it at a number *above* your normal increase, not below, so you retain room to move list up over the term.
Put all of this in the master agreement. Order forms get replaced every cycle and are the first thing a new procurement lead re-opens; the MSA is the durable layer, and clauses that live there survive the churn of individual renewals and the turnover of the people who signed them.
When This Architecture Fails: The Bear Case
A declining, term-linked multi-year discount is the right default, but it has real failure modes. Know them before you standardize on it.
1. You front-loaded, and they churn early. If you took a big year-one concession (or prepaid cash) and built a customer-success org around the full contract value, an early churn can turn the deal cash-negative — you invested in coverage against revenue you won't collect. Mitigation: put a non-cancellable minimum term *inside* the multi-year (for example, a firm 12-month floor even on a 3-year deal), and if you allow any early termination, pro-rate any refund against year-2/3 list, not the discounted or prepaid rate, so the churn math never subsidizes the discount the customer already enjoyed.
2. Procurement weaponizes the year-one number. A sharp procurement team will take your deepest, year-one rate ($425 in the example), benchmark it against competitors' *list* prices, and demand you hold that rate for all three years. Mitigation: quote blended ACV on every page of the order form and never break out the year-one standalone number as a negotiable line. Lead with the average annual value, refuse to let a single year's rate become the reference, and keep the declining schedule in the MSA where it reads as a designed structure rather than a starting bid.
3. Your whole category discounts flat, so declining looks like a hike. If competitors offer flat multi-year discounts, your rising-price schedule can look worse in a naive side-by-side even though it's better for both parties long term. Mitigation: compete on present value and cash, not lifetime totals. "Fifteen percent off in year one — the biggest savings, right now" is more salient to a CFO than a competitor's evenly-spread number, because near-term dollars are worth more than far-term dollars and buyers feel that. Let competitors win the spreadsheet on undiscounted lifetime totals while you win the deal on year-one cash and a defensible renewal.
If two or more of these conditions dominate your market, consider shifting the incentive from price to entitlements: make longer terms unlock more product — additional modules, higher usage tiers, premium support — rather than a lower price. You still reward commitment, but you never put a discounted price into the customer's system of record at all, which is the cleanest possible way to protect a floor. The trade-off is that entitlement-based incentives cost you real product value and can be harder to price precisely, so reserve them for markets where price-based discounting has genuinely become a race to the bottom.
FAQ
What's the difference between a time-based discount and a cumulative discount?
A time-based (declining) discount applies a *different, shrinking* percentage each year — for example 15% off year one, 10% year two, 5% year three. A cumulative or flat discount applies the *same* percentage every year (or compounds it on the discounted price). The declining version protects your floor because the customer's price rises over the term and renewal at list feels natural; the flat/cumulative version re-anchors the customer to the discounted number and makes every future increase a fight.
Why does "5% off each year for three years" hurt price floors?
Because it normalizes the lower price. After three years of invoices below list, the customer's reference price *is* the discount, so at renewal they experience returning to list as a large increase and push back — using your own past invoices as leverage. It also freezes your annual list-price increases for the whole term if it's written against year-zero list. The anchor shifts from your list price to the discounted price, and you spend renewals defending rather than expanding.
How do I front-load the incentive without teaching the customer to expect discounts?
Make the largest percentage apply in year one and shrink it every subsequent year. The customer gets a big, motivating headline concession up front (good for closing and for cash), but *experiences the price rising* as the discount decays — which reinforces that list price is the real baseline. Pair it with "then-current list" language so your annual increase flows through on top, and the customer's price trends firmly back toward list by renewal.
Should I use a rebate instead of a discount?
A rebate is stronger for floor protection when your margins and cash position allow it. You invoice at full list every period and pay the discount back separately once the customer earns it (on-time payment, prepay, volume, or completing the year). Because every invoice and PO shows list, there's no discounted price in either party's system of record for a future buyer or procurement lead to anchor to, and you can withhold or reduce the rebate for cause. The trade-off is cash-flow timing — you finance the discount until the rebate is paid.
What's a reasonable range for a declining three-year schedule?
The shape matters far more than the exact numbers, and the right depth depends entirely on your margins, CAC-payback goals, and category norms. A common *illustrative* pattern is a low-double-digit discount in year one, roughly two-thirds of that in year two, and a low-single-digit discount in year three, landing renewal at or near list. Set the depth from your own unit economics and hard floors — the non-negotiable rule is that the percentage declines each year and never breaches your per-line-item floor.
Does this approach work outside subscription SaaS?
The declining, term-linked principle applies broadly, but the implementation flexes. It's cleanest for recurring-revenue models with a published list price and standard annual increases, because "then-current list" and renewal mechanics have obvious hooks. For one-time or heavily customized sales, the same logic holds — avoid flat cumulative concessions and keep the discount tied to a commitment — but you'll often express it through rebates, volume tiers, or milestone gates rather than a per-year percentage schedule, and you'll lean harder on line-item floors to prevent stacked discounts from crossing your margin line.
How do I keep expansion revenue from getting caught in the discount?
Explicitly carve expansion out of the discount schedule in the contract: new seats, new modules, and overage/burst usage price at then-current list, not the multi-year rate. Expansion is where healthy net revenue retention comes from, and pre-discounting growth you haven't sold yet gives away margin for nothing. Floor the overage rate in writing and make clear the multi-year discount applies only to the committed baseline, so additional consumption always monetizes at full price.
Sources
- Harvard Business Review — pricing strategy, discounting, and reference-price research: https://hbr.org/topic/subject/pricing
- McKinsey & Company — B2B pricing, contract structure, and price-realization insights: https://www.mckinsey.com/capabilities/growth-marketing-and-sales/our-insights
- Simon-Kucher — pricing and commercial strategy, discount governance: https://www.simon-kucher.com/en/insights
- Bessemer Venture Partners, State of the Cloud / Atlas — SaaS metrics, net revenue retention, and pricing benchmarks: https://www.bvp.com/atlas
- Gartner — B2B sales and buying-behavior research: https://www.gartner.com/en/sales/research
- Deloitte — contract lifecycle management and pricing-model design: https://www2.deloitte.com/us/en/insights.html
Related on PULSE
- [How do I set an AE discount ceiling without killing deal velocity?](/knowledge/q74)
- [How should I structure my annual price increase?](/knowledge/q80)
- [When does usage-based pricing beat seat-based pricing?](/knowledge/q76)
- [How do I price add-on SKUs without cannibalizing the core?](/knowledge/q73)
- [Should onboarding and implementation fees be discountable?](/knowledge/q83)
- [What renewal early-warning signals predict a discount demand?](/knowledge/q250)










