IBRAVRA Media Network
Marketing • 12 min read

SaaS Pricing Tiers & Packaging Playbook

The price is not the package. The package is which seats count, what usage is included, what the overage costs, and what happens when the price rises — and every one of those choices is a number you can compute before you ship it.

By Enow A. Jovial • Published 2026-11-12

SaaS Pricing Tiers & Packaging Playbook

SaaS Pricing Tiers & Packaging Playbook

A 25-person team pays $250 a month for Linear Basic and $400 a month for Linear Business. The $150 gap is not a price — it is a package: unlimited teams, private teams and guests, and the intelligence features. This playbook is the mechanics of that gap: good-better-best tier design, seat versus usage metering, add-on and overage ladders, and the price-rise sequence with its grandfathering cost. The pricing-strategy decision — value-based versus cost-plus versus competitor-based — sits in the value-based-pricing-playbook.

A tier is a fence, not a label. Every feature above a fence must be worth more than the price of crossing it, and every meter needs a crossover point computed in advance — otherwise your best customers never upgrade or are punished for using the product.

Step 1: What packaging actually is

Packaging is the allocation of value across tiers, and three decisions make up almost all of it. First, the meter: what you count — seats, contacts, API calls, AI credits, storage, or a combination. Second, the fence: which features sit on which side of each tier boundary. Third, the ladder: what it costs to cross from one tier to the next, and what happens when a customer exceeds an included allowance.

The vendors here use three different meters. Slack, Linear, Figma, and Zoom meter seats: a license for one person. HubSpot meters contacts and sends: Marketing Hub Starter includes 1,000 marketing contacts, Professional 2,000, Enterprise 10,000, with send limits of 5 times the tier on Starter, 10 times on Professional, 20 times on Enterprise. Figma meters seat types too — Full, Dev, and Collab seats at three different prices. Notion meters members, then sells add-ons per domain and per 1,000 AI credits.

The fence is where packaging earns or loses money. A fence too low gives the product away: the free tier does the job and nobody upgrades. A fence too high starves adoption: nobody reaches the value that would justify paying. Each tier must solve a complete job for a specific buyer, and the next tier must solve the next job that buyer grows into. Linear's ladder does this: Free is unlimited members with 2 teams and 250 issues; Basic at $10, billed yearly, removes the issue cap; Business at $16 adds unlimited teams and the intelligence features.

Step 2: The 2026 vendor ladder, on the vendors' own pages

Every price in this table was read from the vendor's own pricing page on November 12, 2026. Where a page prints a billing basis, it is stated; where it does not, no basis is claimed.

Slack pricing grid, November 2026: Pro $7.25 per user a month billed annually ($8.75 monthly), Business+ $15 billed annually ($18 monthly), Enterprise+ $45 billed annually
Slack pricing grid, November 2026: Pro $7.25 per user a month billed annually ($8.75 monthly), Business+ $15 billed annually ($18 monthly), Enterprise+ $45 billed annually
VendorFree tierPaid tiers (per user/month unless stated)Authority
Slack$0Pro $7.25/yr-billed, $8.75/mo-billed; Business+ $15/$18; Enterprise+ $45/yr-billedslack.com/pricing
Notion$0/memberPlus $10/member, Business $20/member (yearly); Enterprise contact salesnotion.com/pricing
Linear$0, unlimited members, 2 teams, 250 issuesBasic $10/yr-billed; Business $16/yr-billed; Enterprise custom, annual onlylinear.app/pricing
FigmaStarter, limited AI creditsProfessional: Full $16, Dev $12, Collab $3; Organization: Full $55, Dev $25, Collab $5; Enterprise: Full $90, Dev $35, Collab $5 (Org/Ent billed annually)figma.com/pricing
ZoomBasic, 40-min meetings, 100 participantsPro $16.99/mo, $14.16/mo ann.; Business $21.99/mo, $18.33/mo ann.; Enterprise customzoom.us/pricing
HubSpot Marketing HubFree CRM toolsStarter / Professional / Enterprise by contact tier; no dollar prices on the pricing pagehubspot.com/pricing/marketing

Three patterns stand out. The annual-billing discount is nearly identical everywhere: Slack Pro drops 17.1% from monthly to annual billing, Zoom Pro 16.7%, Zoom Business 16.6%. The spread is wide: Figma's Full seat runs $16 on Professional and $90 on Enterprise, a 5.6-times spread, the difference bought in administration, security, and support.

Step 3: Worked example — the seat ladder at 5, 25, and 100 seats

Take Linear's two paid tiers: Basic at $10 per user a month, Business at $16, both billed yearly.

