Fintech
Key points

Key points

  1. 1Usage-based pricing is a commercial decision about what to charge for, while usage-based billing is the machinery that turns events into correct invoices, and both must be designed together.
  2. 2The value metric should track what customers get out of the product, be easy for them to understand and be something they can control.
  3. 3A meter must count every billable event exactly once, which requires a stable event identifier for deduplication and an event timestamp so late events land in the right period.
  4. 4Usage pricing makes bills variable, so dashboards, alerts, spending caps and minimum commitments are part of the product, not extras.

Pricing and billing are two different jobs

Usage-based pricing charges customers according to what they consume. Stripe defines it as a billing approach where charges correspond directly to a customer's consumption, measured by a metric such as data volume, service hours or transactions.

Lago separates the two halves of the work clearly. Usage-based pricing is the commercial decision: which unit to charge for, what is included and how rates change with volume. Usage-based billing is the process that carries that decision out, and it needs unambiguous rules for counting, late events, credits and the invoice.

Teams usually spend weeks on the first half and days on the second. That is backwards. A clever pricing page is worthless if the invoice is wrong, and a wrong usage invoice is worse than a wrong flat invoice because the customer cannot easily check it. The guide below covers both halves in the order you should decide them.

Choosing the value metric

The value metric is the unit you charge for: API calls, messages sent, gigabytes stored, compute hours, transactions processed, active users. Stigg's guidance is that a good metric is one that aligns with customer value and that customers can understand and control.

Those three tests are worth applying one at a time:

TestQuestion to askExample that passesExample that fails
Aligned with valueWhen this number grows, is the customer getting more out of the product?Invoices processed by an accounting toolBackground sync jobs the customer never sees
UnderstandableCan the customer explain the unit to their finance team in one sentence?Messages sentInternal "compute units" with a hidden formula
ControllableCan the customer see and influence how much they use?Seats added by an adminRetries caused by your own outages

m3ter cites a survey finding that the hardest part of deploying usage-based pricing is finding the right metric, and gives an example of a backend service for mobile games priced on the number of players. The customer already tracks players as their own measure of success, so the spend feels like "good" spend and is easy to forecast.

Two practical warnings. First, the metric must be something you can measure reliably in your own systems. If you cannot count it exactly, you cannot bill for it. Second, the metric should track your costs closely enough that heavy users do not make you lose money. A metric that customers love but that decouples from your infrastructure bill will eventually force a painful repricing.

Pricing models and how they change the bill

Once you have a metric, you choose how the rate applies to it. Stripe lists the main types:

  • Per unit. A fixed rate for every unit consumed.
  • Tiered. The unit rate changes at thresholds.
  • Pay as you go. No commitment, billed in arrears for exact usage.
  • Prepayment. Customers buy a bucket of usage credits up front and draw it down.
  • Hybrid. A recurring base fee with included usage, plus overage beyond it.

Tiered pricing has two variants that produce different bills for identical usage, and mixing them up is one of the most common pricing mistakes. Lago defines the difference:

VariantHow the bill is calculatedWatch out for
Graduated tiersEach tier's rate applies only to the units inside that tierInvoice needs a tier-by-tier breakdown
Volume tiersTotal usage selects one rate, which applies to all chargeable unitsThe total bill can drop when a customer crosses a boundary

In Lago's worked example, the same customer usage produces clearly different bills depending on whether overage is graduated or volume priced. Lago's advice is to model the amount immediately below and above every boundary before publishing the plan. If a customer can lower their bill by using slightly more, someone will notice.

For most SaaS products, Stripe suggests that a hybrid model combining a recurring base fee with variable usage overages gives the best balance of steady revenue and growth with adoption. Pure pay as you go suits infrastructure and API products whose own costs scale directly with usage.

The metering pipeline from event to invoice

Every usage billing system has the same stages. Lago describes them in sequence: the product emits an event for every billable action, a meter deduplicates and aggregates events per customer, rating applies the price plan, and the system generates an invoice, collects payment and retries failures.

Product action
   -> usage event (id, customer, type, quantity, timestamp)
   -> meter: validate, deduplicate, aggregate per customer and period
   -> rating: apply plan, allowances, tiers, negotiated rates
   -> invoice: line items traceable to metric and events
   -> payment, dunning, revenue recognition

The event. Ordway notes that each event typically includes a customer identifier, timestamp, event type and relevant properties such as quantity, and that the schema you define determines what you can bill for later. A minimal event looks like this:

{
  "id": "req_8f3a2c71",
  "customer_id": "cus_1042",
  "type": "api_call",
  "quantity": 1,
  "properties": { "region": "eu", "endpoint": "/v1/search" },
  "timestamp": "2026-10-17T09:14:03Z"
}

The meter. Aggregation turns events into a billable number. Lago lists the common functions: count, sum, max, unique count, last value and weighted sum. Check which ones your billing platform supports before you publish a price. UsageBox points out that some meters support only a few aggregations, so a metric like peak concurrent users must be computed upstream and reported as a resolved number.

Rating. This applies the price plan to the aggregated quantity. Lago recommends that you keep price versions dated so last month's invoice can be reproduced after a change. Without dated prices, a pricing change silently rewrites history.

