Labs
Each lab takes under an hour on a laptop and turns a claim from this mechanism into a number you measured yourself. All labs use Python's built-in sqlite3 module, or DuckDB (pip install duckdb) where noted.
- 1
SCD Type 2: as-was against as-is, and a late arrival
Keep a customer's history with SCD type 2, answer as-was and as-is, place a late fact, and count the cost of a late correction.
SimulatePython - 2
Average of ratios against ratio of sums
Compute a margin rate as an average of daily ratios and as a ratio of sums, at day, month and year level.
SimulatePython with NumPy - 3
Reproduce a fan trap and a chasm trap
Sum a measure across a join to a finer grain and across two independent branches, then fix both by aggregating first.
Break itPython - 4
Cost of a dimension change: star against OBT
Rename one product category in a star and in one big table: one dimension row against a 20-million-row rewrite.
MeasurePython with DuckDB - 5
The definition-variant experiment
Count "active customers in September" three reasonable ways and trace each difference to an unwritten edge case.
SimulatePython with DuckDB - 6
Entity resolution: blocking and the threshold
Find typo duplicates among 22,000 customers: blocking cuts the pairs to compare, and the threshold trades false merges for misses.
SimulatePython