Unallocated cloud cost is the part of the bill that no account, tag or rule assigns to an owner: a remainder that stays in the report as a line of its own and needs a named person responsible for shrinking it. Its size is the complement of allocation coverage. For the bill this matters because cost in the remainder is missing from every team report, budget per owner and unit cost, and nobody acts on a saving or explains an anomaly inside it. Spread quietly over everyone, it makes the reports complete but no longer right.

How it works

Cost allocation works in layers. The account structure assigns every line to its account, subscription or project; tags add the owner on the resource; allocation rules cover what tags miss; and a key splits the shared cost. Whatever falls through every layer is the unallocated remainder. The FinOps Foundation tracks this remainder in its Allocation capability (Understand Usage & Cost domain) with KPIs of its own: its size, as the effective cost of unallocated resources divided by total cloud cost in the period, and how long it takes on average until such cost is explained and assigned to an owner.

What the remainder is made of

ComponentExampleWhy nothing catches itWay out
Untagged usagea database without the team keythe tag is missing on the resourcetag it, and a rule for the past
Untaggable chargessupport, tax, feesthey belong to no resourcea rule, or a split as shared cost
Commitmentsthe unused part of a reservation or savings planit belongs to the buyer, not a workloada central budget or a split key
Late linescredits, refunds, restatementsthey arrive after the report or without a resourceallocate again after finalisation
Cluster remaindersidle and unassignable capacity in Kubernetesnodes are billed, not podsa rule for the cluster

The providers name these groups differently. Azure cost analysis, grouped by a tag, separates three cases: purchases, classic resources and others that cannot be tagged show as Tags not supported, services whose usage data carries no tags as Tags not available, and only the rest as Untagged. On Google Cloud, support costs belong to the Cloud Billing account rather than a project, so those lines and the tax on them carry empty project columns in the export. On AWS, such lines can be routed by a rule on the Charge type dimension, with values such as Tax, Fee, Recurring reservation fee or Savings Plan Recurring Fee. Azure shows the unused part of reservations and savings plans only in the amortized view, as a line of its own.

Kubernetes tools each keep their own buckets. The AKS cost analysis add-on reports Unallocated charges (cost that could not be assigned to a namespace) and, separately, Idle charges for unused capacity. GKE puts capacity requested neither by workloads nor by the system into the kube:unallocated namespace. The OpenCost API returns idle as an allocation of its own, __idle__, when includeIdle is set. The same word therefore means different things: what GKE calls unallocated sits under idle on AKS. How these remainders arise inside a cluster is covered in Kubernetes cost allocation.

Where it shows in the data

ProviderNative view of the remainderWhere it sits in the data
AWScost category: lines no rule matches get the default value; without one, the details page shows them as Uncategorizedthe cost category column in the CUR, a dimension in Cost Explorer and AWS Budgets
Azurethe Untagged, Tags not available and Tags not supported groups in cost analysislines without the tag in the cost details
Google Cloudin the BigQuery export, rows without the label key carry an empty valuerows without the label key, and rows with empty project columns, in the BigQuery export

AWS applies a new or edited cost category from the first day of the current month and takes up to 24 hours to apply it. A default value with an unambiguous name turns the remainder into a visible line across the AWS tools.

What it means for your cost

In a cost report the remainder is a line beside the teams, and teams plus remainder add up to the invoice. Its share of total cost, month by month, is the companion figure to allocation coverage: when it rises, a source of cost without an owner has appeared; when it falls, someone has tagged resources or written a rule. Broken down by component, the report also shows who can act. Untagged usage is closed by the teams that create resources (tag coverage and untagged cost). Untaggable charges need a rule, commitments a decision about who bought them. Late lines settle only with restatement and the month's finalisation (freshness, restatements and finalisation).

Spreading the remainder by default, for example in proportion to each team's direct cost, makes the team totals add up. But every team then carries cost it can neither see nor influence, and nobody has a reason left to close the gap. The FinOps Foundation's Allocation capability notes that many practices at an early stage handle shared cost by "informed ignore": they leave such items in a central budget on purpose and charge none of them to cost centres. The same logic applies to the remainder. Where spreading is the agreed policy, it is a shared cost rule with its own dated key, and the report still shows the remainder before the split.

The remainder needs a named owner who presents it in the monthly review (monthly cloud cost review), passes individual lines on to teams and follows the trend. Which role that is follows from the operating model (FinOps roles and responsibilities). Enforcing mandatory metadata at provisioning belongs to governance; it prevents new gaps but does not clear the existing remainder.

Where it goes wrong

  • The remainder is spread silently. Symptom: team totals match the invoice exactly, yet every team's cost rises with no visible cause. Cause: an apportionment spreads the remainder, so nobody sees it grow.
  • One bucket for everything. Symptom: the unallocated line grows month after month and nobody feels responsible. Cause: untagged usage, untaggable charges, commitments and late lines sit together, although each has a different way out.
  • The default value points at a team. Symptom: an AWS cost category shows no remainder, but one team grows without changes of its own. Cause: the category's default value is a real team instead of an unambiguously named remainder.
  • Cluster remainders are missing from the report. Symptom: the namespaces add up to less than the cluster's cost on the invoice. Cause: AKS idle and unallocated charges or GKE's kube:unallocated are not carried as lines of their own.
  • The remainder changes after month end. Symptom: a closed month shows a different remainder the next time it is queried. Cause: credits, refunds and restatements arrive late, often without the original resource.

Sources

Read on 2026-10-16. FinOps Foundation Allocation capability (CC BY 4.0); AWS organizing costs using AWS Cost Categories and viewing cost categories; Microsoft group and filter options in Cost Analysis and Budgets and Azure Kubernetes Service (AKS) cost analysis; Google get key spending insights for your GKE resource allocation and cluster costs and structure of the Standard data export; OpenCost OpenCost Specification and API.