Magrios / Knowledge / Pricing Intelligence / Free migrations cost more than the discount you

Free migrations cost more than the discount you avoided giving

Guide · Pricing Intelligence · 6 min read · last verified 2026-07-21

Reviewed before publication Editorial board Independent commercial review
In shortA worked comparison of engineering hours spent on free migrations versus cash discounts, using loaded cost and net present value to show step by step which option actually costs more.

A "free migration" isn't free — it's engineering time valued at a loaded hourly cost, spent instead of a cash discount. In this piece's worked example, that engineering time ends up costing more than the discount it replaced, once both are measured in comparable terms.

Why "free" is doing a lot of work in "free migration"

When a sales team offers a prospect a free migration instead of a price concession, it feels like the cheaper option because no line item on the invoice changes. But the engineering hours spent building import scripts, mapping data fields, and handling edge cases in the customer's existing system are a real cost — they just get absorbed into headcount instead of showing up as a discount on the contract. That accounting choice doesn't make the cost smaller. It just moves it somewhere less visible, off the deal desk and onto an engineering roadmap where nobody is tracking it against the deal it was spent to win.

The comparison sales actually needs to make isn't "free migration vs. nothing" — it's "engineering hours valued at their loaded cost vs. a cash discount," because both are ways of giving something up to close the deal. Once you put them in the same unit, one of them is usually more expensive than it looks, and it isn't always the discount.

The two costs sales is actually choosing between

A discount reduces the price the customer pays, and its cost to the business is the revenue given up — straightforward to calculate, and it shows up immediately on a deal summary. A free migration substitutes engineering time for that revenue concession, and its cost is the number of hours required, multiplied by the loaded cost of the people doing the work — salary, benefits, and overhead, not just the hourly wage.

The reason these two costs get compared unfairly in practice is timing. A discount is usually evaluated over the life of the deal — sometimes even discounted back to present value if it recurs across multiple years — while a migration's engineering cost is usually estimated (if it's estimated at all) as a rough one-time number that nobody revisits once the project is scoped. Comparing a carefully modeled discount cost against a hand-waved migration estimate will make the migration look artificially cheap every time.

Worked example: eng-hours vs. discount NPV, step by step

Take a hypothetical $40,000 annual contract value (ACV) deal, structured as a 3-year agreement. Sales is deciding between two ways to close it: offer a 10% annual discount for all 3 years, or absorb a free migration instead and hold price at full rate.

Step 1: Cost the migration. The team estimates the migration requires 80 engineering hours, and the company's loaded engineering cost is $150 per hour (salary, benefits, and overhead combined — a hypothetical but realistic loaded rate). That's:

80 hours × $150/hour = $12,000

This cost is incurred up front, before or at the start of the contract, so it's already in today's dollars — no discounting needed to compare it with anything else.

Step 2: Cost the discount, year by year. A 10% discount on a $40,000 ACV deal is $4,000 per year, for each of the 3 years:

Year 1: $40,000 × 10% = $4,000

Year 2: $40,000 × 10% = $4,000

Year 3: $40,000 × 10% = $4,000

Added up with no time-value adjustment, that's $4,000 × 3 = $12,000 — the same nominal total as the migration cost.

Step 3: Convert the discount to present value. Because the discount is paid out across 3 future years rather than all at once today, its true cost is lower than its nominal total — money given up later is worth less than money given up now. Using a hypothetical 8% discount rate:

Year 1: $4,000 ÷ (1.08)¹ = $3,703.70

Year 2: $4,000 ÷ (1.08)² = $3,429.36

Year 3: $4,000 ÷ (1.08)³ = $3,175.33

NPV of the discount = $3,703.70 + $3,429.36 + $3,175.33 = $10,308.39

Step 4: Compare. The migration costs $12,000, all incurred immediately. The discount costs $10,308.39 in present-value terms, spread across 3 years. In this hypothetical, the free migration is $1,691.61 more expensive than the discount it was meant to avoid — even though both options add up to the same $12,000 on a nominal, undiscounted basis.

Why the discount often looks worse than it is

