Analyze the effectiveness of your CUDs

This document explains how to use the CUD analysis report on the Google Cloud console to understand the effectiveness and financial impact of your committed use discounts (CUDs).

To view documentation for the previous versions of the CUD analysis report, see Analyze the effectiveness of your resource-based committed use discounts and Analyze the effectiveness of your spend-based commitments.

Overview

You can purchase a commitment to receive committed-use discounts (CUDs). When you purchase a commitment, you commit to a minimum amount of usage or spend on a service or product for a specified term. In return, you receive discounts on your usage. Google Cloud offers two types of CUDs:

  • Resource-based CUDs: You get a credit back to offset the on-demand price in exchange for your commitment to purchase a minimum level of Compute Engine resources belonging to a particular machine series and region. You can purchase resource-based commitments only for Compute Engine. Eligible resources include vCPUs, memory, GPUs, and local SSDs. For more information, see the Resource-based CUDs documentation
  • Spend-based CUDs: You get a discount in exchange for your commitment to spend a minimum amount for eligible services for a specified time duration. Spend-based CUDs are available for a number of Google Cloud services. For more information, see Spend-based CUDs.

You can use the CUD analysis report to answer questions such as:

  • How much money am I saving with my CUDs?
  • Am I getting the most out of my current commitments?
  • How much of my eligible usage is covered by commitments?
  • Can I save more by purchasing more commitments?
  • Should I enable discount sharing for resource-based commitments to optimize my costs?

Required permissions

To view the CUD analysis report for all projects in your Cloud Billing account, you must be a Billing Account Administrator or Billing Account Viewer. Specifically, you need the permissions.billing.accounts.get and billing.accounts.getSpendingInformation permissions on your Cloud Billing account.

You need different permissions to view the CUD analysis report than you need to view the Cloud Billing report. While Project Owners, Project Editors, and Project Viewers can access Cloud Billing reports for their projects, these roles don't include the permissions required to view the CUD analysis report.

For more information about Cloud Billing permissions, see:

Access the CUD analysis report

To view the CUD analysis report for your Cloud Billing account:

  1. In the Google Cloud console, go to the CUD analysis page.

    Go to CUD analysis

  2. At the prompt, choose the Cloud Billing account that you want to view.

Understand the CUD analysis report

You can use the CUD analysis report to view detailed information about your chosen commitment, broken down by the time period and level of detail that you need. The report includes summary cards, a stacked bar chart, and a summary table of the commitment's savings and costs to accompany the bar chart.

The CUD analysis report has two tabs:

  • CUD Coverage - Lets you see your usage at on-demand equivalent rates. This is significant because the new CUDs model is already discounted, so the CUD data is shown as on-demand rates to let you see the amount of utilization your CUDs cover. In addition, it shows what percentage you are still paying at on-demand rates. This lets you answer the following questions:

    • How much am I covering with CUDs?
    • How much am I paying at on-demand rates?
    • How much have I saved with CUDs?
  • CUD Utilization - Lets you understand the efficiency of your existing commitment usage. This is displayed as a percentage graph over time. It has the capability to show the utilization for the following:

    • Each spend-based commitment (each purchase).
    • The utilization for each resource-based CUD application scope, for example E2 cores in us-west1.

    This lets you answer the following questions:

    • Do I fully utilize my commitments?
    • What CUDs am I wasting?

Example
of a CUD analysis report and bar chart.

All the metrics shown are computed based on the time period you select. However, if you have commitments with different expiration dates, the analysis will show only the data for commitments that were active in the selected time period.

The new CUD Analysis lets you see multiple resources in an aggregated fashion. For example, you can analyze all your resource-based CUDs.

Summary cards

Summary cards above the stacked bar chart show the following details for the selected commitment type:

  • Active commitment: The current quantity of active commitments you purchased for a selected resource.

    When you select multiple resource-based commitments, the card can't display the active commitment amount because of mismatched measurement units—for example, vCPUs vs. GiBs. In that case, the card displays the number of active commitments. You see something similar when you combine compute flexible CUDs and resource-based CUDs, which have separate units.

  • CUD savings: The savings from the commitments you purchased for the specified period.

  • CUD coverage: The percentage of your eligible spend for the specified period that's covered by the commitments you purchased.

  • Utilization of CUDS: The percentage of the commitments you purchased that were utilized during the specified period. The higher this value is, the more value you're getting from your commitments.

  • Potential savings: The estimated savings you'll receive if you buy additional commitments for eligible services in your billing account.

