A rate card prices five things, not one

A Claude API rate card lists, for each model, an input price and an output price, and a caller can multiply those numbers by expected token use and call the result a cost estimate. That estimate prices five things as though they were one: the base rate for text the model has never seen, a much cheaper rate for text already processed once, a third rate for text merely held in memory in case it is reused, an output rate charged in full for text the caller never sees, and a queueing property unrelated to computation. A production deployment pays some blend of all five on every request, and the blend shifts by workload, time of day, and caller decisions that never appear as a separate line item.

The rate card also prices only what happens inside the token accounting. It says nothing about the fixed overhead a tool definition adds whether or not the tool is called, nothing about what a truncated response costs when the caller has to ask again, and nothing about the classifier deciding whether a response goes out at all. None of that is undisclosed — Anthropic documents essentially all of it, across a dozen separate pages — but none of it is on the rate card, which makes a cost estimate built only from headline numbers incomplete in a specific, recoverable way. This article works through what the rate card actually says, verified against Anthropic’s published documentation on 12 August 2026, and then through the parts of the bill a per-token price cannot show.

The rate card itself is not stable for the length of a fiscal quarter, which is reason enough to distrust any number quoted without a date attached. Anthropic’s pricing page states that Claude Sonnet 5’s pricing — 2 dollars per million input tokens, 10 dollars per million output tokens — announced at launch as introductory pricing running through 31 August 2026, is now the standard, permanent price: the previously scheduled increase to 3 and 15 dollars on 1 September 2026 will not occur [1]. That is a price change that was scheduled, publicly documented, and then cancelled, inside the same three-week window in which this article was written. Every number below should be read as dated, not as a constant.

ADVERTISEMENT

The current lineup, priced

As verified on 12 August 2026, Anthropic’s published rate card lists five actively supported model families [1]. All figures below are dollars per million tokens.

Model Input Output 5-min cache write 1-hour cache write Cache read
Claude Haiku 4.5 1 5 1.25 2 0.10
Claude Sonnet 5 2 10 2.50 4 0.20
Claude Opus 5 5 25 6.25 10 0.50
Claude Fable 5 10 50 12.50 20 1
Claude Mythos 5 (limited availability) 10 50 12.50 20 1

Two things about that table are more informative than the numbers themselves. First, the ratio of output price to input price is fixed at 5 to 1 across every tier, from Haiku 4.5 through Mythos 5 — a structural constant rather than a per-model tuning choice, worth noting because it was not always 5 to 1: Opus 4.1 and Opus 4, both now retired outside Bedrock and Google Cloud, priced input at 15 dollars against output at 75, the same ratio at three times the level [1]. Whatever governs the input-output ratio has held constant across a generation in which the absolute level fell by two-thirds.

Second, retirement is itself a pricing signal. Sonnet 4 and Sonnet 4.6 are still billed at 3 and 15 dollars, above Sonnet 5’s 2-and-10 rate, even though Sonnet 5 is the newer model on Anthropic’s own numbering — cheaper than at least one of the older tiers it will eventually replace, not more expensive [1].

A small routing chassis with three differently keyed connector risers, one plug caught lifted clear of one keyed position and not yet seated in the next
Figure 1. Which tier answers a request is a routing decision with its own price attached, made once per call rather than once per contract.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

Two multipliers apply on top of these base rates for reasons unrelated to the model doing more work. Requests pinned to keep processing inside the United States carry a 1.1x multiplier on every token category on Claude 4.6 and later models and on Foundry’s US Data Zone Standard deployments; regional and multi-region endpoints on Bedrock and Google Cloud carry a separate 10 percent premium over global routing [1]. A team pinning data residency for compliance is paying for a routing property, not extra computation, and should budget it as a fixed markup. The other premium is for speed: fast mode, in research preview for Opus 5 and Opus 4.8, doubles the standard rate, applies across the full context window, and stacks with caching and residency multipliers — but is unavailable on the Batch API entirely and unsupported on Opus 4.7 [1]. That incompatibility with batch processing is the clearest signal on the rate card that speed and cost sit at opposite ends of one knob rather than as independent properties of a model.

What a cache actually buys, and what it also buys in headroom

