Cost Allocation & Showback Platform · View 06 of 22 · 3 · Structure
Why these layers
- Normalisation is separate from ingestion so the raw form survives every schema change
- Ownership is its own layer because it is human-authored and effective-dated, unlike everything above and below it
- Allocation is a single layer with one entry point, which is what makes it re-runnable
- Statement is above analytics because analytics may be approximate and the statement may not
What each layer may assume
- Allocation assumes its three inputs are pinned and immutable for the duration of a run
- Experience assumes every figure it renders carries the versions that produced it
- Consumed systems are read-only and may be stale; a stale read blocks rather than degrades silently
Deliberately omitted
- Cross-layer calls that exist only for performance — the roll-up marts in act 4 carry those