BigQuery Cost Spike Explainer

Paste a JOBS export to see which jobs drove your bytes-billed spike, all in your browser

Everything runs in your browser. The JOBS export you paste is not uploaded, logged, or stored. A JOBS export can contain query text, user emails, project and job IDs, and table names, so omit the query_text column unless you need it for local review. This is a review aid; confirm bytes billed against your billing export.

Leave blank to keep findings in bytes and share percentages. Enter your on-demand rate (for example 6.25) to add an estimate. Estimates are approximate; verify against your billing export.

Paste an INFORMATION_SCHEMA.JOBS export, then select Explain cost spike. A sample export is loaded so you can try it right away.

About the BigQuery cost spike explainer

The BigQuery cost spike explainer turns a pasted INFORMATION_SCHEMA.JOBS export into a fast read of what drove your bytes-billed spike. Paste the export, and the tool normalizes total_bytes_billed across raw byte counts and human-readable sizes, groups jobs by destination or referenced table, and flags the outliers that dominate billing, with the statement type and cache-hit status that explain why. It is built for the moment before a month-end spend review when you need to know which queries to fix first.

A sample export is loaded so you can see findings right away: a few uncached SELECT jobs against the same table dominate bytes billed and surface as the cost-spike outliers, each with a suggested action. Everything runs in your browser. The export you paste is never uploaded, logged, or stored, which matters because a JOBS export can contain query text, user emails, project and job IDs, and table names. When the outliers look right, download the outlier CSV or copy the cost-review note for your review. No dollar figure is shown unless you enter your own bytes-to-cost rate, so the tool never asserts a stale price.

How to use

  1. In BigQuery, query the INFORMATION_SCHEMA.JOBS view (or JOBS_BY_PROJECT) for the spike window, selecting at least job_id, statement_type, total_bytes_billed, total_bytes_processed, cache_hit, and a destination or referenced table.
  2. Export or copy the result as CSV, TSV, or JSON rows. You can omit the query column; the explainer does not need it and a sample export models that safer shape.
  3. Paste the export into the JOBS box. A sample export is loaded so you can see the format the tool expects.
  4. Optionally enter your on-demand bytes-to-cost rate (USD per TiB billed) to add a dollar estimate. Leave it blank to keep findings in bytes and share percentages.
  5. Select Explain cost spike to see the bytes-billed outliers grouped by table with cache-hit and statement context, then download the outlier CSV or copy the cost-review note.

Worked examples

A repeated uncached SELECT is flagged as the top cost driver

Two SELECT jobs against the same table ran with cache_hit false and together dominate bytes billed, so they are flagged high severity with a suggestion to add partition or cluster filters or materialize the result.

A job far above the typical job is surfaced even with a small share

A job whose bytes billed is several times the median job is flagged on the ratio even when its share of the total is small, so a one-off heavy scan does not hide behind a large total.

An even spread of jobs shows no spike

When no single job or table group dominates bytes billed, the tool reports no clear cost spike and lists the top jobs for reference, so you can close the review with confidence.

Frequently asked questions

What should I paste in the JOBS box?
An INFORMATION_SCHEMA.JOBS (or JOBS_BY_PROJECT) export as CSV, TSV, or JSON rows. The tool reads total_bytes_billed (the cost driver), and uses total_bytes_processed, statement_type, cache_hit, and a destination_table or referenced_tables column when present. It recognizes raw byte counts and human-readable sizes like 1.5 TB. You can omit the query column.
How does it decide which jobs are a cost spike?
A job is flagged when it is both a large share of total bytes billed and well above the typical (median) job, or when it is several times the median on its own. That two-part rule means an even spread of similarly sized jobs is not falsely flagged, while a single dominant query, or a one-off heavy scan, is. Jobs are grouped by destination or referenced table so a repeated offender stands out.
Why is there no dollar amount by default?
BigQuery on-demand pricing changes and varies by region and contract, so the tool does not assert a price. Findings stay in bytes billed and share percentages unless you enter your own bytes-to-cost rate (USD per TiB billed). When you do, the estimate is clearly approximate and you should verify it against your billing export.
Is my export sent anywhere?
No. Parsing, grouping, and outlier scoring run entirely in your browser. The pasted rows, query text, user emails, project and job IDs, table names, labels, and billing data are never uploaded, logged, or stored, and they are not included in any analytics. Only coarse, anonymous count bands are recorded so we can tell how often the tool is used.
Does this replace BigQuery cost controls or a FinOps platform?
No. It is a fast, paste-based triage aid for a spend review. It does not connect to your project, set quotas, or track cost over time. Keep using BigQuery custom cost controls, the billing export, and a platform like Vantage, CloudZero, or Finout for authoritative, ongoing cost management.
Is the BigQuery cost spike explainer free?
Yes. It is free to use and does not require an account.

Use this again tomorrow

Save this page so it's one tap away when you need a quick result.

Bookmark this tool

Take a 2-minute brain break.

Play Daily Challenge on sts.games