The nominal totals in the worked example above are identical — $12,000 either way — which is exactly why comparing migration cost to discount cost on a nominal basis is misleading. The discount's cost is spread across three years, which lowers its present value relative to a cost paid entirely today. The migration's cost, because engineering hours get spent up front, doesn't get that same time-value benefit. A team that only looks at nominal totals would conclude the two options are equivalent; a team that discounts cash flows correctly would see the migration as the more expensive choice, as shown in the worked example above.

This doesn't mean discounts are always cheaper — it depends entirely on the inputs. A larger discount, a longer contract term, or a lower discount rate could easily flip the comparison the other way. The point of the worked example above isn't that migrations are always more expensive; it's that "free" is not the same as "zero cost," and the only way to know which option is actually cheaper is to run the numbers in comparable terms rather than assume the one without a line item on the invoice is the bargain.

When a free migration is still the right call

None of this means free migrations are a mistake. Sometimes the engineering work has value beyond the single deal — reusable import tooling, a connector that helps close the next five deals in the same vertical, or product learning about how competitors structure their data. When the migration cost is genuinely amortized across future deals rather than absorbed entirely by one contract, the comparison in the worked example above changes, because the $12,000 in engineering cost isn't really being spent to win one $40,000 deal — it's being spent to win several.

The mistake isn't offering free migrations. It's offering them without running the comparison at all — treating "free" as a synonym for "costless" instead of as a cost that happens to be paid in engineering hours instead of dollars off the invoice. That framing connects to a broader pattern in how discounting shapes buyer and market perception, covered in how discounting affects category perception: a price concession is visible and easy to reason about, while a services concession like a free migration is easy to underprice precisely because it's invisible on the deal summary.

How to price migration cost into the offer instead of hiding it

The fix isn't complicated: before sales offers a free migration, scope the engineering hours the way the worked example above does, multiply by a real loaded rate, and put that number next to the discount alternative on the same deal summary. If the numbers say the discount is cheaper, give the discount. If they say the migration is cheaper — which happens often, especially for larger contracts where the same nominal discount produces a bigger dollar cost — offer the migration with confidence, because now it's a decision backed by arithmetic rather than a reflex to avoid touching price.

This also has a second-order benefit tied to how a category gets valued over time: a value metric that holds steady because price wasn't the lever pulled to close deals tends to hold up better than one that's been quietly discounted deal after deal, even when the discounting happened off the invoice in the form of "free" services instead of on it.

Frequently asked questions

Is a free migration really more expensive than a discount?

It depends on the inputs, but in the worked example in this piece, an 80-hour migration at a $150 loaded hourly rate costs $12,000, compared to $10,308 in present-value terms for an equivalent discount.

What is 'loaded cost' for engineering hours?

Loaded cost is the true cost of an hour of engineering time, including salary, benefits, and overhead — not just the hourly wage — which is why it's usually higher than people expect.

Why does the discount need to be converted to present value?

Because a discount is typically paid out over future years, while migration engineering hours are usually spent immediately. Converting both to comparable present-value terms is the only fair comparison.

Are free migrations ever the right call?

Yes, especially when the engineering work is reusable — for example, import tooling that helps close future deals in the same vertical, rather than being spent entirely on one contract.

How should sales teams decide between a discount and a free migration?

Scope the engineering hours, multiply by a real loaded rate, and compare that number to the discount's present value on the same deal summary before offering either one.

Further reading — chosen for this article
Entities in this research
loaded costengineering hoursnet present valuediscount ratecash discountdeal deskannual contract valuemigration cost
Related knowledge

What is a price escalator clause? A practical definition · shared entities

What Is a Ramp Deal? A Practical Definition · shared entities

Stacked SAFEs dilute founders far more than the cap table suggests · shared entities

What is discount leakage? A practical definition · shared entities

Recently updated

Magrios vs Athena · 2026-07-21

Magrios vs Writesonic · 2026-07-21

Magrios vs Semrush · 2026-07-21

Magrios vs peec · 2026-07-21

Where does your brand stand?
Check your AI visibility free — real evidence, not a score.
Check my visibility or run the full analysis →