What the raw table costs you · UCI Online Retail II · CC BY 4.0
01 / 08 · ProblemWhich number is the number?
What is actually wrong with this dataset, what would a data contract have caught, and what does the damage cost in money?
Finance, ops and the board are quoting different revenue figures off the same table, and nobody can say which reading is correct. That is where the work starts — not with a model.
02 / 08 · Their dataOne export, as published
Two spreadsheet tabs, a transaction line per row, no product master and no documented grain. Exactly the shape most operational exports arrive in.
- transaction lines
- 1,067,371
- trading period
- 2009–2011
03 / 08 · ToolsNothing you need a licence for
Python and pandas over the raw export. No warehouse to buy first, no platform commitment, and every step reproducible on your own machine.
- licences required
- 0
- figures computed
- 100%
04 / 08 · TechniqueA data contract, declared up front
Thirty-one rules covering grain, keys, types, ranges, referential integrity and sign conventions — each with a severity, written before the data is scored so the thresholds cannot be tuned to flatter the result.
- rules declared
- 31
- at critical severity
- 9
05 / 08 · The workEvery rule, over every row
The contract runs across the whole table rather than a sample, and each violation is attributed back to the rule that caught it.
- rules fail
- 19 of 31
- of lines violate one
- 65.4%
06 / 08 · FindingsA nine-day window, counted twice
Both spreadsheet tabs carry the same nine days. Anyone who concatenates them inherits the double count, and it survives naive de-duplication because the line values differ.
- double counted
- $632,383
- revenue with no customer
- 14.75%
07 / 08 · ResultFour defensible answers, one definition
Four legitimate readings of the same table sit $2.37m apart. The engagement ends with one definition chosen, written down and enforced in CI — so it stays one number after we leave.
- between readings
- $2,366,335
- of the total
- 7.92%
08 / 08 · HandoverPublished, limitations included
The method, the results and what we could not establish — all of it in the open, on public data. You can check every figure on this slideshow against its source.
- findings
- 11
- limitations published
- 11
Read the full project