A month is 365 ÷ 12 days. Scheduled jobs and dashboard refreshes run every day; ad-hoc queries run on working days, five in seven. 1 TB is 1,024 GB, the way BigQuery bills.
What gets scanned
- Scheduled transforms = jobs per day × GB per run × days.
- BI refreshes = (1,440 ÷ refresh minutes) × dashboards × GB per refresh × days.
- Ad-hoc = queries per working day × GB per query × working days.
BigQuery, on demand
- Compute = TiB scanned × $6.25, less the first 1 TiB a month, which is free.
- Storage = GiB stored, less 10 free, × $0.023 at the high end. The low end prices only the last three months of growth at that rate and the rest at the long-term $0.016, because tables untouched for 90 days are billed for less. Tables a full rebuild rewrites stay on the active rate, so the more of your data is rebuilt, the closer the real figure sits to the high end.
Snowflake
- Work in credits = GB scanned ÷ (scan speed × 60). One size up doubles both the credits an hour and the speed, so the work costs the same at every size.
- Every time a warehouse wakes it bills at least 60 seconds, then the auto-suspend time before it sleeps. Size changes what that costs. The low end runs the day’s jobs as one batch and lets ad-hoc queries land on a warehouse that is already awake; the high end wakes it for each job and each query, but never bills more than one warehouse running all day. Dashboards wake it once per refresh.
- Compute = credits × the edition’s price per credit. Storage = TB × $23.00. Snowflake bills compressed bytes, so if your figure is uncompressed, storage will come in lower.
Already on Snowflake and want the warehouse settings priced rather than the workload? Model your Snowflake warehouses one by one: size, Gen 1 or Gen 2, clusters, auto-suspend and the idle time it bills.
Redshift Serverless
- Work in RPU-hours = GB scanned ÷ (scan speed × base RPUs ÷ 8) ÷ 60 × base RPUs, billed per second with a 60-second minimum per run and no idle time. The low and high ends batch and split the runs the same way as for Snowflake, with the same all-day ceiling.
- Compute = RPU-hours × $0.375. Storage = GB × $0.024.
The “what if” line
It reruns the same estimate with the scheduled rebuilds made incremental, at the share of a full run you set, and the dashboards refreshing half as often. Those are the two leverswhere your warehouse spend actually goes ranks first after deleting what nobody uses. The twelve-month line grows storage and every scan by the monthly growth rate, compounded.
Not included: Snowflake cloud services (not billed below 10% of daily compute), BigQuery minimum bytes per query and cache hits, data transfer, and anything outside the warehouse. Snowflake Gen 2 standard warehouses use more credits an hour on AWS than the Gen 1 sizes used here.