enc_U2FsdGVkX1/ukUr7JyIiy6wuhHsDOK8ASkKYFhKErYjSYkv7dGoj58Z5YvPxIAV5ezyOcHeEGVniiBOkCaH4bkHRvxRNH7+dd8pr0veWfHuXS2bqJU4cWtYXYveGiPKPJgAvZKyVQ6Iv1AwbePVxkiMUxU2V0xznh65jLoDJtS0QVluGgYGtg44M5hr3Soj08NwZaMtgrKFSjc3yjtSGhw==_enc

enc_U2FsdGVkX1+701REFCBG2zAs3QEIWbKPV6SUqBsh5iPIgqzT+82vbf4sbPuWniBg_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_U2FsdGVkX19XN1Pw/Hz29EvJYNFkZNL+H7oi3yzzn0Bv34gaz4T6nDB+J9wJncCzt6j8TcHsCLZ9fKOwkZPReWFjMHC1VCvQR+y/n6BTUPuJHtI1En8g7hHT5E7dhfC6un2z6N057lzmve6QQ59mI6CLepXyLX6+jOgql9viF4gMzghlu01vPv7ILo6mgumeRVSyOpKtWfhVjETDhAUjEQbRaGKAnDlTVqE2XC2mS9q7mRmvIpXFT+15ojc/vYWsC2OSW1WgfYLesRN6n6RgeA==_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_U2FsdGVkX19a7iIH/QGjRxKmq2sAE54cz9SjrjdMqyVUJQ2oTHbY1ceXEIo63ztxBfNj/a0mAad1dNHvezNPPQ==_enc

enc_U2FsdGVkX1+wqZTlen1U/W+XOwo83HBXKNKlMKDBEhCrXW5D/85yo5UK32HaPizX_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/U0fp+pda2iYJplXad0vVIMYeiLzla0jnecRxfZ9tfAPxRohcXgz5B_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_U2FsdGVkX18qPGJjIneCJUzeAvVL3TBGJhGcfzvilnW+SF3cfk7eFpNG/izjUnKF_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+Yxpkq+sPDQNOBpAtsUtdPpB/54laa7ZWJFs5ipVzZ2tvk/Vbzl36n_enc

enc_U2FsdGVkX1+T1VIZBtVruICy7g45n8C57uIP0gtdmAc=_enc

enc_U2FsdGVkX19RiyV5inHU/RNFALWzs4kE23VAUJo7rFsovMNbdcOAmE9pil4KBGhHGP3Y827Ul+SlsisSa02vtMKh7wYV3nr0qzrjntR6s87v5PkYDcG/JlqRQqh7bLpZK7hgo0d8n73mRXY64C2pZL5owkPzonwmTMbmgqxeEEI=_enc

enc_U2FsdGVkX1/tVnqB+bAHHueBrJ03OWOYHQFWTV/d2S89wcGr5HTr+7tfJNYTDMfh8FfkpHBpFU4PQlRw3IdnQA==_enc enc_U2FsdGVkX19gdzg/LHObFW2/2gu4FNAN8rzUvPZs+hhtsLXP+3axBFe5gDSAT3PrHSFFZ7taCoUIR+DZYJfoKw==_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_U2FsdGVkX194VFobGNH9iwueP3rMJc732R6uw14+qw25EbgE0Uyd3VWhuaWttPf6AfxxDwBmVtsoiqv+0cA/1EjW9eymzXG9ZdWJNd+qxc0=_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_U2FsdGVkX18JCgbF36iwsWA2wVDqd/2+WZhqFTYlPWb3KF62xpioitxic69szz29KkjADCWbWVmkgs73lWvFx9F1eCFNs2ZQRhGgi2J/kGXTP9FcadaW02MeQ33Iq2ZAMThg3EDFD6cxmXP1pYBxbfXKjL+svsXANeX6smvtx3E=_enc

enc_U2FsdGVkX1+KnK3XMnvKFNq7jeoGIGcJbD4Ft7l0tvN5r7gJUUgnaLWwsH/O9dxvshi4OF3YrLasIDQ/JGIeKw==_enc

enc_U2FsdGVkX1/Y8tFaEgKJDcmzdqrFixVYBbFtaOiJfXPWI/qDzs07pYqMPkodRnXnnfUdbk4YWo35ycm6aWqT3j0BcxTRMurdC6rUusV61UtPaw7MfUiEbK/hf+XiwP9XsE48zxts/b9YajpYLfaFFA==_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+Mgj+WBn0up0maGIm7kSyQa49Cg1kINrxtJ0sPN7pEo4EnBWz58l2tMmvAPQuPTKb3Kr/etJsAFQ==_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_U2FsdGVkX1+0cOQYm7AR28k21T7AcnVvdfD/XN16Sc6rOh6zFa0TKursFqr5nISa_enc

enc_U2FsdGVkX1+3knSfqYmqRx03v3PyBC14ydNrp0fW+bGIrFOTV4M+G5x99jl07pVj_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_U2FsdGVkX19VBAoGieEBP7HoUtVf2xK2pN6nlwDETr9I9SJmofKsPHbptnfSItfx_enc

enc_U2FsdGVkX19RLO9EVYxBxng6gJsrdddvAjOZxjjRLvBekxBJFEAhv02+yKuKfRsOli5o/kzW3kEOKUQtYOkz9NzWinr2/Gy4LYM2GE8s5qbpvz62HvMZPS9SMdTovUPPs57c6uWXBq/oOBwqXKRIOd9GIyGW1bdTTJrnI+8wyFq1oO0nADAuKu/SEkX3YF9wsZ31v9Kuik9ufrTh4LA0oJP0mSUbIRdL3GkElKWzkl0naIt+JwYYnG0yWUR9xXohJGI4tAHQ3gPaEaXSw2yHA0oL5bS6N24/B5lL04XlP0c=_enc

enc_U2FsdGVkX1/cCbSITwnkTRHvdHQewrifcBIZQhscIZfOYBPclWFyI1KvbngmO1o5_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.