Teaching Datasets

Four teaching datasets + fourteen chapter worked-example datasets \u2022 Updated 2026-07-24

The four teaching datasets that accompany The Defensible Decision. Each is sized to support real practice across the 14 chapters — not a toy small enough to fit on a single slide, not so large that loading it becomes a chapter exercise on its own. Each includes the kinds of imperfections real data has (null values, naming inconsistencies, occasional outliers, definitional drift) so the chapter exercises teach the discipline the book is actually about.

All four datasets are wholly synthetic. Any resemblance to a real company's data is coincidental. Each dataset's README documents what it represents, what it does not represent, and the deliberate imperfections built into it. Appendix E provides a completed exemplar and an intentionally underspecified starter for each dataset below, plus the AIRS research exemplar.

The four datasets

Chapter worked-example datasets

Compact, purpose-built datasets that back a single chapter’s worked example. Unlike the four cross-chapter teaching datasets above, these do not carry designed-in imperfections and are sized to exactly what the chapter’s figures visualise.

About the imperfections

Each dataset includes intentional data-quality issues — null values, naming inconsistencies, definitional drift, mid-window state changes. The imperfections are the point. A chapter exercise that pretends the data is perfect is teaching the wrong discipline.

Each dataset's SCHEMA.md documents every imperfection explicitly. The chapter exercises in the book reference the imperfections by name where they matter — the regional-naming reconciliation in Chapter 4, the cross-channel attribution reconciliation in Chapter 11, the self-assessment-versus-operational-signal triangulation in Chapter 13.

Reproducibility

The four cross-chapter datasets are generated by Node scripts in the companion-site repository at scripts/datasets/. Each script uses a seeded pseudo-random number generator (mulberry32 with a documented hex seed per script), so rerunning produces byte-identical output. The CSVs you download here are the same CSVs anyone else downloading at any time will receive.

Priya’s Q3 sales dataset is generated deterministically from a canonical JSON source in the book repository at applied-ai/ai-directed-viz/data/priya-q3-dashboard.json; the source SHA-256 travels with each derivative so drift between the book and this site is detectable. Aisha’s AIRS cohorts, Rohan’s services dashboard, Yuki’s session, Marcus’s compromise dashboard, Lina’s channel ROMI, and Nadia’s Q3 region datasets follow the same pattern — each has a canonical JSON source in applied-ai/ai-directed-viz/data/ and a dedicated generator script under applied-ai/ai-directed-viz/scripts/generate-*.mjs.

If you want to regenerate the datasets with a different seed for your own teaching purposes, the scripts are open in the companion-site repo.

License and reuse

Released for teaching use alongside The Defensible Decision. Use freely in classes, workshops, and your own practice. No attribution required beyond what's already in the dataset READMEs.