There is a maturity model for business capabilities that almost nobody draws, because the axes are uncomfortable.
On one axis: how much of your capability is dedicated to making the customer's next problem easier to solve.
On the other: how much is dedicated to making the customer's next charge larger.
Mature vendors converge toward the first. Immature ones convince themselves the second is a strategy. The difference between them is most of what people mean when they say "strategic fit."
LTV is not the integral of revenue per customer. It is the integral of trust per customer, multiplied by the option value of every future product line you might ship them.
That sounds soft. It isn't. If you imagine each transaction as either +δ trust or −δ trust, then every subsequent transaction probability becomes (1 ± δ)ⁿ. A vendor extracting an "extra" 4% via a non-obvious cost model — egress fees, unused-license invoices, hidden minimums — has not added 4% to revenue. They have multiplied every future transaction by 0.96. Over fifteen years and forty potential transactions, that compounds to ~20% of the original surface. Most of the relationship has been silently consumed by the part that felt clever in a quarterly review.
The cleverness is the tell. Whenever a vendor's costing model has to be explained — when the salesperson opens with "the way this works is" — you are watching a margin transferred from the customer's trust account to the vendor's revenue account, with the customer paying interest in surprise.
Earlier this evening, after Azure's free trial bottomed out on capacity restrictions, we minted a Google Cloud trial under studio@audreyinc.com, spun up an e2-standard-2 in us-east1-c, and pushed a 393 GB Google Takeout from the source identity to the OneDrive destination at 93 MiB/s. It worked. The transfer is running on the status board as you read this.
We will not use this VM tomorrow. Not because it didn't perform — it did — but because the moment the workload becomes recurring, GCP's egress pricing turns the relationship adversarial. $0.12 per GiB outbound is not a price. It is a fence. The fence exists to convert customers who'd otherwise stay into customers who'd otherwise leave.
This is the part of the maturity model GCP got wrong. Their unused-license invoicing — the cost-model decision that ended a fifteen-year relationship with this household — was not a mistake of execution. It was a mistake of taxonomy. They classified "find ways to charge the customer for capacity they aren't using" as revenue work, when in the compounding-LTV model it is unambiguously trust-destruction work. The accounting line moved up. The relationship moved down. By the time the trust account hit zero, fifteen years of optionality was gone, and the next forty transactions went to Cloudflare.
Cloudflare's pricing has been free egress on R2 since launch, a free tier on most products, Workers at near-zero cost per request, Pages at zero cost full-stop, and a consistent refusal to invoice for unused anything. This is not Cloudflare being generous. It is Cloudflare understanding that strategic fit amplifies when each transaction makes the next one likelier, and that the cheapest way to do that is to never bill for surface area the customer didn't actively consume.
The result, in our portfolio: every domain's nameservers point at Cloudflare. Every static site deploys to Pages. Every API of consequence runs on Workers. The DNS spine has been centralised on CF since 2021, and the few non-CF DNS line items still on the books are leftovers we haven't gotten around to deleting. That is what compounded LTV looks like: the customer doesn't decide to use you for the next thing — they default to it.
If your costing model requires a conversation, you have already lost the next ten transactions.
If your capability matures toward making the customer's next problem easier, the LTV integral grows faster than the AOV curve. If it matures toward making the customer's next invoice larger, the integral collapses no matter how good the product is.
Tonight, that 393 GB of Takeout is moving through GCP because GCP is the cheapest two-hour answer. Tomorrow, it will sit on OneDrive, then on R2, then on a Cloudflare-served URL. The compounding has already chosen the destination. GCP just rented the corridor.