An accumulating snapshot is a fact table with one row per run of a process, like an order going from placed to shipped to delivered.
Each milestone gets a date on that row, filled in as it happens, so you can see how long each step takes and where everything is right now.
That’s the short version.
If you want to go deeper, these are the sources I’d start with. Ralph Kimball and the Kimball Group defined the pattern, Lawrence Corr shows how to model it with your stakeholders, and Johnny Winter and I talked it through on the podcast.
Online
Kimball Group, Accumulating Snapshot Fact Table: the short definition.
Chris Adamson, When do you need an accumulating snapshot?: a plain explanation of when it’s worth building one.
Margy Ross, Design Tip #130: Accumulating Snapshots for Complex Workflows: what to do when there are too many lags.
Joy Mundy, Design Tip #145: Timespan Accumulating Snapshot Fact Tables: keeping the history of each row.
Bob Becker, Design Tip #167: Complementary Fact Table Types: using all three fact table types together.
Warren Thornthwaite, Design Tip #43: Dealing with Nulls in the Dimensional Model: why empty milestone dates need a default row.
Bob Becker, Design Tip #128: Selecting Default Values for Nulls: the “Not Happened Yet” row.
Dimensional Data Modeling Patterns with Johnny Winter, AgileData Podcast episode 73, and its transcript.
modelstorming.com: the companion site for Lawrence Corr’s book and BEAM✲.
Books
Lawrence Corr with Jim Stagnitto, Agile Data Warehouse Design (DecisionOne Press, 2011), chapters 2 and 8.
Ralph Kimball, Margy Ross, Warren Thornthwaite, Joy Mundy and Bob Becker, The Kimball Group Reader (Wiley, second edition, 2016), articles 1.10 “Fact Tables”, 8.6 “Modeling a Pipeline with an Accumulating Snapshot” and 8.7 “Combining Periodic and Accumulating Snapshots”.
Ralph Kimball and Joe Caserta, The Data Warehouse ETL Toolkit (Wiley, 2004), chapter 6, “Delivering Fact Tables”.
