Managed service providers migrate other people’s infrastructure for a living, which means the dataset is bigger and more honest than any single enterprise’s war story. This post aggregates anonymized data from 214 client migrations executed between 2021 and 2026 — SMB to mid-market, 20 to 2,000 seats.
#The Headline Numbers
[ FIG_01 // MIGRATION OUTCOMES, N=214 ]
Read that last row again: 1 in 16 migrations gets abandoned or rolled back permanently. In every abandoned case, the root cause traced to discovery — not execution.
#Where the Time Actually Goes
Proposals allocate effort roughly 20/50/30 across discovery, execution, and stabilization. Actuals across the dataset:
| Phase | Proposed | Actual (median) | Actual (p90) |
|---|---|---|---|
| Discovery & assessment | 20% | 34% | 51% |
| Execution / cutover | 50% | 41% | 38% |
| Stabilization & handoff | 30% | 25% | 11% |
Two things jump out. Discovery always eats more than planned — the p90 case spends half the engagement just finding out what exists. And stabilization gets cannibalized to protect the go-live date, which is exactly backwards: the p90 projects that squeezed stabilization to 11% generated 3.2x more support tickets in the following quarter.
#Failure Modes, Ranked
Across the 71 projects that ran late or over budget, primary root causes:
- Undocumented dependencies (41%) — the classic. A line-of-business app calling a server nobody inventoried.
- Licensing surprises (19%) — SQL Server core licensing on cloud VMs remains the single most expensive line-item shock.
- Bandwidth math (14%) — seeding 40TB over a 100Mbps circuit takes 37 days at theoretical maximum. Someone always forgets.
- Identity sprawl (12%) — three AD forests, one Okta tenant, and a decade of conditional-access debt.
- Change-freeze collisions (8%) — retail clients in Q4, accounting firms in tax season.
- Other (6%)
#The Cost Curve
Per-seat migration cost falls sharply with scale, then flattens:
Seats Median cost/seat Note
20–50 $412 fixed costs dominate
51–200 $265 sweet spot for standardized runbooks
201–500 $198 tooling investment pays off
501–2000 $184 diminishing returns; complexity tax returns
The flattening past 500 seats is the complexity tax: bigger clients bring bespoke apps, compliance regimes, and committee approvals that scale with headcount.
#What Actually Predicts Success
We regressed outcomes against 22 project attributes. Only four moved the needle:
- A tested rollback plan (largest effect; the 6% who abandoned had none)
- Discovery tooling deployed ≥30 days pre-cutover — automated scanning, not questionnaires
- A named client-side decision-maker with authority to kill scope
- Pilot group ≥10% of seats before the main wave
Certification counts, vendor partnerships, and team size showed no significant correlation with outcomes. Process beats pedigree.
#Takeaway for MSP Operators
Price discovery as its own engagement. Clients resist paying for “just looking around” — but the data says discovery quality decides the outcome before the first byte moves. The MSPs in our dataset that split discovery into a paid phase-zero saw abandonment fall to under 2%.