Cloud cost allocation: methods, tags, shared costs and examples
Cloud cost allocation is the process of assigning every line of a cloud bill to the department, product, customer or service that caused it, so the invoice can be reported, budgeted and, if the organization chooses, charged back. It relies on three methods applied in order: direct allocation by account, project or tag; proportional allocation of shared costs by a measured driver; and fixed allocation by an agreed split. Whatever is left is reported as unallocated with its cause. A good allocation reconciles to the invoice and lets each owner trace their number.
Why allocation comes before everything else
Forecasts, budgets, chargeback and unit costs all inherit the allocation. A forecast per department is only as good as the split of last year’s bill into departments. A unit cost for a product is the product’s allocated cost divided by its volume. If the allocation is wrong or incomplete, every number downstream is wrong in the same way, which is why FinOps practitioners consistently rank allocation among the capabilities they prioritize most in the FinOps Foundation’s State of FinOps surveys, ahead of further optimization.
The cost of getting it wrong is visible at budget time. Flexera’s 2025 State of the Cloud report found organizations exceeding their public cloud budgets by 17% on average. Part of that gap is spend nobody forecast because nobody owned it: the unallocated remainder, the shared platform that grew, the commitment that went unused. Allocation is how those costs acquire an owner who can act.
The three methods, in order
The methods form a hierarchy. A cost is allocated by the first method that applies, and moves down the list only when the one above cannot place it.
- Direct allocation. The cost has one identifiable owner: it sits in an account, subscription, project or resource group mapped to that owner, or it carries a tag or label that names the owner. A virtual machine in the payments team’s account is the payments team’s cost. Direct allocation should cover the majority of the bill; the share it covers is the best single measure of how well the account structure and tagging are working.
- Proportional allocation. The cost is shared and there is a measured driver that says how much each tenant used: requested CPU and memory on a Kubernetes cluster, bytes scanned on a data warehouse, requests through an API gateway, or each consumer’s own direct spend for a support plan priced as a percentage of the bill. The driver must be measured for the same period as the cost, and it must be one the tenants recognize as fair.
- Fixed allocation. The cost is shared and there is no sensible driver, or the amount is too small to justify one: a security scanner licensed for the whole estate, a shared DNS zone, an organization-wide monitoring plan. The cost is split by percentages the recipients agreed to in advance, reviewed on a schedule, and never adjusted mid-period.
What none of the three can place is reported as unallocated, by cause: missing or invalid tag, unmapped container, or a provider-level charge such as a credit or a tax line. Reporting it honestly is what keeps the rest of the model credible; spreading it evenly across everyone is the fastest way to lose that credibility.
Worked example: one slice of a month across three clouds
The figures below are illustrative. They show how a $70,500 slice of a monthly bill lands on owners when the three methods are applied in order, and what the unallocated remainder looks like when it is reported rather than hidden.
| Line | Provider | Method | Owner | Amount |
|---|---|---|---|---|
| Compute in the payments account | AWS | Direct, by account | Payments | $32,000 |
| Managed SQL tagged cost-center 4410 | Azure | Direct, by tag | Customer portal | $9,500 |
| Shared Kubernetes cluster | Google Cloud | Proportional, by requested CPU and memory | Payments 40%, Data 35%, Portal 25% | $18,000 |
| Enterprise support plan | AWS | Proportional, by direct spend | All consumers, pro rata | $3,000 |
| Security scanning subscription | Azure | Fixed, agreed three-way split | Payments, Data, Portal | $2,500 |
| Unused savings plan commitment | AWS | Central | Platform budget (reported to procurement) | $1,200 |
| Untagged object storage buckets | AWS | Unallocated, missing tag | Owner to be found; 14 buckets | $4,300 |
Three things to notice. The largest line is placed by the account, not by a tag. The shared cluster is split by a driver the three tenants can see in their own dashboards. And the unallocated line names its cause and a count of resources to fix, which turns it from an embarrassment into a task.
Commitments, credits and refunds
Reserved capacity, savings plans and committed-use discounts are bought centrally and applied by the provider to whatever usage matches. Left alone, the discount lands on whichever account happened to match first, and nobody sees the saving. The allocation that holds up is to charge covered usage at the discounted rate to the consumer whose usage was covered, and to carry unused commitment centrally as the cost of the decision to commit, reported to procurement as its own line.
Credits, refunds and one-off adjustments arrive at the billing-account level. They are allocated proportionally to the consumers whose spend generated them where the provider says which usage they relate to, and otherwise held centrally and reported, never silently netted against the largest consumer.
Allocating on more than one dimension
Finance wants cost by cost center. Product wants cost by product. Sales wants cost by customer. These are different dimensions of the same spend, not competing allocations, and the model should carry all of them on every line. A line in the payments account, tagged product “checkout”, serving customer “Acme” through a shared cluster, has a cost center, a product and a customer at once.
The rule that prevents double counting is simple: each dimension allocates 100% of the bill independently. The cost-center view and the product view each sum to the invoice. What is not allowed is allocating a line to a cost center and then allocating part of it again to a product as if it were extra spend. Tooling that treats dimensions as columns on one ledger gets this right by construction; a spreadsheet per dimension does not.
Measuring allocation quality
- Allocated share: the percentage of the invoice placed by a direct, proportional or fixed rule, tracked every period. The template on this site suggests starting with a target of no more than five percent unallocated.
- Direct share: the percentage placed by direct allocation alone. A rising direct share means the account structure and tagging are improving; a rising proportional share means more of the estate is becoming shared.
- Tag and container coverage: the share of resources with a valid owner, by provider.
- Time to allocate: how many working days after the invoice the statements are out. Five is a good target.
- Disputes per statement, and how many were resolved from the drill-down without a rule change.
Common mistakes
- Tagging first, mapping later. Containers give the first dimension for free; tags are for the second.
- Spreading the unallocated remainder. Every team’s number becomes slightly wrong and nobody can say by how much.
- Choosing a precise driver over a fair one. A driver the tenants cannot see or influence produces disputes every month.
- Allocating commitments to whoever matched. The saving becomes invisible and the commitment decision is never evaluated.
- Changing rules mid-period. Rule changes apply from the next period, with both treatments shown once.
- Building it in a spreadsheet. It reconciles once, by hand, and then never again.
How Runcost does allocation
Runcost applies the three methods as ordered rules over one ledger built from the AWS, Azure and Google Cloud billing exports. Accounts, subscriptions, projects and tags map to cost centers, products and customers, shared services carry their drivers, and commitments are allocated to covered usage. Every dimension sums to the invoice, the unallocated remainder is reported by cause with the resources to fix, and any statement line drills to the resources and the rule that produced it.
Questions
What is cloud cost allocation?
Cloud cost allocation is the assignment of every line of a cloud bill to the department, product, customer or service that caused it, using direct ownership first, a measured usage driver for shared costs second, and an agreed fixed split third. Whatever cannot be placed is reported as unallocated with its cause, and the total reconciles to the invoice.
What are the three main types of cost allocation?
Direct allocation places a cost with the one owner that used it, identified by account, subscription, project or tag. Proportional allocation splits a shared cost by a measured driver such as CPU requests or bytes. Fixed allocation splits a shared cost by percentages agreed in advance. They apply in that order.
How do AWS cost allocation tags work?
Tags applied to AWS resources become cost allocation tags once activated in the Billing and Cost Management console. From activation onward they appear as columns in the Cost and Usage Report and can group costs by owner, product or environment. They are not retroactive, so accounts mapped to owners remain the reliable first dimension.
How should shared cloud costs be allocated?
By a measured driver the tenants can see and influence, such as requested CPU and memory for a cluster or bytes scanned for a data platform, with idle capacity carried by the platform; by an agreed fixed split where no driver exists; and never by spreading the unallocated remainder.
What is a good cloud cost allocation percentage?
High enough that the unallocated remainder is small, stable and explained by cause. A starting target of no more than five percent unallocated is common, with the direct-allocation share tracked separately because it shows whether the account structure and tagging are improving.
Sources
About the author
Faisal Saleem
Founder of Runcost, a multi-cloud cost management platform built so that finance can allocate, forecast and explain the cloud bill like any other financial document. Writes the guides here from the allocation and chargeback work behind the product.
Read next
- Cloud cost forecasting: methods, budgets and variance finance can use
- Multi-cloud cost management: one model for AWS, Azure and Google Cloud
- Chargeback vs showback: which cloud cost model to use, and when
- Cloud chargeback model template: policy, rules and statement layout
- IT cost transparency: what it means and how to get it for cloud