Context
Prelude is a phone and email verification API company. Almost all of its recurring revenue comes from a handful of large licensed accounts.
Project scope
Designing the pricing page, the subscription flows, and every plan change that comes after, across four products.
Target users
Developers and small teams already running on pay as you go, plus everyone landing on the pricing page for the first time.
Role
Product Designer & Product manager.
The backstory
I joined Prelude as a freelance product designer with two mandates: overhauling the design system, and redesigning billing and tiering. This is the second one.
Our design goal
Move the long tail of pay as you go accounts onto committed plans, and let them get there on their own without ever talking to sales.
Our main challenge
How do we price self-serve cheap enough that people subscribe on their own, without undercutting the deals our sales team is already negotiating?
Other bumps in the road
Pricing is volume based, and there is more than one thing to count. Verifications and messages have their own price and are sold separately.
Existing customers had to keep everything they already had, without making the new plans look like a downgrade.
Volume can be picked on the marketing site or inside the product, and both paths have to land in the same checkout.
First, who is actually in that long tail?

545 accounts on pay as you go
178 of them actually active. Real usage, real money, but none of it recurring.
88 € a month on average
And that average hides everything. Six accounts bring in more than the other 172 combined.
151 accounts under 50 € a month
For those, a subscription costs more than they currently spend. That group cannot be sold on savings. It has to be sold on features.
Anatomy of Volume based pricing
Unit pricing
Working closely with the CEO, CPO and head of sales we went through multiple versions of the unit price. We had to find something that would encourage customers to comit but make sure we would not undermine the sales effort with prices that are too low.
Gated features
Originally, all customers had the same features. We had to decide which features would become paid for the new tier.
Tiers
We initially had 4 tiers but went back to 3 for more clarity, less arbitrary feature gating and to make sales involved in the process earlier.
Volume Discounts
To nudge people towards a higher commitment we applied volume discounts. The rates stops dropping past a certain volume. At some point the enterprise plan becomes the cheaper one.
The flows

First signup flow as documented in figma.

Plan management

Upgrade from pay as you go

Downgrade plan

Upgrade patterns

Special thanks to claude code who helped me figure out these error stats with the stripe documentation and wrote very nice copy to go with it. I could not have done it without it 🫶
We have not shipped yet, so here is the model
7 560 € ARR
Our conservative case, assuming 10% of the active pay as you go base converts.
Up to 21 240 € ARR
At 30% conversion. That is between 4% and 11% more revenue from that segment.
Sales stops being the bottleneck
The accounts that were never worth a call can now buy on their own, which frees the team for the deals that are.
A door to the other products
Someone who subscribes to one product is far easier to sell the next one to. That is the part the ARR number does not capture.
Yet, we could still improve
We should have planned the A/B test variations earlier
We designed one version of each flow and will learn after launch. Thinking about the variations up front would have let us ship a test rather than a guess.
Pricing is still a lot to take in
Four products, two meters and a volume slider is a lot to put in front of someone who just wants to subscribe. We made it transparent. I am not yet sure we made it simple.