The invoice. Each line should trace back to its metric and its events. Ordway calls this a full audit trail from raw event to invoice line item, and it is what lets you resolve a dispute in minutes instead of days.

Counting each event exactly once

Analytics pipelines tolerate small losses and duplicates. Billing pipelines cannot. UsageBox describes the two symmetric failures: over-counting from at-least-once delivery, where retries and redeliveries land the same action twice, and under-counting from events that arrive after the billing cut-off.

Deduplication. Attach a stable, unique identifier to every billable event and have the meter discard any identifier it has already seen within a window. The key rule from UsageBox: generate the identifier at the source of the billable action, not at send time. If your HTTP client creates a fresh ID on each retry, deduplication never catches anything. Where a natural key exists, such as a request ID or job ID, derive the event ID from it.

The same source recommends at-least-once delivery with exactly-once processing. Let clients and queues retry freely and rely on the identifier to fold duplicates at the meter. It quotes OpenMeter's position that it is better to report a usage twice and filter out duplicates later than to underreport it.

Late events. Every event carries the time the action happened, and the meter bills on that time, not on arrival time. m3ter describes this as event-time processing, based on your event timestamps, not arrival time, with late events backfilled into the correct billing period. Then hold the invoice open for a short acceptance window after the period closes so stragglers are counted. For events that arrive after the invoice is final, write down one policy: roll them into the current period, or issue a correction. UsageBox's warning is that the real failure is not picking either, so whoever is on call improvises.

Protecting customers from bill shock

Variable bills create a new kind of customer risk. Stripe names it directly: without automated usage alerts, spending caps or clear dashboards, customers may experience unexpected charges that lead to support tickets and churn.

Build these protections into the product:

  1. A live usage dashboard. Show current-period usage and the projected bill, using the same numbers the invoice will use.
  2. Threshold alerts. Email and in-app notices at levels the customer sets, such as half and most of their expected spend.
  3. Spending caps. Let customers set a hard limit that stops or throttles usage. Some will choose interruption over surprise.
  4. Commitments or prepaid credits. Stripe notes that companies use minimum spend commitments or prepaid credit models to create a predictable floor for both sides.
  5. A readable invoice. Quantity, rate and amount on every line, with tiers broken out.

These features also protect you. A customer who can see their usage rising will raise a budget question in week two, not a dispute in week six.

A launch checklist

Before you put a usage price in front of customers, run through this list. Lago recommends testing duplicate or late events, a midcycle plan change and a depleted credit balance, because those reveal more than a clean demo invoice.

  • The value metric passes the value, understandable and controllable tests.
  • The event schema is documented, with required fields and a stable ID minted at the source.
  • The meter deduplicates on that ID and bills on event time.
  • An acceptance window and a written late-event policy exist.
  • Tier rules are modeled just below and just above every boundary.
  • Price versions are dated so any old invoice can be reproduced.
  • Every invoice line traces to a metric, a price version and the underlying events.
  • Customers have a dashboard, alerts and an optional cap.
  • Finance has agreed how usage, credits and invoices reconcile to the books, and revenue recognition has been reviewed with an accountant.
  • You have replayed a month of real or realistic events through the whole pipeline and checked the totals by hand.

Usage pricing rewards the teams that treat the meter as financial infrastructure. Get the counting right first, and the pricing experiments that follow become cheap and safe.

FAQ

FAQ

What is the difference between usage-based pricing and usage-based billing?

Pricing is the decision about which unit to charge for, what is included and how rates change with volume. Billing is the system that records events, aggregates them, applies the rates and produces invoices. A good price needs a billing system that can count it exactly and explain every line.

Should I use graduated or volume tiers?

Graduated tiers apply each rate only to the units inside that tier, which gives smooth, predictable bills. Volume tiers apply one rate, chosen by total usage, to all chargeable units, which is easy to explain but can make the bill fall when a customer crosses a boundary. Model both at every boundary before you choose.

How do I stop customers being double-charged for the same event?

Give each billable event a unique ID when the action happens and send that same ID on every retry. Have the meter discard any ID it has already processed within a deduplication window. This lets you retry delivery freely without charging twice.

What should happen to usage events that arrive late?

Bill each event by the time the action happened, and keep the period open for a short window after it closes so late events are counted. For events that arrive after the invoice is final, choose one written policy, either adding them to the current period or issuing a correction, and apply it every time.

Is usage-based pricing right for an early-stage SaaS?

It fits when your costs and your customers' value both grow with a measurable unit. Many early products start with a hybrid plan, a base fee with included usage plus overage, because it gives predictable revenue while still scaling with adoption. If you cannot meter the unit reliably yet, start with a flat plan and add usage later.

Sources

Sources

  1. https://stripe.com/resources/more/usage-based-pricing-101-what-it-is-and-strategies-to-implement-it
  2. https://getlago.com/blog/usage-based-billing
  3. https://www.stigg.io/blog-posts/usage-based-pricing
  4. https://www.m3ter.com/guides/usage-based-pricing
  5. https://ordwaylabs.com/blog/event-metering-for-usage-based-billing/
  6. https://usagebox.com/articles/idempotent-usage-metering-dedup-late-events
  7. https://www.m3ter.com/blog/data-ingestion-engineer-guide
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles