Many screening engines rank name matches with Jaro-Winkler or a close relative. Working one score by hand shows what a threshold can and cannot separate.
Jaro-Winkler similarity is the Jaro score, built from matching characters and transpositions, plus a bonus for a shared prefix of up to four characters. Against an illustrative listed name OLEG IVANOV, the transliteration OLEG IVANOFF has a Jaro score of 0.914 and a Jaro-Winkler score of 0.948, so a 0.95 threshold misses it. A different person, OLGA IVANOVA, reaches the same 0.948 once token order is allowed for, which is why the threshold cannot be the only control.
Worked in full in The EU AML Handbook by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →
Screening engines rarely publish their scoring, but many of them rank candidate matches with Jaro-Winkler or a close relative. Compliance teams set the threshold, defend it to supervisors and tune it after every list update. Working the score by hand once shows what the number measures and where it breaks.
| Customer name | Relationship to the listed OLEG IVANOV |
|---|---|
| OLEG IVANOV | Exact match |
| OLEG IVANOFF | Same person, alternative transliteration |
| OLEG IWANOW | Same person, German transliteration |
| ALEG IVANOV | Same person, typing error in the first letter |
| IVANOV OLEG | Same person, surname first |
| OLGA IVANOVA | Different person |
| OLEG PETROV | Different person |
Names are upper case with a single space. Standard parameters: a prefix scale of 0.1 and a maximum prefix of four characters.
Jaro-Winkler is preferred to plain edit distance for names because it is normalised between zero and one whatever the length, tolerates characters that drift a position or two, and weights the start of the string, where people make fewer errors. Each of those design choices shows up in the results below, for better and for worse.
Jaro = ⅓ × (m ÷ |s1| + m ÷ |s2| + (m − t) ÷ m)
Jaro-Winkler = Jaro + l × 0.1 × (1 − Jaro)
m is the number of matching characters, counted only if they sit within a window of half the longer name minus one; t is half the number of matched characters out of order; l is the shared prefix, capped at 4. Excel has no built-in function; most teams compute it in the screening engine or in a short script.
Take OLEG IVANOFF, 12 characters, against OLEG IVANOV, 11. The window is 5 positions. Ten characters match: O, L, E, G, the space, I, V, A, N and the second O. None is out of order, so t is 0.
| Customer name | Jaro | Jaro-Winkler | Sorted | Best |
|---|---|---|---|---|
| OLEG IVANOV | 1.000 | 1.000 | 1.000 | 1.000 |
| OLEG IVANOFF | 0.914 | 0.948 | 0.948 | 0.948 |
| OLEG IWANOW | 0.879 | 0.927 | 0.891 | 0.927 |
| ALEG IVANOV | 0.939 | 0.939 | 0.492 | 0.939 |
| IVANOV OLEG | 0.492 | 0.492 | 1.000 | 1.000 |
| OLGA IVANOVA | 0.847 | 0.878 | 0.948 | 0.948 |
| OLEG PETROV | 0.710 | 0.826 | 0.492 | 0.826 |
Three things stand out. The prefix bonus rewards a shared first name: OLEG PETROV, a different person, climbs from 0.710 to 0.826 on OLEG alone, while ALEG IVANOV gets no bonus because its first letter differs. Reversed names collapse: IVANOV OLEG finds only 4 matches inside the window and scores 0.492 until tokens are sorted. And sorting helps the wrong name as much as the right one: OLGA IVANOVA rises to 0.948, exactly level with the true variant.
| Threshold | Alerts | True variants missed | Different people alerted |
|---|---|---|---|
| 0.85 | 6 | None | OLGA IVANOVA |
| 0.90 | 6 | None | OLGA IVANOVA |
| 0.95 | 2 | IVANOFF, IWANOW, ALEG | None |
At 0.95 the transliteration misses by 0.002. Between 0.90 and 0.85 nothing changes on this list, which is the usual shape: thresholds work in steps, and the only way to know where the steps are is to run known variants through the engine. A test pack of transliterations, typing errors, reversed and truncated names for each list is the evidence a supervisor will ask for, in the same way that monitoring thresholds are tested band by band in setting an AML transaction monitoring threshold.
The similarity score decides which names reach an analyst; it does not decide whether they are the listed person. OLEG IVANOFF and OLGA IVANOVA are indistinguishable at 0.948. Date of birth, nationality and address separate them at review, which is why those fields need to be complete in customer data before screening runs.
The common mistake is raising the threshold to cut alert volumes. Every point removed from the alert queue comes from somewhere on the score distribution, and on names the variants of a listed person sit just below the exact match. Here, moving from 0.90 to 0.95 removes three true variants and one false alert. The cost shows up as staffing in the other direction, as worked in the false positive rate of AML alerts; the answer to volume is better secondary identifiers, not a higher threshold.
Jaro-Winkler = Jaro + prefix × 0.1 × (1 − Jaro). It scores OLEG IVANOFF at 0.948 against OLEG IVANOV, misses reversed names unless tokens are reordered, and cannot separate a true variant from a different person with a similar name. Set the threshold on a documented test pack. The free companion files for the book include a working document with the four data controls, the test pack and the watch list.
There is no universal value: set it by testing known variants of listed names against your engine. In the illustration a 0.95 threshold misses the transliteration OLEG IVANOFF at 0.948, by 0.002, while 0.90 catches it along with OLEG IWANOW at 0.927 and a first-letter typo at 0.939. Tune on a test pack, then document why.
Because it compares characters by position within a window. IVANOV OLEG against OLEG IVANOV finds only 4 matching characters within the 4-character window and scores 0.492. Sorting the tokens first lifts it to 1.000, but sorting also hurts other cases, so engines score several orderings and keep the highest.
Not on its own. With names compared in both orders, the true variant OLEG IVANOFF and the different person OLGA IVANOVA both score 0.948 against OLEG IVANOV. No threshold keeps one and drops the other; date of birth, nationality and other identifiers have to do that work at the alert review stage.
This article is one calculation from The EU AML Handbook. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.
Get the book on Amazon →Free companion files
Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada
Reading guide: regulation, compliance and banking → · All 1340 articles →
If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.