/Docs
/Usage-Based Pricing
Usage-Based Pricing
Usage-based pricing charges customers based on what they actually consume during a billing period.
When should I read this?
Read this if you want to implement metered billing, pay-as-you-go pricing, or consumption-based charges.
How it works
- Define a usage metric (API calls, storage, events, etc.)
- Track usage throughout the billing period
- Calculate charges at billing time
- Generate invoice with usage totals
Usage metrics
A usage metric defines what you're measuring:
| Field | Description |
|---|---|
| Name | What you're tracking (e.g., "API Requests") |
| Unit | How it's measured (e.g., "requests") |
| Aggregation | How usage is calculated (sum, max, last) |
Reporting usage
Usage is reported via:
- API — send usage events in real-time
- Batch upload — import usage at end of period
- Automatic metering — for integrated services
Pricing structures
Usage-based pricing can use different rate structures:
| Structure | Description |
|---|---|
| Per-unit | Fixed rate per unit (e.g., $0.01/request) |
| Tiered | Different rates for different usage levels |
| Volume | Single rate based on total usage |
Billing timing
Usage is typically finalized at period end:
Period starts → Usage accumulates → Period ends → Usage finalized → Invoice generated
Best practices
- Set usage alerts — notify customers before they hit cost thresholds
- Provide estimates — show projected costs during the period
- Include minimums — base fee ensures predictable revenue
Common patterns
| Pattern | Example |
|---|---|
| Pure usage | $0.001 per API call |
| Included usage | 10,000 calls free, then $0.001 |
| Committed usage | Pre-pay for 100K calls at discount |