AWS Cost Categories FAQs

Map cost and usage information to your organizational structure


Using AWS Cost Categories, you can group your cost and usage information into meaningful categories based on your business needs. You can create custom categories and map your cost and usage information into these categories based on the rules you define using various dimensions, such as, account, tag, service, charge type, and other cost categories. Once Cost Categories are set up, you can use them across various products in the AWS Billing and Cost Management console. This includes AWS Cost Explorer, AWS Budgets, AWS Cost and Usage Reports (AWS CUR), and AWS Cost Anomaly Detection. A Cost Category comprises the following components:

Cost Category name – A unique perspective that is meaningful to your business (Example: Cost Center, Team, Application)
Cost Category value – The groupings within your Cost Category (Example: Alpha and Beta for “Team” Cost Category; FinOps, Engineering, and Marketing for “Cost Center” Cost Category)
Dimensions – The dimensions you can use to create your cost category rules (Example: accounts, tags, service, charge types, and other cost categories)
Cost Category rules – A Cost Category rule comprises one or more dimensions that are used to categorize your costs into a Cost Category value.

Learn more about Cost Categories from the product page, and the user guide. To learn more about programmatic capabilities, read the AWS Cost Explorer API documentation.

Cost Categories uses a rule-based engine to categorize your cost and usage information. When your bill is computed (which happens multiple times every day), your costs are categorized to the values within each of your Cost Category based on the rules that you define. For example, consider you have three Cost Categories – Teams, Departments, and Cost Centers; your costs will be categorized based on your rules for each of your Cost Category into its values. Your Cost Category name will appear as a new column in your AWS Cost and Usage Report (CUR), and each row of your billing line item will be assigned the appropriate Cost Category value. 

Your Cost Category name will also appear as a filter in Cost Management products such as AWS Cost Explorer, AWS Budgets, and AWS Cost Anomaly Detection, with the corresponding Cost Category values as filter options. In this example, you will see three new columns in your CUR (Teams, Departments, and Cost Centers) and corresponding filters on other Cost Management products.

You can create up to 50 Cost Categories. With the Rule builder, you can create up to 100 rules per Cost Category, and with the JSON editor, you can create up to 500 rules per Cost Category. For more details on service limits, refer to the user guide.

This service is provided free of charge.


Organizations have multiple perspectives on their business, such as projects, cost centers, applications, teams etc. A Cost Category is a unique perspective of your business that contains multiple groups of category values. For instance, if your business is organized by teams, you can create a cost category named Team. Then, you can map your costs to cost category values Team Alpha and Team Beta by selecting appropriate dimensions in the rule builder.
Cost Category values are mutually exclusive, but rules are not, so you can write multiple rules that map your costs to a particular Cost Categories value. For instance, one rule can map account ABC and account XYZ using Account dimension into Team Alpha, and another rule can use the Tag dimension to map tag key owner with tag value as Alpha-owners into Team Alpha. Both of these rules can be used to categorize your costs into Team Alpha.

Inherited Value provides you the flexibility of defining a rule that dynamically inherits the Cost Category value from the dimension value defined. For example, if you want to dynamically group costs based on the value of a specific tag key, you can first choose the inherited value rule type, then choose the Tag dimension and specify the tag key to use. For instance, you can use a tag key, Teams, to tag your resources with values as alphabeta, and gamma. Then, with an inherited value rule, you could select Tag as the dimension and specify teams as the tag key. This will dynamically generate alpha, beta, and gamma as Cost Category values.

Any costs that are not captured in your Cost Category rules remain uncategorized. These costs show up on your AWS Cost and Usage Report with an empty value, and on your Cost Explorer with a “No Cost Category” label. You can use Default Value to assign a contextually meaningful name to uncategorized costs. For example, for your Cost Categories Teams you can define the default value as other teams and reference it on all Cost Management products.

You have two ways to define your Cost Categories in your AWS Billing and Cost Management Console – the GUI based Rule builder or the JSON editor. The Rule builder supports static GUI based components and contains only the AND logical operator to add dimensions to your rules. Using the JSON editor, you can write more complex rules with nested conditions, and use additional logical operators such as NOT and OR besides AND. Refer to API documentation for the JSON format to use with JSON editor

Yes, you can create multilevel hierarchical relationships among your cost categories by using Cost Category as a dimension to select other categories when defining a Cost Category. For example, if your organization comprises multiple cost centers spanning across several departments, with each department itself containing multiple teams. You can easily set up TeamsDepartments, and Cost Centers as hierarchical Cost Categories to track your cost and usage at every level.

Every organization has a set of costs that are shared by multiple teams, business units, or financial owners, for instance, data transfer costs, enterprise support, or operational costs of a centralized infrastructure team. These costs are not directly attributable to a singular owner, and hence cannot be categorized into a singular cost category value. With Split Charge rules, you can equitably allocate these charges across your Cost Category values.

Defining Split Charge rules is an optional step when you create or edit your Cost Categories. A Split Charge rule consists of a source, one or more targets, and an allocation method.

  • Source: These are the group of shared costs that you want to split. Source can be any of your existing Cost Category values
  • Targets: These are the Cost Category values across which you want to split your shared costs defined by the source
  • Charge allocation method: This is how you want your source costs to be split across your targets. You can choose from three allocation methods: proportional, fixed, or even split. Proportional method allocates costs across your targets based on the proportional weighted cost of each target. Fixed method allows you to input a user-defined allocation percentage to compute the splits. Even split allocates costs evenly across all targets.

Split charge rules as well as the resultant cost allocations are only presented within Cost Categories and are not surfaced in other Cost Management products such as AWS Cost Explorer, AWS Budgets, and AWS Cost Anomaly Detection. You can view your cost allocations before and after split charges are applied on the Cost Categories details page and download a CSV report of your cost allocations.