Usage-based pricing is the way to go
The Only Type of API Services I’ll Use recently hit the front-page of HackerNews. It’s an argument I wholeheartedly agree with and put in a very compelling way.
I particularly appreciate the argument against creating an adversarial relationship with the customer:
This model creates an adversarial relationship between you and the customer. You’re incentivized to charge the customer as much as possible, for as little service as possible, for as long as possible. Customers know this, and are often apprehensive about these types of deal negotiations, so they tend to only go through this process if absolutely necessary as it’s time-consuming, expensive, and generally understood to be a win-lose scenario (the service provider wins and the customer loses).
I’d say, however, that this argument holds not only for API but for a lot of other services as well. Startups in particular. Startups are addicted to predicatble, or rather, projectable, MRR for the benefit of their VCs and to the detriment of their users.
There are lots of services that have arbitrary monthly plans. They are volume based discounts but they require a commitment and have limits and that immediately creates adversity.
Email delivery platforms, such as SendGrid, have monthly plans that have sending limits. And while they technically that could count as an APIs there’s also MailChimp 🙄 One of the most arcane and adversarial pricing structures in the business.
A local scooter company had weekly and monthly passes that gave you a set number of hours. If you didn’t use them they’re gone. Adversarial. Lime, on the other hand, offered unlimited unlocks but you still had to pay for minutes: not adversarial. In fact, it encourages you to use it as often as possible.
The best example of what happens when you remove the adversity from a relationship is Uber. Uber removed the conflict from the relationship. They changed the drivers compensation to be proportional to utility rather than just total work. That made getting the ride done as quickly and efficiently as possible to be in the drivers interest.
This argument is less strong for services that have buckets but aren’t periodic. So, for instance, the SMS provider that I use charges for credits but they don’t expire. I think usage-based pre-paid pricing is good enough. In some cases it might even be better, because I can purchase 10k SMS credits for the cheapest rate and have them last me the entire year. In fact, I still maintain a couple of legacy Postmark accounts that have credits enabled.
Fixed monthly prices, on the other hand, should only be for services that require constant access. The differences in tiers can have different features or support levels but shouldn’t create arbitrary buckets. It’d be ludicrous if Shopify were to start charging by number of monthly orders or visitors.
For most other things, usage-based pricing is the way to go.
Or send me feedback. It will take less than 20 seconds.