Prompt caching is priced with three multipliers relative to the base input rate, documented identically on Anthropic’s pricing and prompt-caching pages, verified 12 August 2026: a 5-minute cache write costs 1.25 times the base input price, a 1-hour write costs 2 times, and a cache read costs 0.1 times the base input price for the same duration as the write that created it [1, 2]. Applied to Opus 5’s 5-dollar base input rate, a 5-minute write costs 6.25 dollars per million tokens, a 1-hour write costs 10, and every read against either costs 50 cents. Because a read costs a tenth of an uncached token, Anthropic’s own arithmetic is that caching breaks even after a single read at the 5-minute duration and after two reads at the 1-hour duration [1].

ADVERTISEMENT

Caching has a floor and a clock, both documented rather than incidental. The minimum cacheable prompt length varies by model, from 512 tokens on Opus 5, Fable 5, and Mythos 5 up to 4,096 on Opus 4.6, Opus 4.5, and Haiku 4.5, with most other current models at 1,024 or 2,048 [2]; a prompt shorter than its model’s minimum is simply processed without caching, silently, with no error returned. The 5-minute cache’s clock starts at the beginning of the request that writes or reads it, not at completion, so a response that streams for 4 minutes leaves roughly 1 minute for a follow-up to land inside the window; the 1-hour cache, at twice the write price, buys a longer runway [2].

A small patch field of breakpoint jacks with one plug caught half seated, its collar not yet clicked home, beside a run of neighbouring jacks already fully seated
Figure 2. A cache breakpoint is a boundary set once and relied on; move it and everything after it has to be paid for again.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

The part of the caching story a rate card cannot show is what it does to capacity rather than price. Anthropic’s rate-limit documentation states that for most Claude models, only uncached input tokens count toward the input-tokens-per-minute limit; tokens read from cache do not, with Haiku 3.5 the one marked exception [3]. Anthropic’s own worked example makes the scale concrete: an organisation with a 2,000,000 input-tokens-per-minute limit running an 80 percent cache hit rate can process roughly 10,000,000 total input tokens per minute, because 8 of every 10 tokens never touch the metered ceiling [3]. Caching does not only make a workload cheaper, it makes the same rate limit cover a workload roughly five times larger at that hit rate, without a rate-limit-increase request ever being filed. A cost model that tracks only the discount and ignores the throughput effect is missing roughly half of what caching is worth to a capacity-constrained deployment.

What long context costs that a flat rate does not show

Pricing the full million-token window at a single flat rate is a pricing decision, not a claim that a long request is free to serve. Generating each output token requires reading the model’s weights and the accumulated key-value cache for the whole preceding sequence out of accelerator memory, so decoding is bound by memory bandwidth rather than arithmetic, and the memory a request holds grows with its context length for as long as it stays alive [12]. A request with a very long, resident context claims a correspondingly larger share of a fixed pool of device memory — exactly the resource that determines how many other requests can be batched onto the same accelerator at once [12]. PagedAttention, the memory-management technique behind the vLLM serving system, exists to reduce the waste this creates, and its authors report its throughput gains over prior systems are more pronounced with longer sequences, larger models, and more complex decoding — a measured statement that context length is where the memory pressure concentrates [13].

None of that appears as a separate price on Anthropic’s rate card: Claude 4.6 and later models bill the full 1,000,000-token window at a single flat rate, so a 900,000-token request costs the same per token as a 9,000-token one, and caching and batch discounts apply at that flat rate across the whole window [1]. What surfaces indirectly is the interaction with the rate-limit mechanism above — a long uncached prompt consumes input-tokens-per-minute headroom at full weight, while the identical prompt served from cache consumes none of it [3] — so a workload that grows its typical context length without a matching improvement in cache hit rate also consumes a correspondingly larger share of a rate limit that does not grow with it, which shows up as throttling long before it shows up as a larger invoice.

Batch processing, paying with time instead of money

The Message Batches API processes requests asynchronously, returns results within a window rather than over an open connection, and charges exactly half the standard rate on both input and output tokens, for every model on the lineup: Opus 5 drops to 2.50 and 12.50 dollars, Sonnet 5 to 1 and 5, Haiku 4.5 to 0.50 and 2.50, Fable 5 and Mythos 5 to 5 and 25 [1]. Nothing about the model or the answer changes; a caller sells back the guarantee of an immediate response for half the price, the cleanest instrument on the rate card for isolating what latency costs.

