Engineering · Operations

We measured ten screens and believed it about a hundred and five

A check said our system was sending none of our customers’ data to a translator. It was true of the ten screens we checked. Across all 105 it was nine per cent — and the screens we missed were the ones that print the whole product list.


Here is a mistake worth writing down, because the shape of it turns up in stock counts, in sales reports and in every "we checked and it's fine" anybody has ever said in a food hall.

What we claimed

We had spent a release keeping venues' own data — kitchen names, product names, section headings — out of the machine translator. To check it, we drove ten back-office screens in a real browser, collected every piece of text the page would send off to be translated, and compared it against the venue's actual names from the database.

Nothing matched. Zero per cent. We wrote it down as done.

What was true

The next day we drove all 105 screens the same way. Nine per cent of the text going to the translator was customer data — 151 strings.

And the miss was not random. The ten screens we had picked were the ones we had just been working on. The screens we had not picked were the cost-of-sales report, the supplier price lists, the ordering forecast, the stock movement list — in other words, precisely the screens whose job is to print every product you have. The sample was not just small. It was biased towards the screens least likely to show the problem.

The general version

A measurement is only ever a claim about what it measured. Ours was true: those ten screens were clean. The error was in the sentence we wrote afterwards, which was about the whole system.

The same thing happens on a Tuesday in a food hall:

  • You spot-check five lines of a delivery and sign for ninety.
  • You count the freezer weekly and the dry store monthly, and the variance you cannot explain is always in the dry store.
  • You watch the queue at lunch and set staffing for the day.
  • You taste the new dish and decide the menu is fine.

None of those is wrong to do. What is wrong is dropping the qualifier when you report it. "The freezer counted clean" and "stock is clean" are different statements and only one of them is supported.

What we changed

Two things. The check now walks every screen, not a chosen few — it takes six minutes and runs unattended, which is exactly the sort of job a machine should be doing instead of a person picking ten. And the record of the earlier claim was corrected rather than quietly replaced, because "we said 0% and it was 9%" is more useful to the next person than a number that was always right.


Try it on tonight’s service.

Nothing to install, no card. Not better by the weekend? Close the tab.