Skip to main content
Your progress
0 of 5 lessons complete0%
T0 / M0.4 / L2 OF 5 / Operator TIER / 9 min

Billing cost: and why it's lower than rack rate

Outcome

By the end of this lesson, you will be able to enumerate the discount layers that move billing cost below rack rate and trace the gap on any specific resource.


TierOperator
JTBD”Explain why the bill is 32% below rate card.”
PersonasFinOps Analyst · Finance Partner
PrerequisitesL1
Time9 minutes
Bloom verbEnumerate (Remember) and Trace (Apply)

1. Concept

Billing cost is what the customer actually owes after every applicable discount is applied. AWS calls it UnblendedCost in CUR. GCP calls it cost in the billing export. Azure calls it Cost (or with AmortizedCost semantics for reservations).

Billing cost can be 10 to 60 percent below rack rate depending on the discount stack. Eight layers stack on top of the rate card, in approximately this order of application:

Terminal window
LAYER TYPICAL IMPACT
─────────────────────────────────────────────────────────
1. Public rate card (= rack rate) baseline
2. Sustained-use discount (GCP) up to 30% on long-running compute, automatic
3. Spot / Preemptible pricing 50–90% off on eligible workloads, no commit
4. Reserved Instance / SP / CUD up to ~57% with 3-yr commitment
5. Azure Hybrid Benefit up to ~40% on Windows / SQL with on-prem license
6. Enterprise Discount Program 1–10% negotiated additional discount
7. Credits (marketing, free tier) variable, finite
8. Tax adjustments positive: adds to bill
─────────────────────────────────────────────────────────
NET = BILLING COST

Layer-by-layer

Layer 1: Rate card. The published, public unit price. See L1.

Layer 2: Sustained-use (GCP only). GCP automatically applies a discount to compute that runs for >25% of the month. No commitment required. Up to 30% off on instances running 100% of the month. AWS and Azure have no equivalent.

Layer 3: Spot. Replaces the rate-card price with the spot market price. Discount varies hour by hour (typically 50–90% off). Workload must be eviction-tolerant.

Layer 4: Commitments (RI / SP / CUD). Customer commits to a baseline of usage for 1 or 3 years. Discount applies to covered hours. See M0.3 L2 for the math.

Layer 5: Azure Hybrid Benefit. A customer with on-prem Windows or SQL Server licenses can bring them to Azure and avoid paying for the license portion of the VM cost. Typical savings: 30–40% on eligible SKUs. AWS has a similar but smaller program for Windows.

Layer 6: Enterprise Discount Program (EDP). A negotiated additional discount, typically a single percentage off everything, in exchange for a multi-year minimum spend commitment. 1–10% range is common. EDPs are confidential and rarely visible to engineering teams; the FinOps team sees them in the billing data.

Layer 7: Credits. Marketing credits, free-tier allowances, startup credits, education credits. Finite: consumed first, expire on a date. Visible as negative line items in the bill.

Layer 8: Tax. Local tax (VAT, GST, state sales tax) is added on top of the discounted cost. Tax is positive: it increases the bill. Most cost analytics tools strip tax to focus on the controllable spend.

What stacks, and what does not

Purchase-type discounts are mutually exclusive per resource-hour. Any given hour of a given resource is billed under exactly one model: on-demand, sustained-use, Spot, or a commitment (RI / SP / CUD). You cannot apply sustained-use AND Spot to the same hour. So these are not sequential multipliers on one unit; they partition the fleet, and each slice gets one model.

Only three things act on the aggregate, after the per-hour price is set: EDP (a negotiated percentage off the whole invoice), credits (subtracted), and tax (added).

Terminal window
WHOLE-BILL DECOMPOSITION (illustrative, $100 of list-price usage)
$40 of it runs on Spot -> ~$12 (these hours are NOT also
$30 of it runs sustained-use -> ~$22 sustained-use or on-demand)
$30 of it runs on-demand -> $30
────────────────────────────────────────
Subtotal (per-hour models) ~$64
EDP (-3% on the aggregate) ~$62
Credits ($10 applied) ~$52
Tax (+5%) ~$55

The per-hour models split the fleet; only EDP, credits, and tax act on the total. Treating sustained-use and Spot as sequential multipliers on one unit overstates the discount, because no hour ever receives both.

Where the gap to rack rate comes from

For a specific resource, the gap between rack rate and billing cost decomposes into the contributing layers. AWS CUR exposes the decomposition through specific columns: pricing/unit, reservation/EffectiveCost, savingsPlan/SavingsPlanEffectiveCost, etc. GCP BigQuery export exposes credits with type breakdown. Azure Cost Management uses BenefitName to mark Hybrid Benefit applications.

For most teams, the right level of decomposition is layer-level, not row-level. Knowing “we saw 35% effective discount this month, 22% from RIs, 8% from sustained-use, 5% from EDP” is more actionable than knowing the per-row breakdown.