A cartridge autoloader with its robotic picker arm caught mid-motion lowering one brushed-steel cartridge into an open queue slot, the slots around it already filled
Figure 3. Batch processing trades an immediate answer for a scheduled one at half the price, and the loader's own queue is the limit on how much can be traded at once.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

Batch and cache discounts are documented as stacking, and the arithmetic is worth doing explicitly because Anthropic states only the multipliers, not the combined figure [1]. A cache read is 0.1x base input; a batch request is 0.5x standard. Multiplying the two puts a batched cache-read token for Opus 5 at roughly 5 percent of base input — about 25 cents per million tokens against a base of 5 dollars. For a non-interactive workload built on a stable, reused prefix, combining the two discounts is close to the cheapest way to move a token through the API that Anthropic publishes short of a negotiated enterprise rate.

ADVERTISEMENT

Batch capacity is rationed separately from the interactive Messages API, by a requests-per-minute limit shared across all models and a ceiling on how many individual batch requests can sit in the processing queue at once, from 1,000 requests per minute against a queue of 200,000 at the Start tier up to 4,000 against 500,000 at Scale [3]. A batch large enough to exceed the ceiling does not fail outright, but the discount is not unconditionally available at arbitrary scale without splitting the submission or negotiating a higher tier. Nor is the discount universal across every product at the same token rates: Claude Managed Agents sessions bill tokens at the rates above but explicitly do not receive the batch discount, since sessions are stateful and interactive, and instead carry their own meter, session runtime, billed at 8 cents per session-hour and measured only while the session’s status is running [1].

The tax that is not on the rate card

Every number so far has priced tokens the caller explicitly sent or received. A separate category of tokens is added automatically, invisible in the prompt a developer wrote, and billed at the same rate as everything else.

A fixed adapter collar being fitted onto a connector shell partway along a cable run, its threads only part-engaged, before the run continues on to a serving chassis
Figure 4. A tool definition adds a fixed charge to every request before the request's own content is counted at all.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

Defining any tool for a request adds a system prompt Anthropic inserts automatically to enable tool use, published per model and per tool-choice setting. For Opus 5, offering tools with tool choice set to automatic or none adds 286 tokens to every request; forcing a specific tool adds 406 instead — before the tool’s own name, description and schema are counted, and before a single token of its output is generated [1]. Individual tools add further fixed overhead: the text editor tool adds 700 input tokens, the bash tool adds 244 to 325 depending on model generation, and the computer-use beta adds several hundred more to the system prompt plus 735 per tool definition [1]. None of this is a defect — a model acting on a schema needs the schema described — but it is a fixed cost incurred once per request regardless of whether the tool is invoked, and a workload defining five tools per call and using one pays the fixed tax five times over for four tools that did nothing that turn.

Two server-side tools reward a specific kind of caution. Web fetch has no charge beyond the standard token cost of retrieved content, and Anthropic’s own sizing guidance states a 10-kilobyte web page runs to roughly 2,500 tokens and a 500-kilobyte research PDF to roughly 125,000 — hence the recommendation to cap content tokens explicitly rather than trust a URL returns a reasonable size [1]. Code execution is free alongside a web-search or web-fetch call in the same request; used alone it is billed by execution time with a 5-minute minimum and 5 cents per hour per container beyond a monthly free allowance — and if files are attached, execution time is billed even when the tool is never called, because the files preload onto the container regardless [1]. That last clause is the clearest example on the rate card of a cost triggered by what a request merely made available rather than by what it actually asked for.

None of these are large numbers in isolation. A few hundred tokens of tool overhead against a request carrying tens of thousands of tokens of document context is noise. The reason to track them is that they are fixed per request rather than scaling with content, so they dominate exactly the workload shape production systems increasingly run: a high-volume stream of short, tool-equipped, agentic turns, where the per-call tax is a larger share of the bill than the call’s own substance.

What a retried request actually costs

A rate card prices a completed request. It has nothing to say about a request sent twice, and production systems send requests twice far more often than a cost estimate built from expected usage assumes.