Stacked bar chart

The stacked bar chart appears below the summary cards and above the summary table, and shows the following details for the selected commitment type:

  • Commitment-covered costs: The average daily costs at on-demand eligible rates covered by CUDs (lower part of the bar, using blue for resource-based CUDs credits and green for spend-based CUDs discounts).
  • Eligible cost not covered: The average daily cost of usage charged at the standard, non-discounted, on-demand rate (gray-colored section of the bar).

To view details for an individual day, hold your pointer over the bar for that day.

Coverage view

The summary table appears below the stacked bar chart and displays the following aggregate quantities for the selected filters and specified period:

  • Cost at on-demand rate: The amount you would have paid without commitments. When you analyze resource-based CUDs for one resource (e.g. E2 Cores), the table will display the equivalent resource utilization averaged per hour, because resource-based CUDs are measured by resources, not cost.
  • Commitment cost: The commitment fee for resource based CUDs (and also for spend-based commitments that use the legacy spend-based model). For analyzing new spend-based CUDs, this represents the portion of the CUD you didn't fully utilize and had to pay for. For example in a given hour, suppose that you commit to spending $10/hr, but only spend $8 on eligible discounted resources during a given hour. For that hour, you are charged $2 under this column to ensure you meet the $10/hr spend that you agreed per the commitment.
  • Effective discount: The discount rate you obtained. This is calculated by dividing the savings by the cost at on-demand rates.
  • Savings: The difference between your CUD credits and your commitment fees. Positive values represent your savings. Negative values indicate that you're not saving because you're underutilizing your commitments.
  • Net Cost - The total amount you paid, including on-demand plus CUD discounted resources plus commitment costs.

Analyze your CUDs

To analyze the effectiveness of your CUDs, complete the following steps.

Filter your report

Use the filters to adjust the scope of usage that's included in your report:

  • Time range: The time range of the report. You can select a predefined range, or use a custom range (from one day to multiple years).
  • Analyze: The type of commitment that you want to analyze. You can select from any active spend- or resource-based commitments or any areas with eligible usage.
  • Resource type: For resource-based commitments, the specific resources that you want to analyze. This is available when you select ANALYZE > Resource based CUDs or Resource based and Compute Flexible CUD.
  • Regions: The regions included in the report. You can select all (default), multiple, or a single region. This is only available for region-specific CUDs.
  • Projects: The projects included in the report. You can select all (default), multiple, or a single project.
  • Resource based and Compute Flexible CUD: Represents all resource-based commitments and compute flexible commitments together.

Adjust groupings and data granularity

Adjust your bar chart settings to view the data that's most important to you. You can edit the following settings:

  • Group by: View bar chart data by CUD type (default), service, or region.
  • Data granularity: View commitment usage by daily (default) or hourly granularity. Select hourly granularity to analyze:

    • Usage patterns throughout the day.
    • When during the day you underutilized your commitment.
    • Fluctuations in daily usage.

    You can query 30 days for hourly data granularity and 3 years for daily granularity, but requesting large datasets might result in slower performance.

Commitment under-utilization

Your commitment utilization shows you how effectively you're using your CUDs. Several factors can lead to underutilization, such as:

  • Your overall usage for the day was below your commitment level.
  • Your usage varied throughout the day and was lower than your commitment level for part of the day.
  • Your usage and commitments were in different regions.
  • Your usage and commitments were in different projects and you hadn't enabled discount sharing for your Cloud Billing account.

Even if you underutilize your commitment, the discounted rate for your commitment-covered usage can result in lower overall costs compared to paying on-demand prices.

Commitment coverage

