The console · every row below is a real screening decision
Set the catch rate you have to hold. The queue is what it costs you.
… real customer names, each a genuine alternate spelling for a party on today's SDN list, screened against the whole list with the same matcher the repository uses. Move either dial and the queue below re-partitions. Nothing is simulated.
Your portfolio decides this, not the matcher.
Why the misses happen
Every name on the list is written in one alphabet.
All 43,872 names published on the SDN list are written in Latin letters. A customer whose name arrives in its own script therefore shares no word with any entry on the list, and a phonetic key cannot bridge the gap either, because phonetic keys are defined over Latin letters too.
Type a name. This runs the same normalisation the measurements use, then looks the resulting tokens up against the … name tokens the SDN list indexes.
Token overlap only is shown here, never the phonetic key. Reimplementing a phonetic
algorithm in JavaScript would risk this page disagreeing with the repository, and the two
implementations shipped inside jellyfish itself already disagree on 5 tokens in
every 5,000. The queue above uses the real keys, computed in Python.
Retrieval, by writing system
Romanising the query is a six-line change and recovers most of the loss.
Han stays broken because romanising Chinese needs pinyin rather than a generic converter, and the residual Latin misses are romanisation divergence rather than script: Mikalaj Mikalajevitj VERABEJ against the list's Mikalai Mikalaevich VARABEI.
What this does not establish
The honest limits.
- A vendor doing per-language transliteration will beat this baseline. The claim is about the size and the location of the gap, not that everyone's is this wide.
- The prevalence dial is yours to supply. It is a property of your portfolio and your candidate generator, not of the matcher, and nothing here estimates it.
- The queue is not a random sample of screening traffic. It is drawn from the alternate names the corpus records for parties on today's SDN list, so it is richer in cross-script cases than a European bank's file and poorer than a remittance corridor's. The threshold, catch rate and alert ratio in the readout come from the full …-pair distribution, not from the queue.
- No LLM matcher is evaluated. The argument applies to one with more force, not less: a matcher that returns a verdict rather than a score has no threshold to move, so it cannot be calibrated to a required catch rate or shown to an examiner as a curve.
- No script share is published here. Four defensible definitions of “a non-Latin name” span 3.4% to 39.5% on the same corpus, so the figure is not portable.