There are three SaaS pricing models that survive contact with customers: per-seat, usage-based, and flat-rate. Everything else — pay-what-you-want, lifetime deals, "credits", complex hybrids — eventually collapses into one of these three or fails. The question is not which is "best." It is which fits your buyer's mental model and how revenue scales with the value you deliver.
I have built pricing pages for 27 iOS apps and four B2B SaaS products. The pattern is consistent: pricing is the highest-leverage decision after product-market fit, and most founders pick the wrong model because they copy a competitor without understanding why that competitor picked it.
This post breaks down each model with real numbers, names the failure modes, and gives you a switching framework when your current model stops fitting.
Per-Seat Pricing
The dominant B2B model. Customer pays €X per user per month. Slack, Notion, Linear, Figma, GitHub, Salesforce — all per-seat at their core.
When per-seat works
Value scales with team size (collaboration tools, CRMs, project management). The buyer can count seats. Procurement understands the model because it matches how they think about headcount and budgets.
Per-seat also works when your enterprise sales motion requires named users for licensing compliance. Regulated industries — finance, healthcare, defense — often need auditable user counts anyway, making per-seat a natural operational fit rather than a friction point.
When per-seat breaks
Half the team logs in once a month. Customers feel they are paying for ghost seats. Slack ran into this in 2022 — large enterprises asked for "active user" pricing because they had 5,000 licenses and 800 weekly active users. The optics were terrible even when the math made sense.
Real example: €15/seat/month for a project management tool. 50-person company = €9,000/year. If 30 of those seats are dormant, the buyer feels they are paying €5,400 for nothing. Churn risk goes up at renewal because the renewal conversation becomes "we only need 20 seats, not 50."
The fix without abandoning per-seat
Slack added a feature where inactive seats get auto-downgraded after 14 days. Linear has guest seats at €0. Both shifted the model without abandoning per-seat — they made the seat count match perceived value. The conversation at renewal stopped being "you are paying for ghosts" and started being "your active team grew."
Engineering overhead is low. You need user management, seat counting, and enforcement of seat limits. Most auth systems (Auth0, Clerk, Supabase) handle this natively. Billing integration via Stripe Billing or Chargebee adds another 2-4 weeks. First implementation cost: €15,000-€35,000 at consulting rates.
Usage-Based Pricing
Customer pays per unit consumed: API calls, GB stored, transactions processed, AI tokens, minutes of video. Stripe, Twilio, OpenAI, AWS, Snowflake — all usage-based.
When usage-based works
The unit cost is measurable. Value scales with consumption. Buyers can predict their usage (or do not mind variable bills). Engineering buyers tolerate variable cost because they understand it. Procurement does not, which is why usage-based pricing typically pairs with enterprise commits — minimum monthly spend in exchange for a discounted rate.
Net revenue retention for leading usage-based companies routinely exceeds 120%. Existing customers expand revenue automatically as their usage grows, with no upsell motion required. This is the capital efficiency story: sales capacity goes to new logos, and the existing base expands on autopilot.
When usage-based breaks
The customer cannot predict the bill. A €40,000 surprise Stripe bill kills the relationship. Usage-based without spending caps creates renewal trauma — even if the bill is "fair," the surprise destroys trust.
Real example: €0.002 per AI API call. Customer expects 50,000 calls/month = €100. Their app goes viral. 5M calls/month = €10,000. They cannot pay, they churn, they tell everyone the pricing is "predatory." You did not change anything; their usage changed. But the perception is the same.
The fix
Usage tiers with included usage + overage rate + a soft cap that requires confirmation. OpenAI does this. AWS does it badly (which is why FinOps exists as an industry). The soft cap is the key — customers want to spend more when their business is growing, but they want to do it consciously, not via surprise.
Engineering overhead is significant. You need accurate metering, real-time aggregation, invoice generation, customer dashboards, and forecasting tools. Platforms like Metronome, Lago, or Amberflo cost €2,000-€8,000/month plus 4-10 weeks of engineering for a full integration. Custom metering from scratch is €80,000-€150,000+ and 3-6 months.
Flat-Rate Pricing
One price, unlimited usage (or a generously high cap). Basecamp famously charges €299/month flat. Many consumer subscription apps work this way. Some niche B2B tools (Tidy, Cron) too.
When flat-rate works
Buyers want predictability. The cost-to-serve does not scale linearly with usage. You can absorb power users with the margin from light users. The customer base is homogeneous enough that one price fits most buyers.
Flat-rate is easiest to sell — no usage anxiety, no bill shock. It is easiest to forecast revenue from. It is simplest to implement (no metering infrastructure). For early-stage companies, this matters: shipping pricing in two weeks vs three months is itself a competitive advantage.
When flat-rate breaks
A few customers consume 50% of your infrastructure cost. You cannot raise their price without breaking the model for everyone. Your gross margin on the heaviest 5% of accounts goes negative, and you cannot fix it without restructuring.
Real example: €99/month "unlimited team workspace." Light teams use 2GB and cost you €5/month to serve. One team uploads 500GB of video. Your gross margin on that account is negative €200/month. Multiply by 50 such accounts and you have a structural problem.
The fix
Cap the flat tier, add a higher tier for heavy users. Or layer in a metered component for the resource that drives cost (storage, bandwidth, AI calls). Basecamp does not do this because their cost-to-serve really does stay flat. Most products are not that lucky.
The Three Models Compared
| Model | Best fit | Risk | Renewal pattern |
|---|---|---|---|
| Per-seat | Collaboration, CRM, internal tools | Dormant seats erode perceived value | Expansion via headcount growth |
| Usage-based | APIs, infrastructure, AI, data | Bill shock = churn | Expansion via consumption growth |
| Flat-rate | Consumer, predictable workloads | Power users destroy margin | No expansion path — pure retention |
Price Anchoring: the Three-Tier Trick
List three tiers. Position them so the middle one is the obvious choice. Concrete example for a B2B tool with a self-serve motion:
- Starter — €29/month: 5 users, basic features. Designed to look limited. The point is to make the next tier obvious.
- Growth — €99/month: 25 users, all features. This is what you want them to buy. 60-70% should land here.
- Scale — €399/month: unlimited users, SSO, priority support. Exists to make €99 look reasonable. 5-10% will pick it.
The mistake founders make: leading with the cheapest tier in marketing. Once €29 becomes the anchor, every other number feels expensive. Lead with €99. Show €29 as a downgrade option.
The middle tier should also have the most features per dollar. The starter exists to set a floor; the top tier exists to set a ceiling; the middle tier is where you actually compete on value. If your middle tier looks worse per dollar than your starter, customers will downgrade and you will lose 60% of your revenue.
Annual vs Monthly Discount Math
Standard discount: 20% off for annual. The math behind it:
- Monthly customer at €99/month, 8% monthly churn → expected LTV = €1,237 (12.5 months average lifetime).
- Annual customer at €99 × 12 × 0.8 = €950 upfront, 2% annual churn → expected LTV = €47,500 if retained at that rate over 5 years.
The 20% discount is not a discount. It is paying for retention. Annual contracts reduce churn by 5-8× because the customer commits, integrates, and does not see a billing line every month that triggers the "do we still need this?" conversation.
The other reason annual matters: cash flow. €950 upfront vs €99/month means you finance growth from customers instead of investors. For bootstrapped SaaS, this is the difference between hiring next quarter and not hiring.
When to NOT push annual
Early-stage product where churn is high and you need monthly feedback loops. If your monthly churn is 15%, the annual customers who lock in are exactly the ones who would have churned, and you have just committed to refunding angry customers for six months. Get monthly churn under 5% before pushing annual hard.
When to Switch Models
Pricing is not "set and forget." Watch for these signals:
- Per-seat → hybrid usage: when 30%+ of customers complain about dormant seats. Linear, Notion, and Slack all introduced usage-aware billing without abandoning per-seat. The seat stays, but inactive seats get credited or auto-downgraded.
- Usage → flat-rate enterprise tier: when 5+ customers ask for predictable annual commitment. Add a €50K-€100K flat tier with included usage + overage rate. The flat tier wins the procurement conversation; the overage rate protects your margin.
- Flat-rate → tiered: when power users destroy your unit economics. Cap the flat tier, add a higher tier for heavy users. Grandfather existing customers for 12 months.
What I Would Do With a New SaaS Today
Per-seat at €29/€99/€399 with annual default and 20% discount. Three tiers, middle anchored, free trial 14 days no credit card. Six months in, look at usage distribution. If power users are concentrated, add a usage component to the top tier. If everyone uses similar amounts, leave it alone.
Do not start with usage-based unless your buyer is a developer who already understands AWS-style billing. The cognitive load kills conversion. Usage-based is a model you graduate to once you have product-market fit and want net revenue retention to expand on autopilot.
Do not start with flat-rate unless your cost structure genuinely does not scale with usage. The temptation is "simplicity sells" — and it does — but if you cannot afford the power users, flat-rate is a slow-motion margin death.
The Three Words That Kill Pricing Pages
"Contact us for pricing." Never. If you have to hide the price, the buyer assumes it is too high and bounces. Even enterprise products should have a "starting at €X" anchor. The exception is true custom-quote enterprise (€100K+ deals where the scope varies wildly), and even then, publish the floor.
"Custom plans available." Fine, but secondary. The primary message is the three published tiers.
"Talk to sales." Acceptable on the enterprise tier, never on the starter or growth tier. If you require a sales call to buy at €99/month, your self-serve motion is dead.
The Pricing Page Itself
Three columns, middle highlighted, monthly/annual toggle defaulting to annual. Bullet list of features per tier — keep to 6-8 bullets max. A FAQ underneath addressing the top objections (security, cancellation, data ownership, support response time). A CTA per tier that does not require a sales call until you are forced to.
What does not belong on a pricing page: long marketing copy, customer logos at the top (they belong below the tiers), and feature comparison matrices with 40 rows. If the matrix is that complex, your tiers are wrong.
Pricing review for your SaaS
If you are debating between models or feel your current pricing leaves money on the table, I do 60-minute pricing audits. You leave with three tier proposals and a switching plan.
Book a discovery call