Monthly cost=seats×price per seat\text{Monthly cost} = \text{seats} \times \text{price per seat}
Team sizeBasic $10/seatBusiness $16/seatUpgrade premium
5 seats$50/mo, $600/yr$80/mo, $960/yr$30/mo, $360/yr
25 seats$250/mo, $3,000/yr$400/mo, $4,800/yr$150/mo, $1,800/yr
100 seats$1,000/mo, $12,000/yr$1,600/mo, $19,200/yr$600/mo, $7,200/yr

The upgrade premium is $6 a seat a month, and it scales linearly with headcount. At 5 seats the buyer asks whether Business is worth $360 a year; at 100 seats the same question costs $7,200 a year.

Figma splits the seat itself. A 35-person team of 10 Full, 5 Dev, and 20 Collab seats costs, on Professional:

Figma seat prices, November 2026: Full $16, Dev $12, Collab $3
Figma seat prices, November 2026: Full $16, Dev $12, Collab $3
Professional mix=10×$16+5×$12+20×$3=$160+$60+$60=$280/month\text{Professional mix} = 10 \times \$16 + 5 \times \$12 + 20 \times \$3 = \$160 + \$60 + \$60 = \$280/\text{month}

The same mix on Organization, billed annually, is $10 \times \$55 + 5 \times \$25 + 20 \times \$5 = \$550 + \$125 + \$100 = \$775$ a month, or $9,300 a year against Professional's $3,360 — a gap of $495 a month, $5,940 a year. Charging all 35 the Full-seat rate would cost $35 \times \$16 = \$560$ a month, so the split saves $280 a month, $3,360 a year.

Price the tier gap per decision-maker, not per seat. If only 4 of your 100 seats use the Business-only features, the honest upgrade question is $7,200 a year for 4 people — $1,800 per actual user.

Step 4: Worked example — metering, overage, and the crossover point

Seat pricing is simple and leaves money on the table: the customer who uses the product ten times as much pays the same as the one who barely logs in. Usage-based pricing fixes that, and Stripe's Billing documentation names the three shapes it takes: fixed fee and overage, pay as you go, and credit burndown. Stripe defines the tiered variant as: "The unit cost changes with quantity (volume-based pricing) or usage (graduated pricing)." Metronome is now Stripe's primary usage-based platform.

Stripe usage-based models: fixed fee and overage, pay as you go, credit burndown
Stripe usage-based models: fixed fee and overage, pay as you go, credit burndown

The model to build before you ship a meter is the crossover: the usage level at which the customer should stop paying overage and move to the unlimited tier. Take a stated model — a base plan at $20 a seat that includes 1,000 units, overage at $0.05 a unit, and an unlimited tier at $55 a seat:

Metered cost=$20+$0.05×max⁡(0,units−1,000)\text{Metered cost} = \$20 + \$0.05 \times \max(0, \text{units} - 1{,}000)
Crossover: $20+$0.05×(u−1,000)=$55  ⇒  u=1,700 units\text{Crossover: } \$20 + \$0.05 \times (u - 1{,}000) = \$55 \;\Rightarrow\; u = 1{,}700 \text{ units}

At 1,200 units the metered plan costs $30 a seat against $55 unlimited — metered wins by $25 a seat. At 2,500 units it costs $95 a seat — unlimited wins by $40. For a 25-seat team at 2,500 units: $2,375 a month metered against $1,375 unlimited — a $1,000-a-month gap, $12,000 a year.

An overage with no cap and no alert is a churn event waiting for an invoice. Set the alert at 80% of the included allowance, hard-cap the overage or require an explicit opt-in to exceed it, and never let a customer's first big month arrive as a surprise bill.

Step 5: Add-ons and annual billing

Add-ons are the third ladder: features sold beside the tier instead of inside it. Notion's Sites add-on is a clean example — a custom domain costs $8 a month per domain paid annually, or $10 a month paid monthly. Five domains cost $480 a year on annual billing against $600 monthly, a $120-a-year saving.

Annual billing is the vendor's cheapest discount to give and the customer's easiest saving to take. Slack Pro at 25 seats costs $2,175 a year on annual billing against $2,625 monthly — a $450-a-year saving, 17.1%. At 100 seats the saving is $1,800 a year. Zoom Pro at 50 users saves $2.83 a user a month, $1,698 a year; Zoom Business saves $3.66 a user a month, $2,196 a year at 50 users.

Step 6: Grandfathering and the price-change sequence

Sooner or later the price must rise, and the question is never whether to raise it — it is who pays the new price and when. Grandfathering is the answer most vendors reach for: existing customers keep the old price for a fixed period, new customers pay the new one. The cost of that kindness is exactly computable. Take a stated model: a vendor raises the price from $10 to $12 a seat with 500 seats on the books.

Forgone revenue=500 seats×$2.00×12 months=$12,000\text{Forgone revenue} = 500 \text{ seats} \times \$2.00 \times 12 \text{ months} = \$12{,}000

