BigQuery Cost Calculator
Compare BigQuery on-demand per-TiB scanning against slot capacity pricing, with pruning and long-term storage.
About BigQuery Cost Calculator
On-demand BigQuery charges for bytes the engine reads, not bytes stored, so a partition filter and a clustered predicate are the two levers that move the bill most — and a 10 MB floor per referenced table means thousands of tiny queries still add up. Capacity pricing swaps that for a flat slot-hour charge, which wins once your scan volume passes the break-even figure shown here. The same warehouse can cost wildly different amounts depending on whether analysts write filtered queries and whether you reserve slots, and long-term storage silently halves the rate on partitions nobody touches. Confirm the per-TiB and per-slot-hour prices for your region and edition in the Google Cloud pricing calculator.
Formula
BigQuery Cost
on-demand = queries × max(bytes touched × (1 − pruning), 10 MB) ÷ 1,024 × per-TiB price; capacity = slots × slot price × hours; storage = active GiB × active price + long-term GiB × long-term price.
- pruning
- Share of bytes a partition filter and clustering keep BigQuery from reading
- 10 MB minimum
- Floor BigQuery bills per table referenced, regardless of query size
- long-term storage
- Half-price rate applied automatically once a table partition is untouched for 90 days
- break-even
- Scan volume at which the reservation costs the same as on-demand
Worked example
With the default values below, BigQuery Cost Calculator returns Monthly Cost of $1,304.74. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Queries per monthaccepts 0–100,000,000 queries
- 20,000 queries
- Average table bytes touched per queryaccepts 0–1,000,000 GiB
- 12 GiB
- Reduction from partitioning and clusteringaccepts 0–99 %
- 60 %
- Minimum billed bytes per queryaccepts 0–1,000 MB
- 10 MB
- On-demand price per TiB scannedaccepts 0–100 USD/TiB
- 6.25 USD/TiB
- Pricing modelone of On-demand (per TiB scanned), Capacity (reserved slots)
- On-demand (per TiB scanned)
- Reserved slotsaccepts 0–100,000 slots
- 500 slots
- Price per slot-houraccepts 0–10 USD/slot-hour
- 0.04 USD/slot-hour
- Hours the reservation is activeaccepts 0–744 hours
- 730 hours
- Active storage (touched in 90 days)accepts 0–100,000 TiB
- 20 TiB
- Active storage price per GiBaccepts 0–5 USD/GiB-month
- 0.02 USD/GiB-month
- Long-term storage (idle 90 days)accepts 0–100,000 TiB
- 30 TiB
- Long-term storage price per GiBaccepts 0–5 USD/GiB-month
- 0.01 USD/GiB-month
- Streaming insertsaccepts 0–1,000,000 GiB
- 200 GiB
- Streaming price per GiBaccepts 0–5 USD/GiB
- 0.01 USD/GiB
Results
- Monthly Cost
- $1,304.74
- Query or Compute Charge
- $585.94
- Storage Charge
- $716.80
- Billed Bytes Scanned
- 93.75 TiB
- On-Demand Cost
- $585.94
- Slot Capacity Cost
- $14,600.00
- Cheaper Model
- On-demand — you are not scanning enough to fill the reservation
- Break-Even Scan Volume
- 2,336.00 TiB
Step by step
- 1Values used
- 2BigQuery Cost
- 3Monthly Cost= 1,304.74
- 4Query or Compute Charge= 585.94
- 5Storage Charge= 716.80
- 6Billed Bytes Scanned= 93.75 TiB
- 7On-Demand Cost= 585.94
- 8Slot Capacity Cost= 14,600.00
Assumptions and limits
- The result is derived only from the 15 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
How is BigQuery Cost calculated?
on-demand = queries × max(bytes touched × (1 − pruning), 10 MB) ÷ 1,024 × per-TiB price; capacity = slots × slot price × hours; storage = active GiB × active price + long-term GiB × long-term price. On-demand BigQuery charges for bytes the engine reads, not bytes stored, so a partition filter and a clustered predicate are the two levers that move the bill most — and a 10 MB floor per referenced table means thousands of tiny queries still add up. Capacity pricing swaps that for a flat slot-hour charge, which wins once your scan volume passes the break-even figure shown here.
Why does BigQuery Cost matter?
The same warehouse can cost wildly different amounts depending on whether analysts write filtered queries and whether you reserve slots, and long-term storage silently halves the rate on partitions nobody touches. Confirm the per-TiB and per-slot-hour prices for your region and edition in the Google Cloud pricing calculator.
What values do I need to enter?
This calculator takes 15 inputs: Queries per month, Average table bytes touched per query, Reduction from partitioning and clustering, Minimum billed bytes per query, On-demand price per TiB scanned, Pricing model, Reserved slots, Price per slot-hour, Hours the reservation is active, Active storage (touched in 90 days), Active storage price per GiB, Long-term storage (idle 90 days), Long-term storage price per GiB, Streaming inserts, Streaming price per GiB. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Does SELECT * cost more than selecting a few columns?
Much more. BigQuery is columnar, so it bills only the columns a query reads. Replacing SELECT * with an explicit column list is often a bigger saving than any infrastructure change.
