VENDOR LOCK-IN: TRAPPING YOU IN CORPORATE ECOSYSTEMS
A vendor’s pricing power is not a function of how good its product is. It is a function of how expensive it is for you to leave. Those are different quantities, they are computable, and the vendor computes them more carefully than the customer does. Lock-in is therefore not an unfortunate consequence of deep integration. It is the asset that deep integration was built to produce, and it appears on the vendor’s side of the ledger as renewal certainty even though it never appears on yours as a liability.
The useful thing about this mechanism is that it is arithmetic rather than conspiracy. You do not need to believe anyone acted in bad faith. You need to divide.
The mechanism
Consider a customer paying an incumbent supplier an annual licence and support fee. A competitor offers the same capability at a lower price. The customer will switch only when the saving over its planning horizon exceeds the one-time cost of switching.
Write it out. Let S be the one-time switching cost, P the incumbent’s annual price, C the competitor’s annual price, and H the planning horizon in years.
- Cost of staying: H x P
- Cost of switching: S + (H x C)
The customer is indifferent when H x P = S + (H x C), which rearranges to:
P - C = S / H
The incumbent can charge a premium of exactly S/H per year over the best alternative and lose nobody. That is not a negotiating position. It is a ceiling the customer built and handed over.
The numbers
Take a model contract: 400,000 EUR per year in licence and support, and a switching cost of 1,200,000 EUR built as follows.
| Switching cost component | Basis | EUR |
|---|---|---|
| Data extraction and format conversion | quoted one-time | 260,000 |
| Parallel running, 6 months | half of 400,000/yr incumbent fee | 200,000 |
| Integration rebuild | 14 interfaces x 25,000 | 350,000 |
| Retraining | 180 users x 1,000 | 180,000 |
| Throughput loss during cutover | quoted one-time | 150,000 |
| Itemised subtotal | sum of the above | 1,140,000 |
| Contingency | 5.3% of subtotal | 60,000 |
| Total switching cost S | 1,200,000 |
Now apply P - C = S / H.
| Planning horizon H | Tolerable annual premium S/H | As share of the 400,000 base fee |
|---|---|---|
| 3 years | 1,200,000 / 3 = 400,000 | 100% |
| 5 years | 1,200,000 / 5 = 240,000 | 60% |
| 7 years | 1,200,000 / 7 = 171,429 | 42.9% |
| 10 years | 1,200,000 / 10 = 120,000 | 30% |
Read the first row. On a three-year horizon this customer can be charged double the market rate and switching still does not pay. That is the entire commercial content of the phrase “trusted long-term partner”.
Read the column instead of the rows and something less obvious appears: the shorter the customer’s planning horizon, the more it can be charged. Procurement functions are commonly evaluated on three-year total cost of ownership because three years is the length of the contract. The evaluation window is therefore set by the incumbent’s own renewal cycle, and it happens to be the window that maximises extractable premium. Nobody has to arrange this. It arranges itself.
Discounting makes it worse, not better. At a discount rate of 8%, the present-value annuity factor over five years is (1 - 1.08^-5) / 0.08 = 3.9927. Setting 3.9927 x X = 1,200,000 gives a tolerable premium of X = 300,547 EUR per year, against 240,000 undiscounted. Applying a cost of capital raises the price the incumbent can charge by 300,547 / 240,000 - 1 = 25.2%, because it shrinks the present value of savings that arrive in years three, four and five while leaving the switching cost payable today.
Where the regulation goes, and where the cost is
Data egress charges are the visible face of lock-in, and they are the part that attracts rules.
Model 40 TB of stored data at an egress charge of 0.09 EUR per GB. Decimal terabytes: 40,000 GB x 0.09 = 3,600 EUR. Against a total switching cost of 1,200,000 EUR, the egress bill is 3,600 / 1,200,000 = 0.3%.
Meanwhile the integration rebuild line, 350,000 EUR, is 350,000 / 1,200,000 = 29.2% of the same total, and is 350,000 / 3,600 = 97 times the egress bill.
So the component that is cheap to charge, easy to see, easy to legislate against, and effectively decorative is the one that gets addressed. The component that actually holds the customer in place is schema specificity, proprietary interface semantics, and the fourteen bespoke integrations that only make sense against one vendor’s object model. That component cannot be regulated by capping a per-gigabyte fee, because it is not a fee. It is a shape.
An abolished egress charge is a real improvement of 0.3%. It is also a press release.
The strongest counter-argument
The honest case for lock-in is that it is the price of depth, and depth is what the customer bought.
A generic, portable, standards-only system would cost more to implement, do less, and require the customer to rebuild in its own code the specificity that the integrated vendor supplies out of the box. The fourteen bespoke interfaces in the table above are not sabotage. They are fourteen places where the business got exactly what it wanted rather than something generic. Portability is not free; it is a feature with a price, and the customer that declined to pay it declined knowingly, or would have if anyone had shown them the sum.
There is a second real argument. High switching costs on the customer side create renewal certainty on the vendor side, and renewal certainty is what funds a ten-year product roadmap. Vendors in genuinely frictionless markets cannot make long bets, and their customers get shallower products. Some portion of the premium in the table is buying something.
Both arguments are sound. Neither is a reason to leave S uncomputed. They are reasons to compute it and then decide.
Consequence
Three practical things follow, and all of them are procurement moves rather than moral positions.
First, S is a number that should be produced before signature, not discovered at renewal. Any supplier that cannot state, in writing, what a documented exit would cost and how long it would take has told you the answer: more than it will say.
Second, the evaluation horizon should be set by the expected life of the capability, not the length of the contract. Moving the assessment from three years to ten cuts the tolerable premium in this model from 400,000 to 120,000 EUR per year, a reduction of 70%, without a single word of negotiation. The horizon is the negotiation.
Third, the contractual instrument that matters is an exit cost cap with a defined data format and a defined assistance obligation, priced at signature when the vendor is still competing. At renewal it is not competing. That is the whole point.
Lock-in is not a trap in the sense of a hidden mechanism. It is a trap in the older sense: a structure left in plain sight, in a place where the animal was always going to walk.