Back to ideas
Primer · moats

Switching costs

A switching cost is everything a customer must spend — money, time, risk, lost data, retraining — to move off an incumbent and onto a rival. It’s the lock-in that keeps customers who would otherwise leave, and it attaches to the product or platform, not to the underlying good. It’s the third of the three moat forces, distinct from network effects and scale economies.

Section 01

The mechanism

Switching costs don’t make a product better or cheaper — they make leaving expensive. A customer stays not because the incumbent is winning on merits today, but because the cost of moving exceeds the benefit. That gap is the moat, and it lets an incumbent raise price or coast on quality up to the size of the switching cost before churn kicks in.

They come in flavours: data and content trapped in a format; integrations and workflows wired around the tool; skills and habits learned; contractual or compliance friction; and the plain risk that the replacement won’t work. They stack.

Section 02

The canonical example: CUDA

NVIDIA’s durable moat isn’t only the silicon — it’s CUDA, the software ecosystem built on top of it over fifteen years. Years of libraries, kernels, tooling, and engineer muscle-memory are written against CUDA, so even a cheaper or faster competing chip faces an enormous porting cost. That lock-in is why older NVIDIA GPUs keep earning long after they lose the training edge: the deep CUDA ecosystem keeps the demand sticky. The chip is the good; the switching cost lives in the platform around it.

Section 03

What it is NOT

Being hard to leave is not the same as being more valuable as others join (network effects) or being cheaper at volume (scale economies). A product can be sticky with none of the network value and no cost advantage — pure inertia. Conflating the three is the most common error in moat analysis; keeping them separate is the point of these primers.

Section 04

Switching costs on the AI model layer: low — for now

At the model layer, switching costs are currently low. Developers and users move between Claude, GPT/Codex, and Gemini with little friction — often A/B-ing them in the same workflow — because the API surface is similar and prompts mostly port. There is no CUDA-grade lock-in on the weights themselves. That low friction is a core reason the model layer is commoditizing: nothing holds a customer when a rival ships a better or cheaper model next month.

Two contrasts sharpen it:

  • The compute layer goes the other way. A lab that invests years to run workloads fungibly across NVIDIA, TPU, and Trainium is deliberately destroying its own switching costs to its suppliers — weakening chip-vendor power. Same concept, used as a weapon against lock-in.
  • The lock-in is migrating to the surface. Where AI switching costs are appearing, it’s in the product wrapper — memory, agent scaffolding, fine-tunes, org workflows, and integrations — not the model. Which is the through-line: the moat is moving out of the weights and into the product.
Where this is used

One of three moat forces Peregrinations keeps distinct — alongside network effects and scale economies. Any argument about lock-in or how easily customers churn links here.