Skip to main content
Billing & cost types

Cost and Usage Report (CUR)

The Cost and Usage Report (CUR) is AWS's most detailed billing dataset: every charge, down to the hour and the resource, with its usage, rates, discounts and commitment details, delivered as files to an S3 bucket you own. CUR 2.0, created through AWS Data Exports, has a fixed set of columns.

In plain English

Think of the difference between a restaurant bill and the kitchen's order log. The bill gives you totals; the log records every dish, who ordered it, when, and what discount applied. The CUR is AWS's order log.

Worked example

Worked example. One hour of Northwind Labs compute covered by its Savings Plan, as the CUR records it. Rates are illustrative.
SavingsPlanCoveredUsage line: line_item_unblended_cost$0.20
Same line: pricing_public_on_demand_cost$0.20
Same line: savings_plan_savings_plan_effective_cost$0.15
SavingsPlanNegation line: line_item_unblended_cost−$0.20
What the hour of usage cost, amortized$0.15

The covered usage line carries the on-demand price, and the negation line cancels it. Sum line_item_unblended_cost and the usage nets to zero, with the commitment showing up instead on the plan's hourly fee line; the effective-cost columns show what each hour of usage cost.

Why the Cost and Usage Report matters

Cost Explorer answers the questions AWS anticipated. The CUR answers yours: which resource, which tag, which hour, which commitment, which discount. Most AWS cost tools, CloudYali included, are built on it, and so are most in-house FinOps dashboards.

CUR 2.0 has a fixed set of columns, with tags, cost categories, product attributes and discounts collapsed into nested key-value columns. That keeps queries stable from month to month, which the legacy CUR, whose columns changed with your usage and tags, did not.

Common mistakes

  • Adding up cost without line item types. Usage, Savings Plan and Reserved Instance lines, negations, fees, credits, refunds and taxes all sit in the same file. Group by line_item_line_item_type before you sum, or the totals mean different things.
  • Treating the current month as final. AWS keeps updating the current month's data until the invoice is final. Reload whole months rather than appending rows, and expect late adjustments.
  • Querying tags as legacy columns. CUR 2.0 keeps tags in the nested resource_tags column. Queries written for the legacy resource_tags_user_* columns need rewriting, or you can ask Data Exports to return the nested keys as separate columns.
  • Leaving resource IDs out. Resource-level analysis needs the export's resource ID option turned on. Without it you can see what a service cost, but not which instance or bucket.

Where to find it in AWS, Azure and Google Cloud

Where to find Cost and Usage Report by cloud provider
AWSCost and Usage Report (CUR 2.0)Billing and Cost Management → Data Exports → create a CUR 2.0 export to an S3 bucket, as ZIP, GZIP or Parquet files. Data Exports also offers FOCUS 1.2 and 1.0 exports with AWS columns. Query with Athena, Redshift or QuickSight.
AzureCost Management exportsCost Management → Exports: scheduled exports of cost and usage details (actual or amortized) or a FOCUS dataset to a storage account.
Google CloudCloud Billing export to BigQueryBilling → Billing export: standard usage cost, detailed usage cost (with resource-level data), pricing, and a FOCUS export in preview, all into BigQuery. Depending on the dataset location, data from before you turn the export on may not be backfilled, so set it up early.

How CloudYali helps

When you connect AWS, CloudYali's CloudFormation stack creates a daily Cost and Usage Report with resource IDs in a private S3 bucket in your account, and CloudYali reads it from there, so you don't have to build the pipeline yourself.

  • Billing & cost types

    Unblended cost

    Unblended cost is AWS cost as billed: each line priced at the rate actually charged for it, on the day the charge occurs. Upfront commitment fees appear in full on the day you pay them and discounts can show as separate lines, which makes unblended cost the view that matches the invoice.

  • Billing & cost types

    Amortized cost

    Amortized cost spreads each commitment fee across the period it covers, so a one-year Reserved Instance or Savings Plan paid up front shows up as a share of the fee every day of the term instead of one large charge on the day you buy it.

  • Billing & cost types

    Blended cost

    Blended cost is AWS cost priced at a blended rate: the average of the Reserved Instance and on-demand rates that accounts in an AWS Organization paid for the same usage. It spreads the benefit of reservations evenly across accounts, so it rarely matches what any one account was actually charged.

  • Commitments & rates

    Savings Plan (SP)

    A Savings Plan is an AWS or Azure commitment to spend a fixed amount per hour on eligible compute for one or three years. Usage up to that amount is billed at lower rates, and the discount follows your usage across instance sizes and, with the most flexible plans, instance families and regions.

  • FinOps foundations

    FinOps Open Cost and Usage Specification (FOCUS)

    The FinOps Open Cost and Usage Specification (FOCUS) is an open standard for cloud, SaaS and other technology billing data: one set of column names and definitions, such as BilledCost and EffectiveCost, that every provider fills the same way. AWS, Azure and Google Cloud can all export cost data in FOCUS format.

  • Allocation & accountability

    Cost allocation tags

    Cost allocation tags are key-value labels, such as team=checkout, attached to cloud resources so their cost can be grouped by owner, product or environment. On AWS a tag key only reaches billing data after it is activated for cost allocation, and tag keys and values are case-sensitive.

Frequently asked questions

  • What is the difference between CUR and CUR 2.0?

    CUR 2.0 is the current version, created through AWS Data Exports. It has a fixed set of columns, nests tags, cost categories, product and discount details into key-value columns, and adds account names. The legacy CUR's columns change with your usage and tags.

  • Is the CUR the same as FOCUS?

    No. The CUR uses AWS's own columns. FOCUS is an open specification for billing data across clouds and vendors; AWS Data Exports can produce a FOCUS export alongside CUR 2.0.

  • Where does the CUR live?

    In an S3 bucket you own. AWS writes the files there; you query them with Athena, Redshift or QuickSight, or point a cost tool at the bucket.

Sources

Ready to optimize your cloud costs?

Start your free trial today and see how CloudYali can help you save.