List-price math only. Real BigQuery bills can be cut 30 to 60 percent by tuning partition pruning, materialized view break-even, slot-pool autoscale ceilings, and right-sizing reservations to actual peak demand from INFORMATION_SCHEMA.JOBS. The deep audit models your real job-level metadata to rank reduction wins by dollar impact.
| Line item | Math | Monthly |
|---|---|---|
| — | ||
| Component | Rate | Notes |
|---|---|---|
| On-Demand queries | $6.25 / TB scanned | First 1 TB/month free per project. No commitment. |
| Slots — Standard | $0.04 / slot-hour | Core engine, no advanced features. |
| Slots — Enterprise | $0.06 / slot-hour | BigQuery ML, materialized views, CMEK, column-level security. |
| Slots — Enterprise Plus | $0.10 / slot-hour | Cross-region DR, larger CMEK quotas, top compliance. |
| Active storage | $0.02 / GB-month | First 10 GB/month free per project. |
| Long-term storage | $0.01 / GB-month | Auto-applied after 90 days unmodified. |
| Streaming inserts | $0.05 / GB | Per-row legacy streaming API. |
| Storage Write API | $0.025 / GB | Recommended for new streaming workloads. |
One-page checklist of the biggest BigQuery levers — when on-demand beats slots and vice versa, partition pruning patterns that cut scan volume by 80 percent, the materialized view refresh-cost trap, slot-pool autoscale ceilings, the BI Engine break-even, the Storage Write API migration that halves streaming costs, time-partitioned table design, and the long-term storage automatic discount. PDF sent to your inbox.
on_demand_monthly = TB_scanned × $6.25
slot_monthly = slots × rate_per_slot_hour × 730
Example: 5 TB scanned on on-demand = 5 × $6.25 = $31.25/month. A 300-slot Standard reservation = 300 × $0.04 × 730 = $8,760/month — equivalent to scanning 1,401 TB on-demand. Break-even at 300 slots: Standard 1,401 TB, Enterprise 2,102 TB, Enterprise Plus 3,504 TB. Below those scan volumes, on-demand is cheaper. Above them, slots win on price and add predictable monthly cost. Storage and streaming inserts apply equally to both modes, so they don't shift the break-even.
The two biggest BigQuery reductions on most teams: partition pruning to cut scan volume by 60-80 percent on time-series tables (every untuned scan that touches a 3-year partitioned table costs 156x what it should), and right-sizing slot reservations using INFORMATION_SCHEMA.JOBS p95 slot demand instead of peak. The peak-vs-average gap on most analytical workloads is 4-8x — reserving to peak means paying 4-8x for the bottom 90 percent of your time.
The break-even depends on slot utilization. On-demand is $6.25 per TB scanned with no commitment. Slot reservations charge $0.04 to $0.10 per slot-hour depending on edition, billed continuously whether queries run or not. A 300-slot Standard reservation costs $0.04 × 300 × 730 = $8,760 per month, equivalent to scanning 1,401 TB on-demand. Break-evens at 300 slots: Standard 1,401 TB, Enterprise 2,102 TB, Enterprise Plus 3,504 TB. Below those volumes, on-demand is cheaper. Above them, slots win and add predictable monthly cost. The trap is reserving slots that sit idle 70 percent of the time, which inverts the math and makes on-demand look like a bargain in retrospect.
Standard is $0.04/slot-hour, Enterprise $0.06, Enterprise Plus $0.10. The gap buys features, not query speed — slots execute identically across editions. Enterprise unlocks BigQuery ML, materialized views, CMEK, column-level security, and VPC Service Controls. Enterprise Plus adds cross-region DR and top compliance certifications. If you train ML models in BigQuery or run regulated workloads needing CMEK, Enterprise's 50 percent uplift is the price of admission. The most common waste pattern: teams default to Enterprise Plus out of habit because it sounds safer, but only use Standard features — paying 150 percent uplift for nothing.
Query INFORMATION_SCHEMA.JOBS to see total_slot_ms consumed in the last 30 days. Divide by the time window to get average concurrent slots. Peak comes from grouping by 1-minute or 5-minute buckets and taking the max. A typical analytical team runs 50-200 slots on average with peaks of 500-2,000 during business hours. If your average is 80 but peak is 400, on-demand with a slot-pool autoscale ceiling is usually cheaper than reserving 400 flat. Queries with high slot_ms but tiny bytes_processed are usually JavaScript UDFs or ARRAY operations chewing CPU on small data — rewrite those before sizing your reservation.
Flat-rate slots are an annual or monthly commitment at a discounted rate — typically 20 to 40 percent off PAYG. Google's 1-year commitment for Enterprise runs around $0.048/slot-hour vs $0.06 PAYG. 3-year commitments go down to roughly $0.036/slot-hour. Pay-as-you-go bills by the second with no commitment and full flexibility. Flat-rate makes sense when you have a predictable baseline 12+ months out. PAYG-only makes sense for spiky workloads or while you're still learning your pattern. The autoscaler in Enterprise editions lets you mix: reserve a baseline at flat-rate, autoscale the spike on PAYG.
No. TB scanned, slot counts, edition picks, and rate math all run locally in your browser. The page fires an anonymous pageview beacon and CTA-click events so we can measure whether the calculator is useful — no inputs, no email (unless you submit one to the cheat-sheet form), no IP stored raw.