If your report shows Eligible costs not covered by CUDs, it means that you're not maximizing your potential savings. This happens when your eligible usage exceeds your current commitments.

  • If your additional usage comes from stable workloads, consider purchasing additional commitments to cover the extra costs at a discounted rate.
  • If your additional usage comes from Compute Engine projects, consider enabling discount sharing to extend your existing resource-based CUDs to those projects. This can help you save costs without buying new commitments.

Download your report

To download a CSV file of your CUD analysis report, click the CSV button in the bottom right corner of the bar chart.

Understand discount sharing for resource-based commitments

Enable CUD sharing for maximum savings

If multiple projects use the same Cloud Billing account, enable CUD sharing. This lets you:

  • Reduce management overhead: Manage discounts across all projects, rather than individually.
  • Maximize discount usage: Pool resources to fully utilize your CUDs.

How CUD discount sharing works

By default, CUDs apply only to the project they're purchased in. CUD sharing applies your commitments across all projects linked to the Cloud Billing account. The discounts and commitment charges are shared across projects based on each project's share of the total eligible usage within the Cloud Billing account. If any portion of a given commitment isn't used, then the balance of the commitment charge remains in the project that purchased the commitment.

Check Your CUD sharing status

To determine if discount sharing is enabled for your Cloud Billing account, view CUD credits scope in the Utilization of CUDs summary card.

  • If CUDs credit scope is set to Project, then discount sharing isn't enabled, and your CUDs apply to eligible usage only in the project they're purchased in.
  • If CUDs credit scope is set to Billing account, then discount sharing is enabled, and your CUDs apply across all eligible usage in all projects linked to the Cloud Billing account.

Attribution for commitments

Attribution determines how the fees and credits from your commitments are shared across the different projects within your Cloud Billing account. To learn more about how attribution works and how to set it up for your resource-based commitments, see Choose attribution for resource-based commitments.

Examples of commitment utilization with discount sharing

There are two utilization scenarios that affect how your commitments, discounts and costs apply:

  • Full utilization
  • Underutilization

Full utilization

The following example shows a Cloud Billing account with multiple projects and discount sharing enabled, where the commitments are fully utilized. The Cloud Billing account is linked to three projects (Project-1, Project-2, and Project-3), where Project-1 and Project-2 purchase commitments and Project-3 doesn't.

The example assumes the projects have the following commitments and N1 Standard VM usage for a day:

Project-1 Project-2 Project-3 Total
Commitments (cores) 100 (1-year commitment) 60 (3-year commitment) 0 160
Usage (cores) 50 40 110 200

In this example, the total commitments purchased are for 160 cores and the total VM usage for the Cloud Billing account is 200 cores. Because discount sharing was enabled for the Cloud Billing account, the charge for the commitment (160 cores) is shared across all three projects based on project usage as a percent of the total Cloud Billing account usage.

Project-1 Project-2 Project-3
Usage (cores) 50 40 110
Percent of billing account usage 50 / 200 = 25% 40 / 200 = 20% 110 / 200 = 55%
Number of unused commitments 160 CUDs - 200 usage = 0 unused cores
Percent of all commitments covered by usage 200 usage / 160 CUDs = 100% coverage
Attribution for 1-year commitments covered by usage 100 * 100% * 25% = 25 units 100 * 100% * 20% = 20 units 100 * 100% * 55% = 55 units
Attribution for 3-year commitment covered by usage 60 * 100% * 25% = 15 units 60 * 100% * 20% = 12 units 60 * 100% * 55% = 33 units
Attribution for unused 1-year commitments 0 unused cores * (100 used cores / 160 total cores) = 0 units N/A N/A
Attribution for unused 3-year commitments N/A 0 unused cores * (60 used cores / 160 total cores) = 0 units N/A

In this example, the cores covered by commitments total 160 (40 + 32 + 88). Since the usage across all three projects totals 200 (50 + 40 + 110), this account's commitments are fully utilized.

The total invoice for the Cloud Billing account (summed across all projects) follows the standard CUDs billing format.

  • The customer receives a debit for all core usage at the on-demand prices (200 cores running for 24 hours).
  • The CUD credit partially offsets the 160 cores used by each of the projects linked to the Cloud Billing account, including the one that didn't purchase commitments.
  • The monthly commitment debit for 160 cores for 24 hours is charged regardless of utilization.

