Live demo

19,800 transactions. Which 149 would you open?

One quarter of invoices and expenses, $215,593,342 across 16 vendors and cost centres. Splitting under the $5,000 approval limit was injected into two of them. Every test below runs in your browser on the actual amounts, and nothing here is a claim about anybody’s intent.

Transactions
19,800
one quarter, all screened
Units screened
16
vendors and cost centres
Survive correction
3
BH at 5.0% FDR
Lines to review
149
0.75% of the book

Step one, the part that has to be true first

The book as a whole follows Benford

Real spend spans orders of magnitude, and when it does its leading digits land on log10(1 + 1/d). About 30% of amounts start with a 1 and under 5% start with a 9. If this did not hold on the clean data, flagging anything for violating it would prove nothing.

All 19,800 transactionsclose conformityMAD 0.0012 · chi-square p = 0.944
9%17%26%34%123456789observedBenfordleading digit

30.5% of amounts start with a 1 against an expected 30.1%. Nigrini’s MAD bands put anything under 0.006 in the close-conformity range, and this sits at 0.0012.

Step two

Two units do not, and the worse-looking one is innocent

Same test, one unit at a time. The largest digit deviation in the whole book belongs to a vendor that has done nothing at all, and the vendor that was actually splitting purchases barely registers. That is the honest shape of this signal and it is why the digit test cannot be the whole product.

Northwind Licensingnonconforming conformityNothing is wrong hereMAD 0.0364 · chi-square p = 6.4e-13
8%17%25%34%123456789observedBenfordleading digit
Amounts starting with 1
121
expected 181 under Benford
Deviation
-60
lines against expectation
Lines tested
600
this unit, this quarter

Fixed per-seat pricing across a narrow band of quantities. Amounts land in a bounded range instead of spanning orders of magnitude, so the leading digits cannot follow Benford and were never going to. The test is working correctly and the answer is still not evidence of anything.

Meridian Facilities Groupacceptable conformityWorth a second test, not a conclusionMAD 0.0104 · chi-square p = 0.0263
9%18%27%36%123456789observedBenfordleading digit
Amounts starting with 4
153
expected 121 under Benford
Deviation
+32
lines against expectation
Lines tested
1,250
this unit, this quarter

This is the vendor with splitting injected into it, and the digit test can barely see it. The MAD sits inside Nigrini's acceptable band and the chi-square only just clears 0.05. Anyone reporting this as a finding on its own would be overselling it.

Step three, and the stronger signal

A pile below the limit and a hole above it

Nothing to do with digits. Someone splitting a $7,000 purchase to stay under a $5,000 approval limit leaves two invoices in the four thousands and none in the five thousands. Do it enough times and the shape of the spend around the boundary stops being smooth.

Meridian Facilities GroupClusters under the limit
1020$5,000 limit$3,000$7,000
Below
66
$4,600 to $5,000
Above
8
$5,000 to $5,400
p-value
1.6e-11
even-split null
Field OperationsSmooth across the limit
48$5,000 limit$3,000$7,000
Below
20
$4,600 to $5,000
Above
17
$5,000 to $5,400
p-value
0.6219
even-split null
The signature is specific to the limit, which is what makes it worth something

Run the same test on Meridian Facilities Group at every limit in the approval policy. Only one of them shows anything. A pattern that fires at every arbitrary boundary would be a property of the distribution, not of anyone’s behaviour.

Just below $5,000
66
within $400
Just above
8
same window width
p-value
1.6e-11
against an even split
Verdict
Clusters
worth a human look

Step four

Sixteen units, thirty-two tests, three survivors

Two tests on each of 16 units is 32 simultaneous tests. At an uncorrected 5% you expect false hits every single run, and a nightly product that hands back false hits every night gets switched off inside a month. Benjamini-Hochberg at 5.0% is what keeps the list worth reading.

