Canonical AI Taxonomy [Beta]
Predefined Virtual Tags for LLM spend — what each tag normalizes, how values are determined, and which LLM sources are covered.
Overview
Every LLM provider — AWS Bedrock, Azure Foundry, OpenAI, Anthropic, and others — structures its billing data differently, uses its own model identifiers, and embeds model information in usage description strings rather than exposing it as a dedicated field. The same model accessed through two different cost centers can appear under completely different identifiers in raw billing data, making cross-cost-center analysis difficult without manual mapping.
To address this, Finout provides a set of predefined Virtual Tags that normalize this data into a consistent taxonomy. They parse model information from each cost center's billing data and surface it as filterable tags — so you can analyze LLM spend across all your cost centers.
These Virtual Tags are maintained and updated by Finout.
Where to find the tags:
To use these Virtual Tags, navigate to Global and select the Finout Virtual Tags tab. The tags are available automatically — no configuration required.

Supported Cost Centers
These Virtual Tags apply to the following CSPs and SaaS providers:
AWS
GCP
Azure
Anthropic
OpenAI
Cursor
LLM spend from cost centers not listed above will not be tagged.
Virtual Tag Definitions
Model Brand
Model BrandThe product brand under which a model is marketed, independent of the cost center through which it is accessed.
A single brand can appear across multiple cost centers. Claude, for example, is available through Anthropic, Bedrock, and Bedrock Marketplace — Model Brand normalizes all of these under Claude, so you can see total brand-level spend regardless of procurement path.
Example values: Claude · GPT · Gemini · Llama · Mistral · Cohere · Nova
Model Family
Model FamilyGroups model variants under a shared generational line, regardless of version date or minor iteration.
Where Model Name identifies the specific version, Model Family identifies the line it belongs to. This makes it useful for tracking spend trends across a model generation and understanding how spend shifts between generations over time.
Examples:
GPT-4o 2024-11-20
GPT-4o
Claude Haiku 4.5
Claude Haiku
Gemini 2.5 Pro
Gemini Pro
If a model doesn't include a distinct generational variant (e.g., GPT-5), then the Model Family will default to either the Model Name or the Model Brand.
Model Name
Model NameThe normalized model identifier — a consistent, human-readable name for the specific model version being used.
Why normalization is needed: Many cost centers do not expose model name as a standalone field. Instead, it appears embedded in usage description strings, SKU names, or resource identifiers, formatted according to each cost center's own conventions. A single model can appear as USE1-Llama3-8B-output-tokens in one cost center and Llama3-8B in another. Model Name parses each cost center's billing data and produces a consistent identifier across all cost centers.
What a canonical model name includes:
The model family name and variant (e.g.
GPT-4o,Claude Sonnet)A version date or iteration where the provider includes it (e.g.
GPT-4o 2024-11-20,Claude Haiku 4.5)Parameter count where it is part of the model's identity (e.g.
Llama 3.3 70B)
What it does not include:
Cost center specific prefixes or suffixes (e.g. region codes, token type labels, edition names)
Modality identifiers — text, image, and speech variants of the same model are not distinguished
Examples:
gpt 4o 1120 Inp regnl Tokens
GPT-4o 2024-11-20
USE1-Llama3-8B-output-tokens
Llama 3 8B
Claude Haiku 4.5 (Amazon Bedrock Edition)
Claude Haiku 4.5
Model Channel
Model ChannelIdentifies the billing path through which a model is accessed — the cost center or integration through which the spend is flowing.
A single model can be accessed through multiple cost centers, each with different pricing, contract terms, and billing structures. Model Channel makes this visible, so you can compare spend on the same model across procurement paths and understand where your LLM budget is actually going.
Example values: Bedrock · Bedrock Marketplace · Anthropic · OpenAI · AI Foundry · Vertex AI · Gemini API
Model Lifecycle
Model LifecycleIndicates the current operational status of a model based on provider documentation.
Lifecycle states:
Current
The most recently released model in a given family. Recommended for new and ongoing production workloads.
Legacy
A model that has been superseded by a newer version but has not yet been formally sunset by the provider. Still callable, still supported, but no longer the recommended option for new workloads.
Deprecated
The provider has issued a formal end-of-life or end-of-support announcement for the model. Still accessible until its EOL date, but at risk of pricing increases, feature lockouts (no new fine-tunes, no new Provisioned Throughput), until the eventual removal.
Unknown
All data from before December 31st, 2025
How status is determined: Finout monitors official provider documentation and deprecation notices to assign lifecycle status. Current reflects the most recently released model in a given family. Deprecated reflects a formal provider announcement of EOL or end-of-support. Legacy covers everything in between — models that have been superseded but have not yet been formally sunset.
Model Lifecycle is a point-in-time representation based on provider documentation at the time of last update.
For Example:
MegaBill grouped by Model Lifecycle, showing the split between Deprecated, Current, and Legacy model spend over time.

Worked example table:
A raw AWS Bedrock cost line — Claude Opus 4.7 (Amazon Bedrock Edition) — is automatically classified as:
Model Name
Claude Opus 4.7
Model Family
Claude Opus
Model Brand
Claude
Model Channel
Bedrock
Model Lifecycle
Legacy
Virtual Tag Use Cases
Identifying deprecated spend by cost center: Filter by Model Lifecycle = Deprecated, then group by Model Channel. This shows you not just how much you're spending on sunset models, but which procurement paths that spend is flowing through — so you know where to target migration effort.
Total LLM spend by brand, across all cost centers: Group by Model Brand. This gives you a cost center agnostic view of which AI brands are driving spend — useful for vendor consolidation decisions and negotiating volume agreements.
Tracking spend distribution across model families: Group by Model Family and view over a rolling period. This surfaces how spend is distributed across families within the same brand — for example, whether Claude spend is concentrated in Sonnet, split across Sonnet and Haiku, or still carrying Opus usage.
Catching cross-channel pricing arbitrage: Group by Model Name and by Model Channel. The same Claude Sonnet 4.5 model accessed via Bedrock, Anthropic, and Bedrock Marketplace will appear in three rows — letting you see whether you're paying different rates for the same model across procurement paths.
FAQ
Why is some of my LLM-related spend not tagged? Not all LLM-related charges are model invocation costs. Only model invocation charges are tagged — supporting charges such as AWS Bedrock Guardrails, AI agent runtime, and tool-use fees are not.
Can I see text, image, and speech costs separately? No. Modality is not separated — text, image, speech, and embedding usage of the same model are not distinguished by these Virtual Tags. All invocation types roll up under the same Model Name, Family, Brand, and Lifecycle values.
Why is spend from one of my cost centers not showing up? These Virtual Tags only apply to the cost centers listed in Supported Cost Centers. Any LLM spend flowing through a cost center not on that list will not be tagged.
Why doesn't a model's lifecycle status reflect a recent deprecation announcement? Lifecycle status is determined by official provider documentation. Lifecycle tags will be updated to reflect new provider deprecations within a time period of 2 weeks from the official announcement.
What if I disagree with how a model is classified? Lifecycle status is based on the provider's official documentation, not Finout's judgment. If you believe a model is misclassified, contact Finout support at [email protected] with the model name and the provider documentation URL
Can I customize or override these tags? No. Predefined Virtual Tags are maintained centrally by Finout and cannot be edited on a per-account basis. To classify spend by your own logic, create a custom Virtual Tag that derives from these predefined ones.
Why is some of my historical spend marked as "Unknown" under Model Lifecycle?
To maintain data integrity and taxonomy accuracy, all LLM spend data incurred prior to December 31st, 2025, is automatically classified with an Unknown lifecycle status.
Last updated
Was this helpful?