The art of catching a mistake before it travels

Labelled stock on warehouse shelving

Every barcode you have ever scanned ends in a digit whose only job is to catch a lie. It is a small, elegant idea, and once you know it is there you start seeing it everywhere.

The last digit of a barcode, and of an ISBN on the back of a book, is a check digit. It is not part of the number in any meaningful sense. It is calculated from all the other digits, using a fixed sum, so that the total comes out to a round figure. When the scanner reads the code, it does the same sum and compares. If a single digit was misread, the total no longer fits, and the scanner knows it has made a mistake. So it beeps again, rather than quietly booking in the wrong pallet.

A little redundancy buys a lot of trust

This is error detection, and it has a distinguished ancestry. In 1950, working at Bell Labs, Richard Hamming published a way to go one better: codes that not only spot an error in a message but work out which bit flipped and correct it, all by adding a small, clever amount of redundancy. It is the reason a file can cross a noisy connection, or be read off a scratched disc, and still arrive exactly as it left. One extra piece of information, well chosen, lets the whole system tell when it is wrong.

The lovely thing is how cheap it is. A barcode pays for all that confidence with a single extra digit. The cost of being able to catch a mistake is almost nothing. The cost of not catching it can be enormous.

The same idea, made of people

Most of the checks that keep operations honest are checksums made of people and habits rather than maths. The read-back on a radio, where the listener repeats the instruction so the speaker can hear if it was garbled. The second signature on a critical step. The colleague who re-keys the important number rather than copying it. Each one is a small piece of deliberate redundancy, there to catch the error before it travels.

And the principle that makes barcodes work applies to human data too: the cheapest error to fix is the one caught at the moment of capture. A mistake spotted as it is typed costs a second. The same mistake found three steps downstream, after it has been copied into a report and a spreadsheet and a claim, costs hours, and by then nobody is sure which copy is right. A required field, a sanity check, a gentle “did you mean”, these are checksums for human work.

Catching an error is a gift, not a gotcha. The team that thanks the person who spots the mistake is the team that finds more of them.

There is a quiet culture point underneath all of this. Error correction only works if errors are allowed to surface. Build a place where pointing one out is welcome, and you get a system that heals its own mistakes. Build one where it is embarrassing, and the mistakes simply travel further before anyone admits them. The maths is the easy part. The kindness is the rest.

References

  1. R. W. Hamming, “Error Detecting and Error Correcting Codes”, Bell System Technical Journal, 1950. archived copy.
  2. GS1, General Specifications (check digit calculation for GTIN and EAN/UPC). gs1.org check digit calculator; see also the ISBN check digit, isbn-international.org.

Written and published by Logincident.

Make every report count.

Tell us what your team reports and we will show you how it works in Logincident.

Contact us