Twelve months of grandfathering costs $12,000; six months costs $6,000. The rise itself gains $12,000 a year if nobody leaves. If 10% of seats churn, 450 seats at $12 pay $64,800 a year against the old $60,000: a net gain of $4,800 a year despite losing 50 seats. The break-even is 83 seats: each lost seat costs $144 a year, and $12,000 divided by $144 is 83.3. Lose more than 83 of 500 seats — 16.7% — and the rise loses money.

The communication sequence is as mechanical as the math, and the order matters more than the wording:

  1. Freeze the grandfather terms in writing first: who keeps the old price, for how long, and what ends it — a date, not a vague promise.
  2. Announce 60 to 90 days before the change, to the billing contact and the admin, in separate messages.
  3. State the old price, the new price, the date, and the grandfather terms in the first three lines. Nothing before the numbers.
  4. Give every customer a one-click path to lock the annual rate at the old price before the change.
  5. On the change date, apply the new price only to new signups and to grandfathered accounts whose term has expired. Never back-bill a grandfathered account.
  6. Thirty days after the change, count the churned seats against the break-even number and report it. If churn is past break-even, extend the grandfather rather than defending the rise.

Notion's own billing rules show how the machinery underneath should behave: adding a member mid-month creates a prorated charge; removing a member opens the seat for reuse but gives no credit; downgrading takes effect at the end of the billing cycle; a failed payment is retried up to 8 times within the next month.

The decision

Packaging modelMeterBest forFailure modeAuthority
Flat per-seat tiersSeatsTeam tools, uniform usage: Slack, Linear, ZoomHeavy users subsidized by light usersSlack, Linear, Zoom pricing pages
Seat-type splitSeat typesDistinct user roles: Figma Full/Dev/CollabMisclassified seats; gaming the cheapest seatFigma pricing page
Usage-based with overageUnits, API calls, creditsVariable workloads; Stripe fixed fee + overage, pay-as-you-go, credit burndownSurprise overage invoices; no crossover computedStripe Billing docs
Contact-tierContacts and sendsMarketing platforms; HubSpot 5x/10x/20x send multiplesAudience growth punished; no downgrade until renewalHubSpot pricing page
Add-on ladderPer-domain, per-creditOne-feature buyers who will never cross a tier fenceAdd-on sprawl; a cheaper Enterprise assembled by partsNotion pricing page

Who should pick which

Pick flat per-seat tiers when usage is roughly uniform across the team and the sale is simple enough to close on a pricing page — Slack, Linear, and Zoom all do this, because a seat is the easiest meter to explain. Pick a seat-type split when the product has genuinely different users: Figma's Collab seat at $3 exists because a stakeholder who only comments should not pay the $16 Full-seat rate. Pick usage-based metering when usage varies tenfold between customers and the heavy user's cost to serve is real — but only after computing the crossover and setting the 80% alert.

Avoid usage-based pricing when the customer cannot predict or control their usage. And avoid grandfathering without an end date. The revenue a price rise touches is recognized over the subscription term, not at the invoice — the asc-606-revenue-recognition-saas-contracts playbook runs that timing, and the deferred-revenue-saas-balance-sheet-recognition-playbook shows where the cash sits while it waits.

The build operation, start to finish

  • [x] Pick the meter first — seats, usage, contacts, or seat types — and write down what the customer optimizes against.
  • [x] Draw three tiers where each tier solves a complete job for a specific buyer, and the next tier solves the job that buyer grows into.
  • [x] Compute the seat ladder at 5, 25, and 100 seats, and the upgrade premium at each size, before publishing any price.
  • [x] Compute the overage crossover and print it in the plan comparison — the usage level where unlimited beats metered.
  • [x] Set the usage alert at 80% of the included allowance, and cap the overage or require opt-in to exceed it.
  • [x] Price the add-on ladder separately from the tiers, and check that the add-ons cannot be assembled into a cheaper Enterprise.
  • [x] Quote the annual price in sales and the monthly price on the page.
  • [x] Before any price rise, compute the grandfather cost and the break-even churn, and announce 60 to 90 days ahead.
  • [x] Run the tier decision through the roi-calculator before moving customers between tiers: the upgrade revenue has to beat the churn it causes.

Founder & CEO Insight — Enow A. Jovial

"Every vendor in this playbook charges for the same thing — access — and they all count it differently, because the counting is the product. Slack counts people. HubSpot counts your audience. Figma counts what each person is allowed to touch. Stripe counts what the meter says. The founder who copies a competitor's price without copying the counting is selling a different product at a borrowed number. Count what your best customer values, fence it honestly, and do the crossover math before the first invoice."
— Enow A. Jovial, Founder & Chief Executive Officer
Never grandfather without an end date, and never raise a price without computing break-even churn first. In the worked model above, losing more than 83 of 500 seats turns a $2 rise into a revenue loss.