Snowflake's Time Travel Tax
Mike Ritchie

A friend of ours at a B2B SaaS company recently discovered something unexpected about his Snowflake bill.
His company had acquired another business. The acquired company ran Snowflake Enterprise on an annual commitment. His team ran Snowflake on pay-as-you-go. When he went to consolidate the two accounts post-acquisition, he found something strange: the acquired company's "discounted" annual commitment was costing more per credit than his team's pay-as-you-go plan.
How? Time travel.
The Time Travel Tax
Snowflake's time travel feature lets you query historical versions of your data — roll back a bad UPDATE, recover a dropped table, compare yesterday's numbers to today's. It sounds like a power-user feature, but most teams end up needing it for basic reporting and data quality checks.
Here's the catch: to get time travel beyond a single day, you have to upgrade to Snowflake Enterprise. And Enterprise credits cost roughly $1 more per credit than Standard — about $3/credit vs. $2/credit on AWS US East (on-demand).
That $1 premium applies to every credit your warehouse burns, whether or not the query touches time travel at all. Think about that for a second. Most teams use time travel on maybe 1% of their queries — recovering from a bad deploy, debugging a pipeline issue, comparing last week's numbers. The other 99% of the time, you're running normal SELECT statements, scheduled dbt jobs, dashboard refreshes. None of those need time travel. But every single one of them pays the surcharge.
You're paying a dollar extra on 100% of your queries for a feature you use 1% of the time.
Paying for time travel storage makes sense — Snowflake retains historical copies of your data, and storage costs money. But storage is dirt cheap. The real cost isn't the storage; it's the per-credit compute premium that hits every query, every warehouse, every minute your infrastructure is running. That's the time travel tax.
What This Actually Costs
Let's put real numbers on it.
Say you're running a Medium warehouse (4 credits/hour) for 8 hours a day, 5 days a week. That's 160 credit-hours per week, or roughly 640 credits per month.
| Standard ($2/credit) | Enterprise ($3/credit) | Delta | |
|---|---|---|---|
| Monthly compute | $1,280 | $1,920 | +$640 |
| Annual compute | $15,360 | $23,040 | +$7,680 |
That's $7,680 per year in extra compute costs — for a single medium warehouse. If you actually use time travel on 1% of your queries, you're effectively paying $100 per time travel query in surcharge overhead spread across the other 99% of your workload.
And that's on-demand pricing. Most Enterprise customers are on annual commitments with volume discounts, but the edition premium is baked into every tier. You can't negotiate away the time travel tax; it's structural.
For comparison, a comparable EC2 instance runs about $0.12/hour. That's roughly 25x cheaper than Snowflake Enterprise for raw compute — and it doesn't charge you extra for features you're not using.
What Time Travel Costs Elsewhere
Time travel isn't expensive to implement. It's essentially versioned storage with snapshot metadata.
DuckLake — the open-source Lakehouse extension for DuckDB — ships time travel on by default. Every write creates a new snapshot. You can query any historical version with a single SQL clause:
-- Query your data as it looked yesterday
SELECT * FROM lake.events
AT (TIMESTAMP => NOW() - INTERVAL '1 day');
-- Compare what changed between two versions
FROM lake.table_changes('events', 100, 150);
History is retained automatically. It only disappears when you explicitly run compaction, and you control the retention policy.
We built an entire event pipeline on DuckLake with full time travel, ACID transactions, and sub-second queries. The infrastructure cost? A Postgres instance for metadata and an object storage bucket for Parquet files. That's it.
If you don't want to run your own infrastructure, Definite ships time travel as part of its managed lakehouse. It's built on DuckDB and DuckLake under the hood, so every table you create has full version history from day one.
The Bigger Picture
The time travel tax is a symptom of how Snowflake's edition model works: features get bundled into tier upgrades that apply a blanket premium to your entire bill.
Snowflake's Enterprise edition doesn't just unlock time travel. It bundles multi-cluster warehouses, materialized views, column-level security, and governance tools into a single tier — and charges a blanket premium on every credit you consume. If you need any one of those features, you pay for all of them on every query.
Time travel is the most common reason teams end up on Enterprise. It's the one feature in that bundle that even small teams need for basic data operations — recovering from mistakes, debugging pipeline issues, running reports that compare data across time periods.
Our friend's experience highlights how easy this is to miss. The time travel tax wasn't surfaced during the original sales process. It only came to light during a contract negotiation triggered by an acquisition. Most teams never get that audit moment — they just pay the premium and assume it's the cost of doing business.
What You Can Do
If you're on Snowflake Enterprise and not sure why, check whether time travel is the reason you upgraded. If it is, you have a few options:
1. Reduce time travel retention. Enterprise lets you set retention from 0 to 90 days per table. If you don't need 90 days of history on every table, dial it back. Set transient tables for staging data that doesn't need time travel at all. This won't change your per-credit cost, but it will reduce your storage bill.
2. Audit your edition. If time travel is the only Enterprise feature you use, talk to your Snowflake rep about whether Standard + shorter retention could work. The $1/credit savings adds up fast.
3. Offload what you can. Tools like UniverSQL let you query Snowflake tables locally using DuckDB, eliminating warehouse costs for exploratory work. Every credit you don't burn is a credit you don't pay the Enterprise premium on.
4. Consider whether you need Snowflake at all. If you're a startup or mid-market team, a platform like Definite gives you a managed data warehouse with built-in connectors, modeling, and BI — without credit-based pricing. And if you want to go fully open-source, DuckLake gives you time travel, ACID transactions, and analytical performance at a fraction of the cost.