Detailed billing data for each project is visible in the customer's Cloud Billing reports and Cloud Billing data exports to BigQuery.

Underutilization

This example shows a Cloud Billing account with multiple projects and discount sharing enabled, where the commitments purchased are underutilized. The Cloud Billing account is linked to three projects (Project-1, Project-2, and Project-3), where Project-1 and Project-2 purchase commitments and Project-3 doesn't.

The example assumes the projects have the following commitments and N1 Standard VM usage for a day:

Project-1 Project-2 Project-3 Total
Commitments (cores) 100 (1yr CUD) 60 (3yr CUD) 0 160
Usage (cores) 50 40 10 100

In this example, the total commitments purchased are 160 cores and the total VM usage for the Cloud Billing account is 100 cores. Because discount sharing was enabled for the Cloud Billing account and the commitment is underutilized, all cores in each project are covered by the commitments. The remaining unused portion of the commitments (60 cores) are charged proportionately to each project that originally purchased the commitments. In this scenario, you don't receive the full benefit of the commitments that you purchased.

Project-1 Project-2 Project-3
Usage (cores) 50 40 10
Percent of billing account usage 50 / 100 = 50% 40 / 100 = 40% 10 / 100 = 10%
Number of unused commitment 160 CUDs - 100 usage = 60 unused cores
Percent of all commitments covered by usage 100 usage / 160 CUDs = 62.5% coverage
Attribution for 1-year commitments covered by usage 100 * 62.5% * 50% = 31.25 units 100 * 62.5% * 40% = 25 units 100 * 62.5% * 10% = 6.25 units
Attribution for 3-year commitments covered by usage 60 * 62.5% * 50% = 18.75 units 60 * 62.5% * 40% = 15 units 60 * 62.5% * 10% = 3.75 units
Attribution for unused 1-year commitments 60 unused cores * (100 used cores / 160 total cores) = 37.5 units N/A N/A
Attribution for unused 3-year commitments N/A 60 unused cores * (60 used cores / 160 total cores) = 22.5 units N/A

In this example, the cores covered by commitments total 160 (40 + 32 + 88). However, the usage across all three projects only totals 100 (50 + 40 + 10). Since the total usage is less than the purchased commitments, the commitments are considered underutilized. Each project will pay for a fixed percentage of 62.5% based on their billing account usage.

All unused commitments are charged to Project-1 and Project-2 based on the original quantity of commitments purchased.

The total invoice for the billing account (summed across all projects) follows the standard CUDs billing format.

  • The customer receives a debit for all core usage at the on-demand prices (100 cores running for 24 hours).
  • The CUD credit fully offsets the 100 cores used by each of the projects linked to the Cloud Billing account, including the one that didn't purchase commitments.
  • The monthly commitment debit for 160 cores for 24 hours is charged regardless of utilization.

Detailed billing data for each project is visible in the customer's Cloud Billing reports and Cloud Billing data exports to BigQuery.

Understand how CUDs impact your bill

Google Cloud uses a balance sheet format for your bill:

  1. You're billed a commitment fee, which is the discounted cost of your covered usage. You're billed this fee on a recurring basis, regardless of your usage.
  2. You're billed for the standard on-demand costs for resources that you consume.
  3. You receive committed use discount credits that appear in your bill as negative costs. These offset the portion of your eligible on-demand charges covered by the commitment.

The net impact of these three components is that you receive a discount on the usage covered by your commitment. The sum of your commitment fee and committed use discount credits equals the savings from your CUDs.

Example of usage equaling commitment

This example shows a Cloud Billing account where the spend-based CUD equals the usage for the one-hour period.

You purchase a one-year commitment for $50/hour of on-demand spend on Cloud SQL databases in the us-central-1 region. This one-year commitment gives you a 25% discount on covered usage, resulting in your net cost being $37.50/hour.

  1. You are charged a $37.50 commitment fee.
  2. You are charged $50 of on-demand costs for the one hour.
  3. You receive $50 in credit that offsets your $50 of on-demand costs.