Two error codes point at causes that call for different responses, and conflating them wastes retries. A rate-limit error means the calling organisation hit one of its own configured limits and arrives with a header indicating how long to wait; an overload error means the API is under high traffic across all users, a capacity condition the organisation’s own backoff cannot fix on its own schedule [4, 3]. Anthropic’s SDKs retry both, along with connection and other server errors, twice by default with exponential backoff, honouring the retry-after header, with the retry count configurable [4]. A caller who layers a second, independent retry loop on top of that default is not adding resilience; a compounding stack of retries is the more likely outcome, adding latency and, on a genuinely overloaded system, load to the exact condition it is retrying around.

A cross-connect field where one jumper cord curves back from an out port to a return port on the same panel, its connector caught mid-seating in the return port
Figure 5. A retried request re-enters the same queue it just left, and the attempt that failed is not refunded when the second one succeeds.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

Two further mechanisms turn an ordinary retry into a billed one. First, the maximum-tokens parameter is a hard cap on the combined total of thinking and visible output; the model never generates past it, and if a response stops for that reason the tokens generated up to the cap are billed exactly as any other output tokens, because Anthropic states the billed count is the full, authoritative total regardless of truncation [5]. The documented remedies for a truncated response are to raise the cap or lower the effort level and try again [5] — either way, the tokens spent on the truncated attempt are not refunded when the caller reissues with different parameters, so a workload with a cap tuned too low pays for every truncated attempt in addition to the successful one that follows it.

Second, thinking tokens that survive into later turns are billed twice, by design. On models that preserve thinking blocks across a conversation, reasoning generated on one turn is billed once as output when produced, then again as input on every subsequent turn that carries the conversation forward [5]. That is the documented, structural cost of an agent maintaining reasoning continuity across a long conversation: cost grows with the reasoning it accumulates and keeps re-submitting, not only with what it newly performs each step.

Finally, a subtler failure mode than an explicit error: a client-side connection can be dropped by an intermediate network before a response arrives, and Anthropic’s guidance is to prefer streaming or the Batch API for requests running past roughly 10 minutes, because a dropped connection leaves the caller unable to tell whether the request failed server-side or merely stopped being reachable [4]. The Batch API sidesteps that ambiguity by design, polling for a result rather than holding a connection open — a second reason, beyond the discount, that long, non-interactive workloads belong on it.

What inspecting the output costs

Every request a paying customer sends to Claude passes through a safety-classification layer before a response is returned, and that layer’s computational cost is a real, documented, actively optimised line item that does not appear on the customer-facing rate card, because Anthropic absorbs it into what serving a token costs rather than itemising it.

A slim 1U inline inspection appliance wired in series between two chassis, its outbound cable caught mid-connection and not yet seated in the next chassis
Figure 6. A safety check that runs inline is a real cost inside the serving path, folded into the price of a token rather than billed as its own line.Image prompt and art direction by Brecht Corbeel; image generated to that direction.

The mechanism is Constitutional Classifiers: safeguards trained on synthetic data generated from a written constitution of natural-language rules describing permitted and restricted content, monitoring both what goes into the model and what comes out [8]. Anthropic’s original published account reported a 23.7 percent inference overhead for the classifier-guarded system relative to an unguarded model, alongside a 0.38 percentage-point absolute increase in refusals on harmless traffic — the classifier’s own false-positive cost — and a reduction in jailbreak success from 86 percent to 4.4 percent against the attacks tested [8]. That is a vendor-reported figure, not an independently audited one, and should be read as such; it is nonetheless the most specific public number available for what a production-grade jailbreak defence costs to run inline.

The overhead did not stay at 23.7 percent. Anthropic’s next-generation classifier system, described in research published 9 January 2026 and detailed in a companion paper with 29 listed authors submitted the day before [6, 7], restructures the check into a two-stage cascade: a lightweight linear probe reads activations the model has already computed, screening all traffic essentially for free, and escalates only a flagged exchange to a heavier probe-and-classifier ensemble. Applied to traffic at the scale of Claude Opus 4.0, Anthropic reports this brings the overhead down to roughly 1 percent — moving most inspection cost onto computation the model was already doing, and reaching for expensive inference only on the minority the cheap probe flags — while the refusal-rate cost fell to 0.05 percent on harmless traffic, an 87 percent drop [6]. Over 1,700 cumulative red-team hours across roughly 198,000 attempts found no universal jailbreak against the new system, against one high-risk vulnerability found in the earlier classifiers during a public bug-bounty program [6].

