Revvly
Docs
Guide

Eight ways to price a meter.

Every Variable Component picks one pricing model. The model determines how Revvly turns usage into money on an invoice. Pick the simplest one that fits — you can publish a new version later if it stops fitting.

The shape of a component

A Variable Component attaches a pricing model to a Meter. Every component has the same envelope — a name, currency, proration, billing timing, limit period, status — and a model-specific block of numeric fields. The numeric block below is what differs between the eight models. You don’t need to create a Meter before creating a component: name the component and leave the meter unset, and Revvly provisions one automatically; binding to an existing Meter is still there as an advanced option when you want to share usage-tracking identity across components.

01Flat rate

A single per-unit price. The simplest model.

When to reach for it. Use when every unit costs the same and you want a price tag a customer can read in a sentence — “$5 per seat per month”.

Flat rate components multiply the metered quantity by a fixed unit price. They support an “included quantity” — say, the first 10 seats free, then $5 each — but every unit beyond the included quota is billed at the same flat rate. Combine with a limit period to reset the included quantity on each billing cycle.

Unit price
Money per unit, in the component currency
Included quantity
Optional — units bundled for free per period
Proration model
Full month / Daily / None
Seats — $5 each, 10 included
15 seats5 × $5 = $25
8 seats$0 (within included)
12 seats, mid-cycle2 × $5 × proration

02Volume tiered

Every unit takes the price of the tier the total falls in.

When to reach for it. Use to reward growth with a single rate the customer can quote. A customer at 1,001 units pays the higher-volume rate on all 1,001.

Volume tiered pricing applies one rate to the entire quantity, based on which tier the total falls into. It is the most generous model — crossing a tier boundary discounts the units below the boundary too. A free allowance and any included units are subtracted from the metered quantity first, and the resulting net billable quantity is what both gets billed and selects the tier — so a free allowance can pull a customer into a lower, cheaper bracket. That is intended: unpaid units never push a customer up a tier.

Tier prices
Array of breakpoints and per-unit prices
Currency
Tier ladder is per-currency
Proration model
Full month / Daily / None
API calls — volume tiered
Tier 1: 0–100k$0.001 / call
Tier 2: 100k–1M$0.0008 / call
Customer at 500k500,000 × $0.0008 = $400 (whole quantity at tier-2 rate)
Free allowance selects the tier
Tiers≤10 → $10, ≤50 → $8, ∞ → $6
Free allowance5
Customer uses 12billable = 12 − 5 = 7
7 falls in tier 17 × $10 = $70 (not the ≤50 $8 bracket)

03Graduated tiered

Each tier’s rate applies only to the slice of units inside that tier.

When to reach for it. Use for transparent “first N at X, next M at Y” pricing where you don’t want to retroactively re-rate units when a customer crosses a boundary.

Graduated tiered is the slice-by-slice analogue of volume tiered. A customer who crosses from tier 1 into tier 2 still pays the tier-1 rate on tier-1 units; only the overflow is charged at the tier-2 rate. Most SaaS metered pricing uses this model.

Tier prices
Same shape as volume tiered
Currency
Per-currency ladder
Proration model
Full month / Daily / None
API calls — graduated
Tier 1: 0–100k$0.001 / call
Tier 2: 100k+$0.0008 / call
Customer at 250k100k × $0.001 + 150k × $0.0008 = $220

04Stairstep

A single flat fee per band of usage.

When to reach for it. Use for packaged pricing where customers pay a flat sticker price for a usage range rather than a per-unit cost.

Stairstep pricing charges a fixed fee for being in a usage band — like “up to 10k events: $99, up to 100k: $499, up to 1M: $1,999”. The fee is the same for every customer in the band, regardless of where in the band they sit. As with volume tiered, a free allowance and any included units are subtracted from the metered quantity before the band is selected, so the band is chosen on the net billable quantity — a free allowance can drop a customer into a lower, cheaper band.

Step fees
Array of band upper bounds and flat fees
Currency
Per-currency ladder
Proration model
Usually Full month
Storage — stairstep
Up to 50 GB$29 / month flat
Up to 500 GB$99 / month flat
Customer at 12 GB$29 (no per-GB charge)
Free allowance selects the band
Bands≤10 → $100, ≤50 → $200, ∞ → $400
Free allowance5
Customer uses 12billable = 12 − 5 = 7
7 falls in band 1$100 flat (not the 11–50 $200 band)

