BigQuery FinOps Query Pack

Which GCP SKUs am I spending the most on?

The SKU-level breakdown behind a service total.

Costs money to run — queries your billing export tableChecked 4 Aug 2026
SELECT
  service.description                                        AS service,
  sku.description                                            AS sku,
  sku.id                                                     AS sku_id,
  ROUND(SUM(cost), 2)                                        AS cost,
  SUM(usage.amount_in_pricing_units)                         AS usage_amount,
  ANY_VALUE(usage.pricing_unit)                              AS pricing_unit,
  ROUND(SAFE_DIVIDE(SUM(cost), SUM(usage.amount_in_pricing_units)), 6) AS effective_unit_rate
FROM `PROJECT.DATASET.gcp_billing_export_v1_XXXXXX_XXXXXX_XXXXXX`
WHERE _PARTITIONTIME >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 35 DAY)
  AND cost > 0
GROUP BY service, sku, sku_id
ORDER BY cost DESC
LIMIT 100;

What it returns

sku_id
The stable SKU identifier — paste it into the SKU dictionary.
effective_unit_rate
Cost ÷ usage. Compare against list price to see your real discount.

How to read it

  • SKU descriptions are the language your bill is actually written in. Learning the top 20 for your estate is the highest-leverage hour a new FinOps hire can spend.
  • A rising effective_unit_rate on flat usage means a discount lapsed or you crossed a tier boundary the wrong way.
  • Egress SKUs are named by lane ("from Americas to China"), so the same logical action appears under many SKUs. Aggregate them before drawing conclusions.

Take it further

Run this once, or have it run every day.

Finitizer evaluates this class of question continuously against your live BigQuery estate, tracks how each number moves between runs, and turns findings into assigned tasks. Read-only and keyless.