None of this appears as a line item because Anthropic is the one paying it: a safety-classifier overhead of even 1 percent, applied across all served traffic, is a cost the API price already reflects, the way a payment processor’s fraud-detection system is priced into its rate rather than itemised per transaction. This is analysis rather than a fact Anthropic states directly, but it follows from the documented mechanics: the overhead becomes visible to a customer only where the customer replicates an equivalent check themselves. A second classification call to screen an agent’s output before it reaches a downstream system is not absorbed by anyone — it is an additional request billed at ordinary rates, and a workload that adds its own moderation pass on top of what Anthropic already runs is paying for inspection twice: once inside the price already paid for the first response, and once again, explicitly, for the second.

Comparing honestly, without a ranking

Anthropic’s pricing does not exist in isolation, and a total-cost accounting needs to know what else is on the market — but a published price is not a capability score, and stacking rate cards to declare a winner is exactly the kind of cross-vendor ranking this article will not build. What follows is three rate cards, each dated, each attributed to its own publisher, with similarities and differences named rather than scored.

As verified 12 August 2026, OpenAI’s GPT-5.6 family prices three tiers: gpt-5.6-sol at 5 dollars input and 30 output per million tokens, cached input at 0.50; gpt-5.6-terra at 2 and 12, cached at 0.20; gpt-5.6-luna at 0.20 and 1.20, cached at 0.02, with a Batch API discount of exactly half standard on all three and a fast-processing tier at exactly double [9]. As verified the same day, Google’s Gemini API prices Gemini 3.1 Pro Preview at 2 dollars input and 12 output for prompts up to 200,000 tokens, rising to 4 and 18 above that, with context caching at 0.20 plus 4.50 per million tokens per hour of storage; Gemini 3.6 Flash prices at 1.50 and 7.50, caching at 0.15 plus 1.00 per hour; Google’s Batch API likewise discounts by half [10].

Two convergences are worth naming precisely because they were not designed by agreement between competitors. Divide each provider’s cached-input price by its standard input price and the ratio lands at exactly one tenth in every case checked here — for all three GPT-5.6 tiers, for Gemini 3.1 Pro Preview, and by explicit multiplier for every current Claude tier — and the batch discount is exactly 50 percent at all three companies, on every model checked [9, 10, 1]. Neither convergence proves a shared serving architecture or cost structure — none of the three publishes the internal cost model that would confirm that — but it establishes that the shape of the tariff has converged across independently operated infrastructure, even while the level of the underlying rate differs by more than an order of magnitude across tiers within a single vendor’s own lineup.

Where the vendors genuinely disagree is long-context pricing, a real design choice rather than a rounding difference. Claude 4.6 and later bill the full million-token window at a single flat rate, as above; Gemini instead steps up, with standard input pricing for 3.1 Pro Preview doubling once a prompt crosses 200,000 tokens [1, 10]. Nothing published lets an outsider determine whether Anthropic’s flat rate reflects a flatter marginal-cost curve, a decision to cross-subsidise long-context workloads, or a different judgement about what a rate card should communicate; that is analysis, not a confirmed fact.

A different capacity model exists alongside all three consumption-priced cards, worth naming because it changes what “the price” means. Microsoft’s provisioned throughput for Azure Foundry models sells a fixed amount of dedicated capacity, billed hourly regardless of tokens consumed, discounted for a reservation commitment — and Microsoft’s own documentation is explicit that a reservation does not guarantee capacity is available, only a discounted rate if capacity can be found [11]. Anthropic publishes no equivalent reserved-capacity product on its first-party API; every price above is consumption pricing, and a workload evaluated against only one of the two models is priced against an incomplete menu.

Two last cautions explain why the numbers above are a snapshot, not a trend, and not a common unit. Epoch AI’s analysis of inference price trends found the price to reach GPT-4-level performance on PhD-level science questions fell by a documented factor of 40 per year, cautioning that the fastest declines occurred in the most recent year examined and might not persist [14]; a decline that size overwhelmingly reflects newer, differently sized models reaching a fixed capability bar more cheaply, which is substitution, not a like-for-like cut. And it is not only prices that differ across vendors, it is what a token is: Claude 4.7 and later models use a newer tokenizer producing approximately 30 percent more tokens for the same text than Sonnet 4.6 and earlier, depending on content [1]. A per-token comparison across tokenizer generations, let alone across vendors’ own tokenizers, compares units before it compares prices.

