Test run · July 2026 · not a client deliverable

CADi’s first end-to-end run against a public synthetic benchmark — 6,362,620 PaySim rows on SCM 3.0.0. It demonstrates the mechanism: a decision made at the authorization moment, with a named reason, and the fraud label never in scope. It is not a client deliverable and not a fraud-accuracy claim. It reports recall without the operating point that decides whether the screen could actually be run — the flag alerts on 23.9% of all transactions, roughly 190 alerts for every fraud found — states no baseline comparison, and recorded no provenance stamp while it ran. That re-instrumented run has since landed (SCM 3.2.0, 1 August 2026). It reproduced this run’s confusion matrix exactly - the same 8,012 catches and 201 misses - and added the transaction amount this run never recorded. On that measure recall is 87.5% by value against the 97.6% by count quoted below, because the 201 missed frauds average 5.7× larger than the 8,012 caught. Every recall figure in this document is by count unless it says otherwise.

Executive summary

CADi benchmark test run · PaySim (Kaggle paysim1) — synthetic mobile-money fraud benchmark

On 6,362,620 transactions, CADi flagged 97.6% of genuine fraud by count at decision time, and 87.5% of it weighted by the amount at stake, before any outcome existed and without ever seeing the fraud label.

97.6%
fraud recalled by count (of 8,213)
87.5%
fraud recalled by value
0.53%
precision @ 0.129% base rate
6,362,620
transactions screened
0
fraud labels seen by the engine

The finding

BALANCE_EMPTYING_RISK operates as a high-recall, low-precision first-line screen: it surfaces the large majority of genuine fraud for review, at the cost of flagging a share of legitimate balance-emptying activity. A review-triage signal — not an automated decline — raised live, with a named reason a conventional dashboard cannot produce.

What this is — and is not