05True overage

A baked-in allowance plus a per-unit charge above it.

When to reach for it. Use when the plan includes a usage allowance and you want a simple overage rate for anything above it — the most familiar shape for metered SaaS.

True overage components bake an allowance into the plan price and charge a flat rate for every unit above it. Different from flat rate because the allowance is conceptually part of the plan, not a discount; the overage line item is what shows up on the invoice. Two settings look similar but differ in origin: included units is a structural inclusion — the entitlement the customer gets from the plan or bundle the component is attached to, consumed by the overage math — while the cross-model free allowance is a standalone “first N free” grant configured directly on the component, independent of any plan and of promotions. In overage models they stack: the model consumes its included units, and the free allowance is an extra layer on top. They are not redundant.

Included units
Allowance bundled into the plan
Overage price
Per-unit price above the allowance
Limit period
When the allowance resets
Emails — true overage
Included50,000 / month
Overage$1 / 1,000
Customer sent 73,50024 × $1 = $24 overage line

06Committed overage

A committed quantity paid up front, overage at a separate rate.

When to reach for it. Use for annual commits — a customer agrees to N units for the year at one rate, and burns through them; anything above is charged at the committed-overage rate.

Committed overage splits price discovery into two numbers: a committed quantity (priced via tiers or flat) paid in advance, and an overage rate for anything beyond it. This is the typical shape for enterprise commitments and AWS-style reservations. Unused committed units are handled by the unused-unit behavior: Forfeit (the default) discards them at period end, while Rollover carries the unused base commitment forward into the next period as extra headroom — the next period’s overage threshold becomes the commitment plus the rolled-over units, while the customer still always pays the base commitment as the minimum. Rollover is single-period: carried units that go unused next period expire rather than compounding. (A monetary Credit for unused units is planned but not yet available.)

Committed quantity
Paid up front
Overage price (committed)
Per-unit rate above the commit
Unused units
Forfeit (default) / Rollover
Limit period
Usually annual or per renewal
API calls — committed overage
Commit10M calls @ $0.0005 (= $5,000)
Overage$0.0008 / call above 10M
Customer at 12M$5,000 + 2M × $0.0008 = $6,600
Rollover — unused commitment carries one period
Commit50 @ $10, overage $12
Period 1: use 3050 × $10 = $500 (minimum); 20 unused → roll over
Period 2 threshold50 + 20 = 70
Period 2: use 65$500 minimum, no overage; new rollover = 0 (20 expire)

07Commission

A percentage of customer revenue (or volume) processed.

When to reach for it. Use for marketplaces, payment platforms, or any business where you charge a take rate on GMV / transactions / processed value.

Commission components track GMV, transaction count, refunded amounts, and net GMV per period. The fee may be a percentage of GMV, a fixed fee per transaction, or both. Refunds reduce billable GMV by default; included thresholds (free transactions, free GMV) reduce it further.

Percentage rate
Take rate on net GMV
Fixed per-transaction fee
Flat add-on per transaction
Included GMV / transactions
Free-tier thresholds
Refund handling
How refunds affect billable GMV
Marketplace — 2.9% + 30¢
100 transactions @ $50 avg$5,000 GMV
$10 refundedNet $4,990
Commission$4,990 × 2.9% + 100 × $0.30 = $174.71

08Promotional

A time-bounded discount overlay on another published component.

When to reach for it. Use to ship a launch promo, seasonal discount, or migration incentive without rewriting the underlying component.

A Promotional component references another published component and overlays a discount — percentage off, fixed amount off, or both — for a defined window. It does not replace the base component; the base remains the source of truth for the underlying pricing model. When the promo expires, billing reverts automatically.

Base component
The component being discounted
Discount type
Percentage / Fixed amount
Window
Start / end timestamps
Status
Promotional components archive cleanly after expiry
Launch promo — 30% off seats
BaseSeats flat rate $5
Discount30% off, May 1 – Jun 30
Effective rate during promo$3.50

Next up