Why the gap matters

Three operational uses for tracking the discount stack:

  1. Renewal modelling. When a 1-yr commitment expires, what happens to the bill? Knowing the layer contribution lets you model the bump.
  2. Negotiation. EDP renegotiation is informed by current EDP layer contribution. “We are saving 4% from EDP, we want 7%.”
  3. Anomaly attribution. When the bill spikes, knowing whether the cause is a new resource (rack-rate increase), a lapsed RI (commitment layer drop), or expired credits (layer 7 drop) localizes the investigation.

2. Demo

Decomposing one month’s AWS bill into layers (anonymized real numbers):

Terminal window
LAYER $ MOVED % OF BILL
────────────────────────────────────────────────────────────────────
Rack rate (calculated baseline) $128,400 n/a
After Spot ($31K of Spot capacity, ~75% off) $103,150 −19.7%
After Reserved Instances + Savings Plans $ 76,830 −25.6%
After EDP (3% on top) $ 74,525 − 3.0%
After credits ($1,200 in startup credits) $ 73,325 − 1.6%
After tax (+8% state) $ 79,191 + 8.0%
────────────────────────────────────────────────────────────────────
NET BILLING COST $79,191
EFFECTIVE DISCOUNT (excluding tax) FROM RACK −38.3%

This breakdown tells the FinOps team three things: (a) Spot and RIs/SPs together account for most of the gap, (b) EDP is small but positive, (c) tax is a meaningful add-back. A renewal model for next quarter would re-project each layer.


3. Hands-on (6 min)

Decompose your own month’s bill into the eight layers:

Terminal window
LAYER $ AMOUNT % OF RACK
─────────────────────────────────────────────────────────
1. Rack rate (compute from running $______
inventory × pricing API)
2. Sustained-use (GCP only) $______ ____%
3. Spot $______ ____%
4. RI / SP / CUD $______ ____%
5. Azure Hybrid Benefit (if any) $______ ____%
6. EDP $______ ____%
7. Credits $______ ____%
8. Tax $______ + ____%
─────────────────────────────────────────────────────────
NET BILLING COST $______

If the team has never done this, the first pass takes 2–4 hours. Once a SQL template exists, it is a 5-minute recompute each month. Worth the investment.


4. Knowledge check

Q1

A team sees their AWS bill is 38% below rack rate. Most likely contributors:

A. Pure on-demand savings
B. Some combination of Spot, Reserved Instances or Savings Plans, sustained-use (if GCP), Azure Hybrid Benefit (if Azure), and EDP: typically RIs/SPs are the biggest single layer
C. A vendor error
D. Free trial

Show answer

Correct: B. 38% effective discount is consistent with strong RI/SP coverage plus some Spot. The team should decompose to know which layers contribute how much, so they can model renewal impact.

Q2

A 3-yr Reserved Instance expires next month. The Finance team asks “what happens to our bill?” The right answer is informed by:

A. Looking at the total bill change
B. Decomposing the current bill by layer, identifying the RI layer contribution, and modelling the bump that occurs when those instances revert to on-demand
C. Calling AWS support
D. Buying a new RI immediately

Show answer

Correct: B. Layer decomposition lets you model the exact bump. Without it, the team is guessing.

Q3

The “Unblended Cost” column in AWS CUR most closely corresponds to:

A. Rack rate
B. Billing cost (post-discount, pre-credit, pre-tax)
C. The full invoice including tax
D. The negotiated EDP rate

Show answer

Correct: B. UnblendedCost is the cost after discounts but typically before credits and tax. The full invoice includes those.


5. Apply

ZopNight’s Reports → Cost Breakdown → Layout: Purchase Type splits the bill by purchase type (OnDemand, Reservation, SavingsPlan, Spot, etc.) so the commitment / spot layers are visible at a glance.

For the deeper layer-by-layer decomposition (sustained-use, EDP, credits, tax), the source remains the cloud provider’s own data. AWS Cost Explorer’s “Cost Categories” feature, GCP’s credits column, and Azure Cost Management’s BenefitName are the right places. ZopNight aggregates the net billing cost; the layer attribution is sourced from the provider.


Glossary terms touched

Unblended cost · Sustained-use discount · Enterprise Discount Program · Azure Hybrid Benefit · Discount stack


Start with the bill.

Foundations takes about five hours. The first lesson is nine minutes.

Open curriculum. No login. No paywall. 237 lessons across 7 courses, three publicly verifiable credentials. Read it on the train, take the exam on a Saturday, list the credential on your résumé Monday.

5h median time to finish Foundations
0 logins, paywalls, or marketing forms
open curriculum, public credential verifier
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 30% average cloud cost cut· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 30% average cloud cost cut· 4 platforms · 1 console·