A total-cost model, and what it exposes

Collect the pieces above into one expression and the gap between a rate card and an invoice becomes explicit. For a single request, let nn be new input tokens, ww cache-write tokens, rr cache-read tokens, yy visible output tokens, zz billed-but-invisible thinking tokens, and τ\tau the fixed tool and system-prompt tokens added regardless of content. Let pinp_{\mathrm{in}}, pcwp_{\mathrm{cw}}, pcrp_{\mathrm{cr}}, and poutp_{\mathrm{out}} be the published rates, and let a(0,1]a \in (0, 1] be the fraction of attempts an application accepts without needing to reissue the request, because it was neither truncated at the maximum-tokens cap nor lost to a timeout, an overload error, or a rate limit. Cost per accepted response is then

C=pin(n+τ)+pcww+pcrr+pout(y+z)a C = \frac{p_{\mathrm{in}}(n + \tau) + p_{\mathrm{cw}} w + p_{\mathrm{cr}} r + p_{\mathrm{out}}(y + z)}{a}

Every term in the numerator is priced directly by the rate card, and every one is documented above. The denominator is not on any rate card. It is the assumption a pure per-token estimate makes implicitly by omission: that acceptance equals one, that nothing is ever truncated, dropped, or retried. Nothing examined for this article suggests that assumption holds for a real production system, and the mechanisms above — an undersized token cap, a dropped connection on a long request, an overload window during a spike — are all documented ways acceptance falls below one in practice.

The following is arithmetic on a hypothetical workload, not a measurement of a real one, built from the published rates above. Take an agent step on Opus 5 with a 15,000-token cached policy document, 600 new input tokens, roughly 400 tokens of tool tax, 250 visible output tokens, and 900 thinking tokens. At full acceptance the total is near 4.1 cents per accepted step. Drop acceptance to 80 percent — one attempt in five truncated at an undersized cap and reissued — and the step costs roughly 5.2 cents, exactly a 25 percent increase, driven entirely by a parameter that never appears on the price list.

Predictions, with the observations that would falsify them

These are forecasts, clearly separated from the sourced analysis above. Horizon: 12 August 2028.

One. Cache-aware rate limiting, where cached tokens are excluded from a throughput ceiling rather than merely discounted in price, will spread to other major providers, because the throughput benefit is cheaper for a provider to grant than an equivalent rate-limit increase. Disconfirmed if, by the horizon date, at least one other major provider still counts cached tokens toward its primary throughput limit at the uncached rate.

Two. Published inline safety-classifier overhead will keep falling through architectural change — cheap first-stage screening escalating only a minority of traffic — rather than through running the existing design on faster hardware. Disconfirmed if a future disclosed figure is achieved primarily by citing new hardware.

Three. At least one major provider will begin billing a distinct line for agent-loop tool-definition overhead once it is large enough as a share of agentic traffic to itemise. Disconfirmed if, by the horizon date, none of the major providers separates tool-definition tokens from ordinary input tokens.

Four. Acceptance rate — the fraction of requests completed without a retry, truncation, or timeout — will become a metric vendors expose directly, because buyers now understand the total-cost gap it represents well enough that a vendor with a high acceptance rate has reason to publish it. Disconfirmed if, by the horizon date, none of the major API consoles surfaces such a metric distinct from raw error counts.

What to take away

A Claude rate card prices tokens honestly and, by the standard of the industry it competes in, discloses more of its own mechanics than most: multipliers for cache writes and reads, an explicit batch discount, a stated overhead for the tool-use system prompt, even a number for what its own safety classifier costs to run. None of that changes the basic shape of the problem. A price list describes what a token costs when everything goes as planned — accepted on the first attempt, sized correctly for the answer it required, using no more inspection than the model already runs by default. Production traffic does not behave that way, and the difference is not hidden so much as scattered across a dozen documents, each accurate and none of them, alone, an invoice. Building the invoice is the buyer’s job, not the vendor’s, and it starts by pricing the denominator — acceptance, not just consumption — rather than assuming it away.