Defining Snapshot Dates in Data Vault
When working with Data Vault, one of the most common questions practitioners face is: how do we define snapshot dates? While load dates are tied to when data arrives from the source, snapshot dates serve a different and equally important purpose — they allow us to deliver stable, consistent, and predictable datasets to end users. In this article, we’ll break down the concept of snapshot dates, explain how they differ from load dates, and walk through practical examples of how they are implemented in a Data Vault architecture. By the end, you’ll understand how to design and manage snapshot dates effectively, and how they fit into the broader picture of multi-temporal data management.
In this article:
Why Snapshot Dates Matter
Imagine you are a business user who arrives at the office at 9 AM, expecting your reports to be ready. You want those reports to be stable — not changing throughout the day unless a new cycle of data refresh is scheduled. Snapshot dates exist to decouple data delivery from data ingestion.
- Load Date: Indicates when data from the source system arrived in your warehouse. It is system-driven and depends on the source’s delivery schedule.
- Snapshot Date: Defines when the data is frozen for reporting and analysis. It is business-driven and follows a regular schedule (daily, hourly, every 5 minutes, etc.).
This separation allows data teams to provide users with predictable datasets, regardless of how irregularly or frequently source systems deliver new data.
The Three Timelines in Data Vault
To fully grasp snapshot dates, it’s useful to understand that Data Vault designs operate across three different timelines:
- Data Warehouse Timeline: Driven by load datetime stamps, representing when data batches (or real-time messages) arrive from the source system.
- Snapshot Timeline: Driven by the business delivery cycle. This is when data is made available to users in stable form.
- Business Timeline: Driven by business events (contract start dates, end dates, valid-from/valid-to fields, modified timestamps, etc.) and stored in Satellites or other model components.
For this article, we’ll focus on the second timeline: the snapshot timeline.
Defining Snapshot Dates with Examples
Daily Snapshot Example
Suppose a company wants its reports refreshed once per day, every morning at 7 AM UTC. This means that:
- Regardless of when the source delivers data, the snapshot timestamp is always set to 7 AM.
- Users querying the data warehouse at 9 AM will see a stable version of the data that won’t change until the next snapshot is generated.
- In the control table, a row is inserted daily with the snapshot timestamp (e.g.,
2025-09-16 07:00:00 UTC
).
Hourly Snapshot Example
For real-time dashboards, an hourly or even 5-minute snapshot might be necessary. Let’s say hourly snapshots are generated:
- A new snapshot timestamp is inserted every hour (e.g.,
2025-09-16 01:00:00
,2025-09-16 02:00:00
, etc.). - Older hourly snapshots may be discarded after a week to save storage, while daily snapshots are retained for a year.
- End users can query either the most recent hourly snapshot or the daily snapshot depending on their needs.
Mixed Use Case
Some users might want hourly updates, while others only need a daily snapshot. In such cases:
- The control table holds all snapshots (hourly + daily).
- Boolean flags are used to mark whether a snapshot is “hourly,” “daily,” or “real-time.”
- Users can filter based on these flags when running queries.
How Control Tables Help Manage Snapshot Dates
In practice, snapshot dates are managed using control tables. There are typically two types of control tables in Data Vault projects:
- Load Control Table: Tracks load datetime stamps for each source, indicating whether the batch has been processed into staging, raw Data Vault, business vault, or marts.
- Snapshot Control Table: Stores snapshot datetime stamps generated by the warehouse. These define the stable reporting layers that users can query.
When building PIT (Point-in-Time) tables and bridge tables, the snapshot control table plays a critical role. It ensures that snapshots align with user expectations, and it provides metadata for filtering (e.g., “latest snapshot,” “daily snapshot,” etc.).
Implementing Snapshot Dates in PIT Tables
PIT tables act like indexes into your Data Vault, enabling efficient query performance. The loading process of PIT tables typically involves:
- Checking the snapshot control table to see which snapshots should exist.
- Loading the required snapshots into the PIT table if they’re missing.
- Ensuring that the PIT table and snapshot control table remain in sync after each refresh cycle.
When a user queries a PIT table, they can join it to the snapshot control table based on the snapshot datetime stamp. From there, they can filter by flags (e.g., latest, daily, hourly) to get the version of data they need.
Best Practices for Defining Snapshot Dates
- Work with business users: Define snapshot frequencies based on real business needs (daily, hourly, real-time).
- Be consistent: Establish a standard snapshot time (e.g., 7 AM UTC daily) to simplify reporting.
- Use control tables: Automate the insertion of snapshot timestamps and track them for PIT/bridge table loading.
- Retain wisely: Keep high-frequency snapshots (hourly/5-minute) for a short time, but retain daily snapshots for longer historical analysis.
- Decouple load and snapshot timelines: Remember that load datetime depends on the source, but snapshot datetime depends on user requirements.
Snapshot Dates vs. Business Dates
It’s worth highlighting again that snapshot dates are not the same as business dates like “contract start” or “valid-to.” Business dates come directly from source systems and are stored as part of the business timeline in Satellites or Links. Snapshot dates, on the other hand, are warehouse-generated and serve as reference points for reporting and querying.
Conclusion
Snapshot dates are a cornerstone of Data Vault’s multi-temporal design. By providing a regular, predictable timestamp for reporting and queries, they ensure stability and trust in data delivery — even as source systems deliver data at unpredictable times. With the help of control tables, PIT/bridge tables, and well-defined retention policies, snapshot dates give both IT teams and business users the clarity and consistency they need. Whether your business requires daily snapshots for stable reports or high-frequency snapshots for real-time dashboards, the principles remain the same: define, control, and communicate your snapshot strategy clearly.
Watch the Video
Meet the Speaker

Michael Olschimke
Michael has more than 15 years of experience in Information Technology. During the last eight years he has specialized in Business Intelligence topics such as OLAP, Dimensional Modelling, and Data Mining. Challenge him with your questions!