Multi-Tier Credit Rates for Different Feature Classes
Aligning what features cost to run with what customers will pay for them.

Multi-tier credit rates let a company charge different amounts for different features based on what those features actually cost to run and what they're actually worth to the customer. That's the whole idea in one sentence. Getting there, though, takes a set of deliberate design choices about classification, ratios, and the billing plumbing that has to enforce all of it in real time, and most companies get at least one of those choices wrong on the first pass.
The trend line makes the stakes clear. Survey data circulating in the space shows usage-based pricing went from something roughly 30% of SaaS companies touched in 2019 to something close to 85% adopted in some form by 2024. Gartner has projected that by 2027, 70% of leading SaaS vendors will offer consumption-based pricing across at least part of their product line. AI workloads drive this shift. AI workloads consume resources in ways flat seat pricing was never built to capture: a single customer might trigger wildly different backend costs depending on which model they call, how long the context window runs, and whether the output is cached or generated fresh. Seat-based pricing assumes usage is roughly uniform across a customer base. AI usage is lumpy, nonlinear, and multi-dimensional. It's lumpy, nonlinear, and multi-dimensional, and inference costs as a share of revenue were running around 23% at scale and climbing, which turns pricing-to-cost alignment from a nice-to-have into a margin question that finance teams can't ignore.
What credits do as an abstraction layer before rates enter the picture
Credits get described casually as a kind of in-app currency, but that framing undersells what they're doing. A credit is a designed abstraction, a single internal unit built specifically to absorb a pile of unlike costs (API calls, GPU-seconds, tokens, agent actions) and present them to the customer as one number. It's a designed abstraction, a single internal unit built specifically to absorb a pile of unlike costs (API calls, GPU-seconds, tokens, agent actions) and present them to the customer as one number they can hold in their head.
That abstraction only works if four mechanics are nailed down before anyone talks about rates. First, how credits get granted: free allotments, prepaid purchases, promotional drops. Second, how they burn: a flat linear deduction per unit of use, a weighted deduction that varies by feature, or a tiered deduction, which is the mechanism this whole piece is about. Third, exhaustion can produce a hard stop that cuts the customer off, a soft limit that lets them keep going with a warning, an overage charge, or some grace period before either kicks in. Fourth, the lifecycle rules: whether unused credits expire at the end of a period, roll over, or trigger an automatic top-up.
Get those four right and the credit becomes genuinely useful: a customer never has to reason about raw infrastructure units, they just watch a balance go up and down. Clay runs this model by aggregating heterogeneous underlying costs into a credit wallet a user can actually reason about. Relevance AI takes a different structural approach and splits the meter in two: Actions on one side, Vendor Credits on the other, so platform usage and AI compute costs stay visibly separate rather than blending into a single number. Airtable prices additional AI credits at $6,000 tokens, with tokens as the underlying cost unit and credits as what the customer sees on their invoice. HubSpot charges $10 per 1,000 AI credits beyond a plan's included allotment, which keeps the credit denomination independent of the underlying model call: the pricing structure itself creates this separation. Same abstraction, different design choices about how much of the underlying mechanics to expose.
Classifying features into rate tiers before assigning any numbers
None of the rate math means anything if the underlying feature groupings are sloppy. Classification has to come first, and it has to happen along two separate axes, not one blended judgment call.
The first axis is cost: what does a given feature actually cost to serve? Input tokens versus output tokens, CPU cycles versus GPU cycles, a cached response versus a live inference call, a deterministic lookup versus a generative completion. These aren't interchangeable, and treating them as if they were is how margin quietly leaks out of a pricing model. The second axis is value: what outcome does the feature actually produce for the person paying for it? A commodity utility function is at one end, a genuinely differentiated capability is in the middle, and a business-critical outcome, the kind of thing a customer would pay a premium for regardless of what it costs to run, is at the other end.
Crossing those two axes makes the tiering logic fall out on its own. Features that are expensive to run and clearly valuable belong in a premium tier with a high credit burn rate. Features that are cheap to run and get used constantly belong in a standard tier with a low burn rate, where volume economics do the work of protecting margin even at a low per-unit price. Skipping this step turns the rate ratios that follow into guesses dressed up as pricing strategy.
Setting rate ratios: the relationship between tiers is the actual pricing decision
The number that matters most in a multi-tier system is the ratio between tiers. It's the ratio between tiers, whether premium features burn five times what standard features burn, or ten times, and that ratio is a deliberate design decision, not something cost accounting spits out automatically.
Three inputs should anchor it. The first is the actual infrastructure cost gap between feature classes, a GPU-minute against a CPU-minute, a large model call against a small one. The second is willingness to pay: does the customer genuinely perceive the premium feature as worth meaningfully more, or does it just feel like a marginally nicer version of the same thing? A ratio that outruns perceived value creates friction, not revenue. The third is competitive reference points, not to copy a rival's number outright, but to know what a buyer already expects to pay for something comparable, since that expectation shapes how a rate lands regardless of what it's built on.
The market already shows a range of approaches to this. Salesforce's Agentforce pricing moved to $2.10, a roughly 20x reduction in rate, though the shift in unit granularity that came with it changes what that number actually means for a given customer's bill. Atlassian runs two rate logics inside one product: 25 Rovo AI credits cover one class of usage, while its Virtual Service Agency function is priced separately at $0.30 per interaction. Zendesk has gone the other direction, pricing at $1.50 as a single outcome-based rate rather than splitting into tiers. GitHub Copilot doesn't differentiate rates between feature classes so much as scale the included allowance with plan tier: $10 a month buys $10 of included AI credits on the Pro plan, $19 per user buys $19 of credits on Business, $39 per user buys $39 of credits on Enterprise. It's a different lever (allowance size instead of burn rate) but it's solving the same underlying problem of matching price to expected consumption.
What all of these examples make clear is that the size of the gap between tiers has to be big enough to register. A ratio of 3x between standard and premium features tells a customer something real is different between the two. A ratio of 1.2x will be invisible, and if customers can't feel the difference, the tiering isn't shaping their behavior at all, it's just adding complexity to an invoice.
Hybrid credit designs: combining a base allowance with tiered overage rates
Pure credit-only pricing, with no subscription floor underneath it, is rare in practice. The dominant pattern heading into 2026 separates the question of access from the question of consumption: pay a base fee to get in the door, then pay in credits for what gets used past whatever's included. Hybrid models built this way reached 41% adoption by 2026, up from 27% just a year earlier, while pure per-seat pricing kept shrinking, falling from 21% to 15% of SaaS vendors over the same stretch.
A hybrid design has four pieces that all need explicit answers. The base fee sets what the subscription buys on its own, access, a seat count, a plan tier. The included allowance sets how many credits come bundled with that base fee, and whether those credits sit in one shared pool or get split across feature classes. The overage rate sets what an additional credit costs once the allowance runs out, and whether that rate stays flat or varies by which feature is consuming it. And the unused allowance rules settle whether leftover credits roll into the next period, expire at the billing cutoff, or only apply within the window they were issued in.
The sharpest fork in this design sits between a unified credit pool and segregated pools. A unified pool is easier for a customer to understand: one number, one balance, no mental math about which bucket a given action draws from. But it opens a real margin risk, because nothing stops a customer from burning through an allowance meant to cover cheap, high-volume features on a handful of expensive premium calls instead. Segregated pools close that gap and give a company much tighter control over margin, but they're harder to explain, and they create a specific kind of customer frustration: seeing credits sitting in a balance and still getting told that particular feature can't draw from them.
Billing infrastructure requirements for enforcing multi-tier credit rates in real time
Turning a tiered rate design into something that actually runs requires infrastructure built for the job. At minimum, the system has to identify which feature class a usage event belongs to, apply the right burn rate the moment that event happens, decrement the correct credit pool, and enforce whatever limit applies before the next request gets served.
There's a real architectural fork here between stream processing and batch processing. Stream processing takes events off a message broker as they happen, applies billing logic immediately, and writes the result into a billing state store with latency measured in fractions of a second, which is what makes live balance checks and real-time spend alerts possible. Batch processing instead piles up events and runs them on a schedule, hourly, daily, whatever the interval is. The billing state a customer sees is always some number of hours or days behind reality as a result.
For a multi-tier system, batch isn't a workable choice. A customer could burn through an entire premium-tier credit pool inside one batch window and have no idea until the next invoice lands, at which point the surprise has already happened and there's nothing left to do but dispute it.
These engineering requirements follow directly from that architectural choice, and they aren't optional. Every usage event needs enough metadata attached at the moment it's logged to route it to the right feature-class rate later, since classifying after the fact is both slower and more error-prone. Event logging has to be idempotent, because retries happen and the same event can arrive at the system more than once, so an event_id field has to serve as the deduplication key or customers end up double-charged for a single action. Billing period cutoffs have to key off when an event actually occurred, not when it arrived at the server, since network delay or a retry queue can otherwise push a charge across a billing boundary it never should have crossed. And whatever logic enforces a hard stop or triggers a soft warning has to read the current balance directly, not a cached number from five minutes ago, or the enforcement itself becomes unreliable exactly when it matters most.
Communicating rate tiers to customers so they don't generate bill shock and churn
None of this design work matters if the customer can't follow it. Cost forecasting has become the top AI deployment worry among CIOs, cited by 90% of them, and 78% of IT leaders report getting hit with unexpected charges tied to consumption-based or AI pricing models. Those two numbers describe the direct cost of pricing that's technically sound but poorly explained.
Multi-tier credit systems are harder to communicate than flat ones by nature, because understanding a balance isn't enough. A customer also has to understand which of their actions are burning through that balance faster than others, and that's a second layer of comprehension a flat-rate system never asks for.
Four things need to exist for a multi-tier system to be legible to the person paying for it. A published rate table, laying out which feature classes exist, what each one costs in credits, and how the underlying unit is defined, so nobody's guessing. A real-time balance display, ideally broken out by feature class if the pools are segregated, so the number on screen matches what's actually happening on the backend. Spend alerts that fire before a customer hits exhaustion in a high-burn feature, not after, since a warning that arrives with the bill isn't a warning. And usage history detailed enough that a customer can look back at a specific day, see why their balance dropped the way it did, and reconstruct the logic themselves rather than taking the invoice on faith.
Skipping any one of those four turns the tiering that was designed to align price with value into, from the customer's side, a system that looks built to obscure it instead.


