Photo by Darryl Low on Unsplash

Part 2: The most important CUR Dimension

Christopher Harris
Understanding the AWS CUR
4 min readMay 21, 2024

--

Hint … it’s not product/maxIopsBurstPerformance

My name is Christopher Harris, and I am a maintainer on the FinOps FOCUS project. I’ve built cost management products at Datadog and CloudHealth (Broadcom) over the past 8 years, and I’m excited to share some of what I’ve learned with you.

The AWS CUR consists of A LOT of data per month.

Don’t believe me, just try to open 1 CUR CSV file for a medium-sized AWS account in Excel … your computer will not like you.

The CUR can be categorized into a handful of measures and numerous dimensions.

Measures

Measures are quantitative fields used for calculations. Some CUR measures include lineItem/UnblendedCost and lineItem/UsageAmount.

This shouldn’t be a surprise … but happy to keep an open mind 😃.

The sum of lineItem/UnblendedCost matches your final invoice after a month is closed, although there are some circumstances where this might not be true.

Dimensions

Conversely, dimensions are qualitative fields used for describing a row. Some CUR dimension examples include lineItem/ProductCode and lineItem/UsageType.

What’s the most important CUR dimension?

Well, that’s harder to answer, but I’ll argue

lineItem/LineItemType

Here’s why.

lineItem/LineItemType

Sounding as repetitive as the “Department of Redundancy Department” and as boring as watching paint dry, its name vastly undersells how critical this column is for classifying charge types.

For each cost calculation, lineItem/LineItemType is the predominant dimension for calculating accrual, amortized, and blended costs.

While other dimensions do contain similar information like:

these columns are rollups and only partially cover similar values given within lineItem/LineItemType.

Exploring lineItem/LineItemType Values

AWS’ documentation states that there are 13 “possible types” and these are categorized and listed below:

General:
- Credit
- Fee (also part of Reserved Instances)
- Refund
- Tax
- Usage

Discounts:
- BundledDiscount
- Discount

Reserved Instances:
- RIFee
- DiscountedUsage

Savings Plans:
- SavingsPlanCoveredUsage
- SavingsPlanNegation
- SavingsPlanRecurringFee
- SavingsPlanUpfrontFee

More details about each value can be found within the AWS Data Exports User Guide.

But …

At least 5 additional, unlisted values exist, and they all relate to special discounts.

The following sections highlight “best-effort” definitions of each.

Enterprise Discount Program (EDP)

Also known as a Private Pricing Agreement (PPA), this program is available for customers who commit to certain spending levels over an agreed-upon period. Customers will see these discounts with a lineItem/LineItemType value of EdpDiscount within their CUR.

Additional information on EDP/PPA agreements can be found at: https://aws.amazon.com/pricing/enterprise/

Private Pricing

AWS Enterprise-Discount Program customers can also negotiate custom rates across various AWS SKUs. Customers will see these discounts with a lineItem/LineItemType value of PrivateRateDiscount within their CUR.

Distributor Program

According to CloudBlue, AWS-authorized solution providers “[resell] AWS products and solutions [and] are authorized to provide partner development expertise and value-added services, allowing partners to leverage their go-to-market support and offload billing and operations”.

Customers will see these discounts with a lineItem/LineItemType value of DistributorDiscount within their CUR.

Additional information on the AWS Distribution Program can be found at: https://aws.amazon.com/partners/programs/distribution-distributors/

Reserved Instance Volume Purchase Agreement (VPA)

A Volume Purchase Agreement (VPA) allows customers to save money on specific services like S3 and Networking as customers increase their usage. With a Reserved Instance (RI) VPA, AWS gives customers additional discounts on upfront fees and hourly rates for purchasing large quantities of EC2 Reserved Instances.

Customers will see these discounts with a lineItem/LineItemType value of RiVolumeDiscount within their CUR.

Additional information on AWS’ Reserved Instance Volume Discount can be found on EC2’s pricing page.

Solution Provider Program

According to CloudBlue, AWS-authorized solution providers “resell AWS Services to end customers as part of their unique offerings [and] have a direct contract with AWS.

Customers will see these discounts with a lineItem/LineItemType value of SppDiscount within their CUR.

Additional information on the AWS Distribution Program can be found at: https://aws.amazon.com/partners/programs/solution-provider/

All lineItem/LineItemType Values

Altogether, the eighteen lineItem/LineItemType values that, I’ve at least seen, are:

General:
- Credit
- Fee (also part of Reserved Instances)
- Refund
- Tax
- Usage

Discounts:
- BundledDiscount
- Discount
- EdpDiscount
- PrivateRateDiscount
- DistributorDiscount
- RiVolumeDiscount
- SppDiscount

Reserved Instances:
- RIFee
- DiscountedUsage

Savings Plans:
- SavingsPlanCoveredUsage
- SavingsPlanNegation
- SavingsPlanRecurringFee
- SavingsPlanUpfrontFee

If you have discovered additional lineItem/LineItemType values not mentioned above, please comment on this story!

Check out my other stories about Understanding the AWS CUR.

--

--

Christopher Harris
Understanding the AWS CUR

I am a maintainer on the FinOps FOCUS project and have built cost management products at Datadog and CloudHealth (Broadcom) over the past 8 years.