Cost allocation
  • 05 Aug 2026
  • 5 Minutes to read
  • Dark
    Light
  • Download PDF

Cost allocation

  • Dark
    Light
  • Download PDF

Article summary

Overview

Cost allocation lets you split the cost of a shared parent resource across its child resources using a distribution strategy you define. Instead of attributing the full cost of a shared resource to a single owner, teams get accurate visibility into what each service or database actually costs.

Cost allocation is supported for two parent resource types:

  • App Service Plan — costs are distributed to the Web Apps and Function Apps running under the plan.
  • SQL Elastic Pool — costs are distributed to the SQL databases within the pool.

Business value

Cost allocation gives teams accurate, resource-level cost visibility instead of a single lump-sum charge on a shared resource. This supports fairer chargeback, more precise budget tracking, and better-informed rightsizing decisions for individual workloads sharing a plan or pool.

Prerequisites

You need an existing cost management group containing the App Service Plan or SQL Elastic Pool you want to allocate costs for.

Required permissions

Cost allocation can be configured only by users with sufficient permissions.

RoleAccess
Account OwnerCan configure
OwnerCan configure
ContributorCan configure
Custom role with group management permission enabledCan configure
All other rolesCannot access the feature

Group management permission.jpg

How it works

  • Cost allocation rules are configured per cost management group, and apply to a specific parent resource within that group.
  • Three distribution strategies are available: metric-based allocation, equal split, and percentage-based allocation.
  • Rules created on a parent group apply automatically to child groups that have no rules of their own. Once a child group has at least one rule configured, the parent group's rules no longer apply to it — the child group's own rules take full precedence.
  • You cannot add multiple rules for the same resource type within a single group.
  • Once saved, a rule takes effect within a few minutes, and allocated costs become visible in the Analysis view shortly after.

Steps

Use the following steps to open the cost allocation panel and add an allocation rule. Navigate to Cost Analyzer and select the cost management group you want to configure.

  1. Click the Context menu ( ⋮ ) next to the group name in the tree view.
  2. Select Cost allocation.

Cost allocation.png

The panel shows any existing rules for the group, along with an option to add a new one.

Rules created in a child group override the parent group's rules for that group.

Add an allocation rule

Adding a rule opens a three-step wizard that defines the resource, the distribution strategy, and its configuration.

  1. Click + Add allocation rule.

Add allocation rule.png

  1. Resource — Enter a rule name (required) and an optional description. Choose the resource type the rule applies to — App Service Plan or SQL Elastic Pool — and select the specific resource from the list. A single rule covers one resource type.

Resource selection.png

  1. Strategy — Choose how the parent resource's cost is distributed across its child resources. See Configuration below for details on each strategy.

  2. Configuration — Complete the configuration fields for the selected strategy, then click Add rule to save. The rule takes effect within a few minutes.

Configuration

StrategyDescriptionConfiguration required
Metric-based allocationDistributes costs proportionally based on a usage metric measured at the child resource level. Reflects actual usage and is the most precise option.Select the usage metric. Available metrics depend on resource type — for example, SQL Elastic Pool supports dtu_consumption_percent (DTU Percentage), cpu_percent (CPU Percentage), and storage_percent (Storage Percentage). A live example in the panel previews the resulting distribution based on current metric values.
Equal splitDivides the parent's cost equally across all child resources. For example, a pool with 4 databases costing $500/month assigns $125 to each database.None. The panel shows a preview of the equal distribution.
Percentage-basedLets you manually assign a fixed percentage to each child resource.Enter a percentage for each child resource in the table provided. The running total must reach exactly 100% before the rule can be saved.

Metric-based strategy.png

Equal-split.png

Percentage-based.png

Example scenario

A SQL Elastic Pool costing $500 per month hosts 4 databases used by different teams. The group owner adds a cost allocation rule using the Equal split strategy. Each database is assigned $125/month in the Analysis view, giving each team an accurate view of its own database cost instead of a single pooled charge.

Limitations

  • Only App Service Plan and SQL Elastic Pool are supported as parent resource types.
  • Only one allocation rule can exist per resource type within a group.
  • Percentage-based allocation requires the total across all child resources to equal exactly 100% before the rule can be saved.

Troubleshooting

  1. Cost allocation option is missing from the Context menu ( ⋮ )
    Cause: The signed-in user does not have Account Owner, Owner, Contributor, or a custom role with group management permission enabled.
    Fix: Ask an account owner or administrator to grant the required role or permission.

  2. Percentage-based rule won't save
    Cause: The percentages assigned across child resources do not add up to exactly 100%.
    Fix: Adjust the percentage values until the running total shown in the panel reaches exactly 100%.

  3. Cannot add a second rule for the same resource type
    Cause: A cost allocation rule already exists for that resource type within the group.
    Fix: Edit or delete the existing rule instead of creating a new one, or apply the new rule at a different group level.

  4. Child resource option is missing from the Expand by menu in Analysis
    Cause: No cost allocation rule has been configured for that parent resource, or the rule was saved only moments ago and has not yet taken effect.
    Fix: Confirm a rule exists for the resource and wait a few minutes for it to take effect before checking Analysis again.

  5. Group by filter resets unexpectedly in Analysis
    Cause: The selected time interval has no associated cost data for the parent resource.
    Fix: Choose a time interval in which the parent resource has recorded cost data, then reapply Group by.

FAQs

  1. Can I apply different allocation rules to different databases in the same pool?
    No. A single rule applies one distribution strategy across all child resources of a given parent resource within a group.

  2. What happens to a child group's costs if I remove its own allocation rule?
    The child group falls back to inheriting its parent group's allocation rule, if one exists.

  3. Which strategy is most accurate for reflecting actual usage?
    Metric-based allocation, since it distributes costs proportionally based on real usage metrics measured at the child resource level rather than an equal or manually assigned split.


Was this article helpful?