Dimensional Pricing
Dimensional pricing lets you charge different rates for the same meter based on event attributes. Instead of a single per-unit rate, you define a rate card with rates for specific dimension combinations.When to Use Dimensional Pricing
Standard usage pricing applies one rate to all events. But real-world billing often needs more granularity:| Scenario | Without Dimensions | With Dimensions |
|---|---|---|
| AI API with regional pricing | $0.10/call everywhere | 0.12/call EU, $0.15/call APAC |
| Support calls by outcome | $5.00/call for all outcomes | 5.00 transferred, $8.00 escalated |
| Cloud compute by instance type | $0.50/hour for all VMs | 0.50/hour medium, $2.00/hour large |
| Data transfer by destination | $0.02/GB everywhere | 0.05/GB cross-region, $0.10/GB egress |
How It Works
- Meter with dimensions — Configure which event properties are dimension keys (e.g.,
region,call_type) - Rate card — Define rates for specific dimension combinations
- Event matching — When usage is calculated, Monk groups events by dimension values and applies the matching rate
- Invoice breakdown — Each dimension combination appears as a separate line item
Example: AI Call Center
Let’s build pricing for an AI-powered call center that charges differently based on:- Region: US, EU, APAC
- Call outcome:
resolved,transferred,escalated
The Rate Card
| Region | Outcome | Rate per Call |
|---|---|---|
| US | resolved | $2.00 |
| US | transferred | $4.00 |
| US | escalated | $6.00 |
| EU | resolved | $2.50 |
| EU | transferred | $5.00 |
| EU | escalated | $7.50 |
| APAC | resolved | $3.00 |
| APAC | transferred | $6.00 |
| APAC | escalated | $9.00 |
| — | — | $4.00 (fallback) |
Usage Events
Your application sends events with dimension properties:Invoice Result
For a customer with 100 US calls (60 resolved, 30 transferred, 10 escalated) and 50 EU calls (all resolved):| Line Item | Quantity | Rate | Amount |
|---|---|---|---|
| AI Calls - US / Resolved | 60 | $2.00 | $120.00 |
| AI Calls - US / Transferred | 30 | $4.00 | $120.00 |
| AI Calls - US / Escalated | 10 | $6.00 | $60.00 |
| AI Calls - EU / Resolved | 50 | $2.50 | $125.00 |
| Total | $425.00 |
Each dimension combination becomes its own invoice line item, giving customers
clear visibility into what they’re being charged for.
Key Concepts
Dimension Keys
Dimension keys are event property names that Monk uses to group and price usage. You configure these on the meter.Property names must match exactly — If your rate card specifies
region
but events send Region, they won’t match.Rate Cards
A rate card is a table of dimension combinations and their rates. Rate cards are attached to pricing configurations and can be:- Org-level defaults — Apply to all customers unless overridden
- Contract-specific — Custom rates for specific customers
Fallback Rates
When an event’s dimension values don’t match any rate card entry, Monk uses the fallback rate. This is the pricing’s baseunitAmount.
Rate Resolution
For each event, Monk finds the best-matching rate:- Exact match — All dimension values match a rate card entry
- Partial match — Some dimensions match (more specific matches win)
- Fallback — No matches found, use base unit price
Dimensional vs Tiered Pricing
| Feature | Dimensional Pricing | Tiered Pricing |
|---|---|---|
| Rate varies by | Event attributes (region, type, tier) | Usage volume (0-100, 101-1000, etc.) |
| Invoice line items | One per dimension combination | One line item with tiered calculation |
| Use case | Different costs/value by attribute | Volume discounts |
| Can combine? | Yes — dimensional pricing can have tiers | Yes — tiers can vary by dimension |
Design Considerations
Choose Dimensions Carefully
Good dimensions:- Directly impact your cost structure (region, compute size)
- Affect value delivered to customers (priority level, feature tier)
- Are consistently present in events
- High cardinality (user IDs, timestamps)
- Inconsistently populated properties
- Values that frequently change
Plan for New Dimension Values
When you add a new region or call type:- With fallback rate: New values are billed immediately at the fallback rate
- Update rate card: Add specific rates for new values as needed
Invoice Clarity
Dimensional pricing creates multiple line items. Consider:- Keep dimension names customer-friendly (
US Regionnotus-east-1) - Limit to 2-3 dimensions to avoid invoice complexity
- Use labels that explain what the customer is paying for
Common Patterns
Multiple Meters with Dimensions
Combine dimensional pricing across different meters for comprehensive billing:| Meter | Dimensions | Example Rates |
|---|---|---|
| AI Calls | region, outcome | $2-9/call depending on combo |
| AI Tokens | model, priority | $0.001-0.01/token by model |
| AI Training | region, compute_tier | $0.10-1.00/minute by resources |
Dimensions + Tiers
Combine dimensional and volume pricing for sophisticated billing models:Next Steps
How Usage-Based Billing Works
See how rate cards fit into the full billing flow
Set Up Dimensional Pricing
Step-by-step implementation guide
Enterprise Billing
Per-customer rate overrides
Meters
Configure meters with dimension keys
Pricing
Pricing models and configuration
Events API
Send events with dimension properties