enc_U2FsdGVkX1/s+W7EJ6B1SU2+3c+Y76uEnxjMiBksZuwiGJreQTFeGe0H8q1XTK45HCjoNgpmcd5cjqFDX5BNz3dbV6Cv2QDMuHUUv6y2uSM8Wz8hULBKsB/CEcfGj6s2x4DZuM4beW1v05PHTic7/cWmfQnGbqTuIKAfPOyYW5LZ+sdRET4AE4IUW8qZt5oT/IxlJ3B1qICtLV7dPp+IiQ==_enc

enc_U2FsdGVkX19wx8tYnf8oOIEU708WiDciGyDiQ/NBsufP9TbWcnxYD2HoXz8yJm0x_enc

  1. Any screening in Go!Scan uses a customised filter to restrict the number of results. This filter will return a boolean result to define if the candidate matches or not the filter. A candidate who don’t match the filter will not be returned and will not be scored.
  2. Customers matching the filter will be returned in a first order, starting from the most close match to the less close match. This first order-score is detailed in the order score section. enc_U2FsdGVkX18xQbUn91e03E16aMATwcL0KxL3aogtR21NFdPKHY/3baiLRwS9rfBeqty7f6dLgCP+Mz8KU+pzMKA5an1Ss1esvxJNwSipak/molokpwX3VQjvz1Yvn6t4LFAREXCDvkWklvKPt/aBFMgBktkweW5r3cjnxkc6if/0u5WOoshCrE1PqGk6Yf8X/3DQATLB+KvibrzKtpbJHA11sW9I2YNFZH3q9ntvGgI0T+eYLFWEnYIhz0X4CkHnqB3mXCXgNB5tiL2FIZuDnA==_enc
  3. Each of the results will be assigned a definitive score detailed in the definitive score section. This score will be used to determine if an alert must be created or not.

enc_U2FsdGVkX1+R6dnSMaIoj5kwonxz4tbmPqnoEgV3FTifjVnrSqqR+Y3qibf3COFgIp9PeqBexRKmRQ3KEph7RQ==_enc

enc_U2FsdGVkX1/bCvqkNkH1qQvoY34RqGy13kWn1Vni0tdLd9Lk6ztgpzOxZNGIpT74_enc

In the case were no filter is set, the default values apply:

Threshold: 50% (100% in case of Exact match required)

Weighting: First name 33%, Last name 66%

Date of birth: Only year of birth is compared

All records types are returned (SIP, SIE, PEP, and associates RCAs) active or not, deceased or not, etc.

enc_U2FsdGVkX1+qLwn8KPrfFXD14svrtzPnRLy+RD7QWlej4RryXkKDyvFIGdCCTvxH_enc

Before any score computation, a boolean filter is applied to the search. You will find more details about all the options of this filter here: Go!Scan post-filtering.

enc_U2FsdGVkX18cdjyuXZN+Zj7Lg+y0EmOaEVw/Hnhf5UJeE1auHxP5HzYk681BwMZ0_enc

When executing a search on ElasticSearch we will execute a fuzzy search. This work by generating alternative versions of the search input, for instance a search against the name “James” will in fact search for any record of one of the following form: “Jmes”, “ames”, “Jmaes”, “Jams”, etc. We generate for each words up to 50 variations. The variations depends on the size of the string using the following logic: between 0 and 2 characters no variation created, between 3 and 5 only one edit is allowed, for more than 6 characters only two edits are allowed. One edit match one integer using the Levenshtein distance.

This variations are used to search against all the names fields present in the records in any order. We use multiple nested search queries to boost candidates having a match in the correct category (for instance if the first name James matches a last name Jakes it will have a lower sort score than if it matches a first name Jakes).

The most records matches the input, the better the order score will be. More details about the sort score can be found here: https://www.compose.com/articles/how-scoring-works-in-elasticsearch/.

enc_U2FsdGVkX1+1YMgW6CgdBnxt1f/r6rfcvmMQ20wFJbRgLx9Kk1b5zj+LStaHuWkO_enc

enc_U2FsdGVkX1/9qGELQJpQrxLwrkC6myQVFqROrkgjamU=_enc

enc_U2FsdGVkX1+OQhPZpNF/VwuAsUhQR6e783PSusPoj8u9kB3nGNt/+oimRB1Wgu5XpmuUJllyG/3a58Cok4c3gqvIGXKpm8zxkRi49CzIy4g+yr05tpFPms6YDKBHiPRGVRe2N/zW9PzdYu4nTYRhILinlxN79o7n/v5Mq9YPL4M=_enc

enc_U2FsdGVkX1/M04LGOwmH5gkG+LyZpxcl8JphJZ/TagB6Fyfk5hsPZd1p0vVecADXgT22QwOkdJNN/zW+kbK5Yg==_enc enc_U2FsdGVkX1/AqSKacU9jxWrLH5w8dMI+3hpom6CAyLwel4jkF2DvBJNzF29pz1/po26Qw1G6btwNekPwc5lRGw==_enc

The Record contains multiple names, for instance the Record first name could be the single string "Brigitte" and the Record last name could be the list of strings ["Macron", "Trogneux"].

