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.
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.
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.
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.
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.
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.)
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.
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.