Valid Time and System Time
Valid time describes when a fact applies in the modeled business world. System time describes when a version is recorded as current in a specified database or system. A customer may move on March 14 while the database records that move on March 20. Name the system and the timestamp semantics rather than treating every timestamp as event time.
A bitemporal model retains both validity intervals and system-version intervals. It can distinguish what a March 16 report could have known then from a later correction of March 16. A loaded_at column on a row that is overwritten does not preserve prior system versions. Reproducing a report also needs its query and other inputs.
Database system versioning is not automatically business-valid history. SQL Server temporal tables track database versions using their documented transaction-time behavior; business validity needs its own design. Source recording time may also precede arrival in a feature store. For predictive features, test availability in the system that actually served the prediction.
Reference: Microsoft temporal tables. See Data Modeling for Operational and Analytical Systems for the worked example.
Discover more from Insightful Data Lab
Subscribe to get the latest posts sent to your email.