UnitLinesDigit pLimit pq after BHUnder limitOutcome
Atlas Freight SystemsVendor1,4000.51930.03300.2112$23,982Clear
Corvus Print & MailVendor9000.93190.08960.4776Clear
Helio FacilitiesVendor1,1000.40820.20080.7140Clear
Northgate LegalVendor7000.15550.56370.6621$4,743Clear
Pinewood CateringVendor1,6000.54860.70551.0000$4,770Clear
Quarry Road HardwareVendor1,2000.01170.04950.0936Clear
Sable AnalyticsVendor8000.87280.16550.6621Clear
Field OperationsCost centre2,1000.59450.62191.0000$7,191Clear
MarketingCost centre1,5000.52620.85271.0000Clear
R&D PrototypingCost centre1,3000.42780.83481.0000$2,411Clear
FacilitiesCost centre1,0000.26720.46690.8551$7,200Clear
TravelCost centre1,8000.29730.72370.8648$4,819Clear
IT SupportCost centre9500.42800.81851.0000$2,380Clear
Meridian Facilities GroupVendor1,2500.02631.6e-112.5e-10$139,733Review
Regional BuildoutCost centre1,6000.31864.8e-65.2e-5$86,085Review
Northwind LicensingVendor6006.4e-130.14512.1e-11$26,388Review
What the correction actually bought

2 clean units in this run cleared an uncorrected 0.05 on one of the two tests: Atlas Freight Systems, Quarry Road Hardware. Nothing is wrong with any of them. That is what 5% means when you run 32 tests. Correction removed them and cost nothing real: the two units with splitting injected clear the corrected bar by three orders of magnitude and more.

Step five, the actual product

Review these, in this order

Ordered by dollars sitting under the limit, not by p-value. A unit flagged on digits alone carries no money and belongs at the bottom, whatever its p-value says. This is the whole output: 149 lines out of 19,800, ranked.

1Meridian Facilities GroupVendorClusters under the approval limitq = 2.5e-10
Under the limit
$139,733
excess lines at window mean
Below / above
66 / 8
equal windows either side
Digit conformity
acceptable
MAD 0.0104
Lines to pull
66
of 1,250 this quarter
Start with these
INV-1113-00312026-06-03Emergency callout$4,974.58
INV-1113-04432026-06-13Fit-out labour$4,972.11
INV-1113-01622026-07-16Fit-out labour$4,970.55
INV-1113-01712026-07-10Building services$4,967.66
INV-1113-00732026-06-12Emergency callout$4,966.64
2Regional BuildoutCost centreClusters under the approval limitq = 5.2e-5
Under the limit
$86,085
excess lines at window mean
Below / above
49 / 13
equal windows either side
Digit conformity
acceptable
MAD 0.0073
Lines to pull
49
of 1,600 this quarter
Start with these
EXP-1114-03182026-07-15Temporary power$4,968.81
EXP-1114-12152026-07-03Contract labour$4,967.46
EXP-1114-05282026-06-02Site prep$4,966.80
EXP-1114-02532026-06-30Site prep$4,960.53
EXP-1114-00692026-07-23Temporary power$4,955.13
3Northwind LicensingVendorDigit distribution onlyq = 2.1e-11
Under the limit
no money under the limit
Below / above
34 / 23
equal windows either side
Digit conformity
nonconforming
MAD 0.0364
Lines to pull
34
of 600 this quarter
What a reviewer should check

Whether the price list explains the digit distribution. Fixed per-unit pricing across a narrow band of quantities produces exactly this shape and is entirely legitimate. If the contract matches, clear it and suppress the unit.

Read this before you act on any of it

A Benford deviation is evidence of an anomaly and never evidence of fraud. Item 3 above is a real vendor with a fixed per-seat price list, which is why its digits look nothing like Benford and why its spend is perfectly smooth across the approval limit. It is on the list because the digit test cannot tell the difference, and it comes off the list in about thirty seconds once a human opens the contract. That is the division of labour this product is built around. Ledger ranks and prioritises. It does not decide that anything is wrong, and it does not accuse anyone.