Total costs = $37.50 + $50 - $50 = $37.50

In this example, your CUD covers all of your usage and there's no overage. Your total cost for the hour is $37.50 with the CUD. Without the discount, the total cost for the hour would've been $50.

Example of using more than commitment

This example shows a Cloud Billing account where the actual usage is more than the spend-based CUDs purchased. This results in an overage, where you pay the on-demand rate for the amount beyond your commitment.

You purchase a one-year commitment for $40/hour of on-demand spend on Cloud SQL databases in the us-central-1 region. This one-year commitment gives you a 25% discount on covered usage, resulting in your net cost being $30/hour.

  1. You're charged a $30 commitment fee.
  2. You're charged $50 of on-demand costs for the one hour.
  3. You receive $40 in credit that offsets your $40 of on-demand costs.

Total costs = $30 + $50 - $40 = $40

In this example, your CUD covers some of your usage. You paid $10 in overage at the on-demand rates and received a 25% discount on the $40 of on-demand equivalent costs covered by your commitment. Your final cost for the hour is $40 with the CUD. Without the discount, the total cost for the hour would've been $50.

Example of using less than commitment

This example shows a Cloud Billing account where the actual usage is less than the spend-based CUDs purchased. This results in an unused portion of the commitment.

You purchase a one-year commitment for $60/hour of on-demand spend on Cloud SQL databases in the us-central-1 region. This one-year commitment gives you a 25% discount on covered usage, resulting in your net cost being $45/hour.

  1. You're charged a $45 commitment fee.
  2. You're charged $50 of on-demand costs for the one hour.
  3. You receive $50 in credit that offsets your $50 of on-demand costs.

Total costs = $45 + $50 - $50 = $45

In this example, your CUD covers all of your usage and there was no overage. However, you committed to $60 of on-demand equivalent spend and only spent $50, failing to use the last $10 of credit paid for. Your final cost for the hour is $45 with the CUD. Without the discount, the total cost for the hour would've been $50.

Cloud Billing reports let you view your Google Cloud usage costs and credits to discover and analyze trends. The Cloud Billing reports provide a variety of user-configurable options to view the costs that are important to you, including options to view your credits.

To view the individual components that make up your CUDs, group your costs by SKU. The default report view (not grouped by SKU) doesn't break out the CUD components but instead includes the net of the three components.

To view only your ongoing commitment fees, limit the report results to the relevant commitment fee SKUs using the SKUs filter. For example, select the SKUs filter and type Commitment [YOUR COMMITMENT TYPE].

To understand how your commitment fees and credits are applied to your Cloud Billing account and projects, see Attribution of committed use discount fees and credits.

View CUDs on your invoice or statement

You can view all three components of the spend-based CUD on your invoice or statement.

  • Commitment fee: The SKU description begins with Commitment - dollar based. For example, the commitment fee for a Cloud SQL CUD in the us-central-1 region for 3 years would appear as Commitment - dollar based v1: Cloud SQL database in us-central1 for 3 years.
  • On-demand costs: Charges for your usage at the on-demand equivalent cost. For example, Postgres DB custom CORE running in Americas.
  • Credits: These offset the portion of your on-demand equivalent costs that are covered by your CUD.

To view and download the cost details of your invoice or statement, use the Cost table report.

To find a Cloud Billing document such as an invoice or statement, use the Documents page.

To view your transaction history, use the Transactions page.

View CUD fees and credits in your data exports

If you export your Cloud Billing data to BigQuery, you can use queries to analyze the data.

For examples of how you can use BigQuery queries to view your commitment fees and credits in your Cloud Billing data exports, see Committed use discount queries.

Data latency

Your Cloud Billing account receives reports of your VM usage costs multiple times per day, but cost data for commitment charges, CUD credits, and sustained use discount credits can be delayed for up to one-and-a-half days. This reporting difference can make your most recent costs from the current and previous day appear higher than expected until the credits to offset those costs are applied.

As new usage data arrives, Cloud Billing might revise the distribution of your discount multiple times. This can increase the usage line items in your Cloud Billing data export to your BigQuery dataset.