Vendor Lock-In Risk Assessment
Lock-in is a spectrum, not a binary
Every vendor relationship creates some switching cost — even a simple email tool has list data and template history that takes effort to migrate. Lock-in risk assessment isn't about avoiding all switching cost (impossible) but about identifying which specific vendor dependencies have switching costs high enough that they constrain future decisions, and deciding deliberately whether that constraint is acceptable given the value the vendor provides. The failure mode worth avoiding isn't dependency itself — it's unexamined dependency that nobody evaluated before it became load-bearing.
The four dimensions of lock-in
Data lock-in: can you export your data in a usable, complete format, or only in a degraded/partial export that loses the vendor's proprietary enrichment (scoring models, computed segments, historical event data in the vendor's internal schema)? Integration lock-in: how many other systems in your stack are wired directly to this vendor's API or webhook format, such that switching requires re-integrating each one? Workflow lock-in: how much institutional process, training, and team muscle memory is built around this specific tool's UI and features, independent of the data itself? Contractual lock-in: multi-year contracts, minimum commitments, or penalty clauses that make switching expensive regardless of technical feasibility.
Lock-in dimension assessment matrix
| Dimension | Low-risk signal | High-risk signal |
|---|---|---|
| Data | Full raw data export on demand, standard formats (CSV, API) | Export only available via support ticket, proprietary format, or missing derived/computed fields |
| Integration | Standard webhooks/API that other tools can consume without custom code | Deep custom integration code specific to this vendor's non-standard API shape |
| Workflow | Core workflows could be rebuilt in a comparable tool within weeks | Years of team process built around vendor-specific features with no equivalent elsewhere |
| Contractual | Month-to-month or short-term contract, clear exit terms | Multi-year commitment, steep early-termination penalties, auto-renewal clauses |
The CDP and the data warehouse are where lock-in risk concentrates hardest
Running the assessment before signing, not after
Lock-in risk is cheapest to address during vendor selection, before any data or workflow dependency has accumulated, and gets progressively more expensive to address the longer the relationship runs. A practical pre-signing checklist: request a sample full data export during the sales/trial process and actually verify it's usable, not just promised; ask explicitly what happens to historical data and computed fields (scores, segments) upon cancellation; read the contract's termination and renewal clauses before signing, not when trying to leave; and map which other systems would need re-integration work if this vendor were replaced.
interface VendorRiskAssessment {
vendor: string;
dataExportQuality: 1 | 2 | 3; // 1 = full raw export, 3 = degraded/partial only
integrationDepth: 1 | 2 | 3; // 1 = standard API, 3 = deep custom integration
workflowDependency: 1 | 2 | 3; // 1 = easily rebuilt, 3 = years of embedded process
contractFlexibility: 1 | 2 | 3; // 1 = month-to-month, 3 = multi-year locked
}
function lockInRiskScore(a: VendorRiskAssessment): number {
return a.dataExportQuality + a.integrationDepth + a.workflowDependency + a.contractFlexibility;
// 4 = minimal lock-in risk, 12 = severe — flag anything 9+ for executive review
// before renewal or before deepening the integration further
}Managing lock-in you've already accumulated
For vendors already deeply embedded, the realistic goal shifts from avoidance to active risk management: periodically re-verify that data export actually works as promised (vendors change export capabilities over time without necessarily announcing it), maintain a standing estimate of switching cost and effort so a sudden price increase or service degradation decision isn't made blind, and where contractually possible, negotiate renewal terms that preserve optionality (shorter terms, explicit data portability clauses) even at a modest price premium over a longer locked-in commitment.
High lock-in isn't automatically a mistake — unpriced lock-in is
What's Next?
Lock-in risk is one of the main forces pushing organizations toward composable, modular martech architecture instead of monolithic all-in-one platforms — a broader architectural philosophy worth understanding on its own terms.
I build these systems professionally.
Whether it's a RAG pipeline, analytics migration, or AI workflow — let's talk.