← Back to Pattern Catalog
Reporting Pattern

As-Known Reporting

As-Known Reporting answers historical questions using only the information that was known at the reporting time.

Problem

Past reports can be rewritten by future knowledge.

A report can be historically correct in two different ways. It can show the corrected truth as we know it today, or it can show what was known when the report was originally produced.

As-Known Reporting makes this distinction explicit. It protects published reports from being silently changed by later corrections.

Future knowledge leakageNon-reproducible reportsAudit disagreementIncorrect visible-time logic
Example

A January report should not use a March correction.

January 31
Report is published
Customer segment is known as Retail.
March 12
Correction arrives
The January segment is corrected to Premium.
As-known view
January still shows Retail
Premium was not known when the January report was published.

The corrected-truth view may show Premium. The as-known January report should still show Retail.

Why it happens

Business time and knowledge time are different.

The business effective date tells you when something was true in the real world. The visible or knowledge date tells you when the system actually knew about it.

Late correctionsBackdated changesReloaded source historyBitemporal dimensionsCorrected master dataPublished month-end reports
Common modeling approaches

Make the reporting perspective explicit.

Track visible time
Store visible_from and visible_to so the model knows when a record became available.
Query with two dates
Use both the reporting date and the knowledge date when reconstructing reports.
Preserve knowledge states
Do not overwrite previous known states when corrections arrive later.
Separate report modes
Distinguish corrected-truth reporting from as-known reporting in the semantic layer.
Validation checks

Check that the past stays reproducible.

Validate visible-time intervalsCheck whether future records leak into past reportsCompare as-known output with published snapshotsDetect retroactive correctionsValidate bitemporal as-of queries
Why it matters

As-known logic is often the reason bitemporal modeling exists.

As-Known Reporting is essential when historical reports must be reproduced exactly as they were seen at the time.

It prevents corrected history from silently rewriting the past and gives business users, auditors and engineers a shared definition of historical correctness.

Related Patterns
Bitemporal ModelingHistorical CorrectionSnapshot ReproducibilitySnapshot Fact ModelingHistorical Conformance
Try it

Explore historical reporting behavior in the Workbench.

Use the Historical Modeling Workbench to reason about historized sources, visible-time behavior and reproducible historical outputs.

Open Historical Modeling Workbench →