Almost every statement extraction pilot succeeds. That is the problem with them.
A pilot is a prediction: it claims that performance on these documents forecasts performance on next year's. Most pilots are poor predictions because the sample was assembled by someone who wanted it to work — the clean PDFs, the two banks everybody uses, the pages that scanned nicely. The result is true and does not generalise.
Why the underlying problem is hard is a separate subject. This is about designing the test.
Designing the test
Sample by stratum, not by convenience
Draw the sample from actual intake over a defined period — a full month, including month-end — and stratify it deliberately rather than taking the first hundred files. The strata that matter are the ones where behaviour differs: issuing bank, native PDF against scan against phone photograph, language and script mix, statement length, and account type where a salaried current account and a business account look nothing alike.
Then do the thing nobody wants to do: include the documents someone would normally set aside. The photograph with a thumb over the corner. The scan at an angle. The statement from the bank you only see twice a year. Those are not edge cases; they are the population that defines your exception rate, and excluding them is how a pilot produces a number that flatters everyone and predicts nothing.
A useful discipline is to have the sample drawn by someone with no stake in the outcome, or drawn mechanically — every nth document received. It costs nothing and removes the largest source of bias in the whole exercise.
Ground truth is the expensive part, and there is no shortcut
You cannot measure accuracy without a verified answer to measure against, and producing that means a person transcribing statements by hand. This is tedious, it is the main cost of a serious pilot, and skipping it is why so many pilots report vendor-supplied figures instead of measured ones.
Two practices make it defensible. Have a subset double-keyed by two people independently, so you know your own error rate — if your ground truth is 99% accurate, you cannot credibly distinguish two systems that differ by half a percent. And write down the ambiguous decisions before you start: whether a wrapped description counts as one transaction, whether a reversal is one row or two, how an opening balance line is treated. Those definitions are where two honest people produce different "correct" answers, and settling them afterwards means settling them in whichever direction favours the result.
Measure the things that map to work
Character accuracy is the wrong unit because nobody consumes characters. Measure at the levels where a human has to intervene:
| Metric | What it tells you |
|---|---|
| Field accuracy, per field | Where review effort will concentrate — date and amount behave differently from description |
| Transaction completeness | Rows missed or duplicated; the failure a total will not reveal |
| Statement-level pass rate | Share needing no human touch at all — the number that predicts headcount |
| Reconciliation pass rate | How often the balance identity holds end to end |
| Confidence separation | Whether low confidence actually predicts error |
The last row is the one that gets ignored and matters most operationally. A system with 94% accuracy and confidence scores that reliably flag the wrong 6% is more useful than one with 97% accuracy and confidence that is uninformative — because the first can be operated with a review queue and the second requires checking everything. Measure it directly: sort by confidence and see whether the errors cluster at the bottom.
Set acceptance criteria before you see any results
Write the pass threshold down, per stratum, before the pilot runs. This is the single cheapest discipline available and the most commonly skipped, because criteria set afterwards are set to match whatever happened. "Field accuracy above X on native PDFs and above Y on phone photographs, with the reconciliation check passing on at least Z per cent" is a decision. "It looked good" is not.
Set the thresholds by working backwards from operational capacity: how many statements will you receive, how many exceptions can the team actually clear in a day, therefore what pass rate is required. That derivation gives you a number you can defend to a vendor and to your own management, and it reframes the question from "is this accurate?" to "can we run this?" — which is the question that matters.
Three failure modes to design out
Do not let the vendor choose the sample, and do not let them see it before the run — a system tuned on your pilot documents will score well on them and generalise worse than an untuned one. Do not compare against a vendor's published benchmark, since it was measured on other documents under other definitions. And do not run only until it works: fix the sample and the criteria up front, then report the number you got, including for the strata that did badly. A pilot that finds phone photographs of Arabic statements underperform has produced its most valuable result, because that is a scoping decision you can now make on purpose rather than discover in production.
The honest summary
The methodology is more decisive than the model. A mechanically drawn, stratified sample of real intake, double-keyed ground truth with written definitions, field and statement-level metrics, and acceptance criteria fixed in advance will tell you what production looks like. Anything less produces a number that is true about a hundred files and silent about everything else.
Muscat Tech Solutions builds the Gulf Statement Analyser for banks and finance teams across Oman and the GCC, and would rather be measured on your own worst documents than on a curated set. To design that pilot, talk to us.
Related posts
-
From a Mulkiya Photo to a Motor Quote
Reading the card is the easy stage. The drop-off happens on either side of it.
24 February 2026 -
Face Recognition for Attendance: The Permit Most Buyers Do Not Know About
Employee consent is not the binding constraint. Article 5 of the PDPL is.
10 February 2026 -
The SIF File: How Oman's Wage Protection System Actually Fails
A payroll run does not fail because the money is missing. It fails on a field.
27 January 2026


