T10-L03 · Data & analysis · Level 3 Builder · 17-minute read, plus 3 hours of doing

The figure nobody could rebuild

Clara's cleaning workbook from T10-L02 · Clean a Messy Export Once, So Your Team Can Refresh It works. Every month a colleague refreshes it and the check block adds up. The analysis after it doesn't work that way. Clara opens a notebook, a file of code blocks called cells that you run one at a time, runs the cells, decides which of the re-injected samples to keep, and pastes the bar chart into the group meeting slides. In June one of those charts goes into a paper draft. In September a co-author asks her to add two samples and redraw it. She can't reproduce June's numbers. Her laptop now has pandas 3, a new major version of the Python package for tables, and a line that used to overwrite values no longer changes the table. And she no longer remembers which injection she kept for two of the samples.

In a company it's the monthly cost review. Deniz's clean table goes into a spreadsheet where the controller compares actual costs with the budget per cost centre. In July the budget was reforecast. Half the team compares against the new budget, half against the old one, and the management summary mixes both.

Neither analysis was wrong on the day it was made. Nobody could make it again. You are at Level 3 Builder: colleagues and co-authors depend on these numbers. This book shows you how to package an analysis so that someone else can rerun it on their own computer and get the same result, or a clear message telling them why not.

After this you can

  • Separate raw input, code, settings and generated output, so nobody fixes a result by hand.
  • Pin the Python environment with uv and a lockfile, so a colleague's computer runs the same package versions.
  • Fingerprint every input and record every analyst decision in a file, so the pipeline stops when either is missing or changed.
  • Ship a small sample with hand-checked answers and a check that prints PASS or FAIL.
  • Hand the pipeline to a colleague who reruns a real month on a fresh copy and gets identical numbers.

Before you start