For the Query with first name “Brigite” and last name “Macon”, we do the following.

  1. a. Compare “Brigite” **to “Brigitte” with the formula: S1=fls+(1f)jS_1 = f * l_s + (1-f)*j with f=(Ml)/(m+l)f = (M-l)/(m+l). l is the Levenstein distance between the two inputs, j the Jaro-Winkler distance, M the biggest input length and m the shortest input length. S is the final comparison score. In our example, M=8,m=7,ld=1,ls=88,j=98M = 8, m = 7, l_d = 1, l_s = 88, j = 98 so f = 0.875 and S1 = 89.25. enc_U2FsdGVkX1+AaVpviupz1hTP1TpfdLhX0KDqyULMvTALXZitX1deGnJJSINTHQhImpebrLVZy7tnISSqd+C3ZQ+z7Fq9FfPgXxVMnsl5NSY=_enc b. Compare “Macon” to “Macron” (score of 85.2%) and “Macon” to “Trogneux” (score of 33.5). **c.** For each field we keep the best score so here we have a score of 89.25% on first name and 85.2% on last name.
  2. Apply defined weight to each name type, for instance 1 on first name and 2 on last name. Here it means S2=(189.25+285.2)/3=86.6S_2 = (1*89.25+2*85.2)/3 = 86.6% (this does not apply on Company Search where only one name type exists)
  3. Keep or not the record depending on defined threshold. For instance the default Fuzzy Threshold is set to 50% while the Exact match is set to 100%.
  4. Birth date comparison works as an additional filter (this does not apply on Company Search).

If exact date of birth is required, only will be returned the record:

  • without defined date of birth,
  • that match the defined input date,
  • with only a partial defined date (year only for instance) that matches the defined input,
  • month / day inversion is allowed with a penalty of 3%.

enc_U2FsdGVkX1/xp7TDDy8eFkAiHBFaZRzXNq8Nya86YF21DDM/NflJxe7th5RtkF8B0n45VqXBQtXhLdyAjB6nyijnGd8fURDVeZorqdBjVXRFSlpB+955OZXQm4yuMi1tiMbTOC1BJyOqFja/Q7QzLCot+T3lyagAO2l9FYQFxvg=_enc

enc_U2FsdGVkX19RkaXQvPvleSsEEHep72WMZr+RV31tM2X+5s35qm/EcUZ9DyEg4StMbvwEd1YEpa5H1/wjUjZa6g==_enc

enc_U2FsdGVkX1/GMgMuMNaiEIVbJblE1vwLP5ZTzDSISqL3METK+OAv+MSqD58I9+W9Otl7Dj3aIFA93adlWMoAX0VraJ5rrF7lizK4c9hD+T60BoPFMM7fcz/J4LKRh49RQvTztZ9SSkg5AHD3Z2TRxA==_enc

DescriptionPenalty
Full alignment of all names in a single record variation0%
Full alignment of all names but across multiple record variations0%
Reverted first name and middle name1%
Shuffled names (all found but all in different categories)2%
All names are present but for instance first name and last name are both in the first name category3%
Some names are not found but the record also don’t have this name type. For instance first name was not matched, but the record doesn’t have a first name registered.4%

enc_U2FsdGVkX1+GyZ881K9G7aZKh1MKmHFwkxriWmH4GPnbJAPmaXypgrKMht57VjrcVRM85jPXFDndgrDr/4HUIA==_enc

DescriptionPenalty
Requested a match in a category but DJ has nothing for this category1%
Input contain multiple words present across multiple DJ categories1%

enc_U2FsdGVkX19QMyJ0d7X8aRbKPF8VjVqHLNTZ3uHZ5xiqpngGy3G9ckmcFM6qbt5m_enc

enc_U2FsdGVkX19anuC+l26k91MrNuzfA7VlJJdCERmO1cBg+nWk1/BzNZoShQoYlSSl_enc

If one the following information changed, the alert for instance set as “false positive” will be changed back as “new” and will need to be reviewed.

  • First name, middle name, last name, date of birth, domicile or nationality or the screened customer
  • Any information of the list record for instance an additional note regarding the record.

enc_U2FsdGVkX1/dplP3OwjGFGPzIRNWQqtIbY4A5PaQlr3YvktVfYx0Sr9NC6V9zLxf_enc

enc_U2FsdGVkX1825BxuVNHHx4ZZK6/m2r8uZHWQAD84lneNIUVOZ/W/XXvunulL0Xia4hd26eM5FVeh8Z9//lnNHSXO3g/y0mxOHXeJ/dWZkzFpE66ZqmsvGWVGTYpuoQL9jeAW9XVOntknZbJeYO+tsdNU7mMNUhO3rzcawhssQYfcVgd1L700F1/ub2kXGr6ocDXQfSRghEazSsmFKiCihKOBlk5IBYLgP/U0NAkcPjPHxJc2UpTRg2edM4nSEns/E6zrmZO0lvvIFnGe5o/Up3mjCEP/mZ+Lz9oG3GbWd+g=_enc

enc_U2FsdGVkX1+lTJsKhsLKhoJsXs/ZhP2GqeDrhBBXSAOkU4wuSA4UZZfPce4E8az7_enc

You can set custom parameters if you use the post_filtering_alias parameter when doing your transactional name screening. These parameters allow to filter out more results using more precise parameters and are applied on top of the name-search internal filtering.