Navigation: Deposit Reports > Deposit Reports - Alphabetical Order > A/P Check/ACH OFAC Match & Suspect Report (FPSDR334) >
OFAC Algorithm
Every Monday–Saturday morning, a process is run that goes out to the Federal Reserve Web site and pulls a new OFAC list. That file is used to create Soundex and name records on the GOLDPoint Systems system. The file uses an algorithm that takes a sentence and converts it to a Soundex representation. The following steps explain the process:
1.For each four-letter Soundex code in the phrase, we look up any words on the OFAC list that contain the same code.
2.We look at each code within the OFAC item and compare how many of the OFAC codes are within a certain number of words in the original phrase, to the current position in the phrase.
3.We take the number of codes we find and divide it by the number of codes in the OFAC item to determine how confident we are that the items match.
4.If the confidence value we calculate is greater than or equal to the confidence level, the item shows up on the report as a possible hit.
OFAC Algorithm Examples
The following steps explain how Soundex works on two examples.
Example 1 (Fixed Confidence of 50%, Proximity of 80%):
“Ben Franklin was born on January 17, 1706.”
Sample OFAC Names |
Soundex Representation |
1. Saddam Hussein |
S350 H250 |
2. Osama Bin Laden |
O250 B500 L350 |
3. June 78 |
C450 T635 |
4. Colony Trading, S.A. |
Q200 S350 H250 A432 |
5. American Air Ways Charters, Inc |
A562 A600 W200 C636 |
6. Francisco Haya |
F652 H000 |
1.Convert the phrase to the Soundex representation:
B500 F652 W200 B650 O500 J560
2.For each code in the phrase, we find the words in the OFAC list that contain the same code. We start with the first code in our phrase, which is B500. If we look at the OFAC samples in the table above, we see that sample #2 contains B500, so we need to see if anything else from the sample matches the phrase. We already found B500 (primary code) from the sample in our phrase, so now we need to see if O250 and L350 (secondary codes) are also in the phrase, and if so, if they are close enough to the primary code to be considered relevant. To determine how close a code must be to be considered relevant, we multiply the number of codes in the OFAC sample being checked by the proximity level being used, divide the result by 100, and round it down. Sample #2 contains three codes, and we are using 80% proximity. We multiply them and get 240. We then divide by 100 to get 2.4. We round it down and end up with a value of 2. In this case, we must look at the codes within two codes of the primary code. In this example, B500, F652, and W200 are relevant.
3.Now that we’ve determined which codes from the phrase are relevant, we check to see how many of the codes in the OFAC sample are found in the relevant codes from the phrase. The OFAC sample codes are O250, B500, and L350. Of the three, only B500 is found in the relevant codes. Since there were three codes but we only found one, our percentage is 33.33%. This percentage is below our confidence level of 50%, so we don’t return the OFAC sample as a hit.
4.We’ve determined that sample #2 isn’t a hit, so we look to see if any of the other samples contain the primary code. None of them does, so now we move on to the next code in the phrase and repeat steps 2–4.
If we repeat the steps above for each code within the phrase, we will see that
•F652 matches sample #6 with a 50% confidence, so it is a hit.
•W200 matches sample #5 with a 25% confidence, so it is not a hit.
•B650 doesn’t match any of the samples.
•O500 doesn’t match any of the samples.
•J560 doesn’t match any of the samples.
Example 2 (Variable Confidence Using Default Levels, Proximity of 70%):
“Former President Saddam Hussain was executed on December 30, 2006.”
Note: The misspelling of “Hussein” above is intentional.
Sample OFAC Names |
Soundex Representation |
1. Saddam Hussein Al-tikriti |
S350 H250 A432 |
2. Hussein |
H250 |
3. Sudan Oil Corporation |
S350 O400 C616 |
4. Qusay Saddam Hussein Al-tikriti |
Q200 S350 H250 A432 |
5. Sudan Air |
S350 A600 |
6. Trading & Maritime Investments |
T635 M635 I512 |
1.Convert the phrase to the Soundex representation:
F656 P623 S350 H250 W200 E230 O500 D251
2.We look at which codes from the phrase are in the samples. The first two codes in our phrase are not in the samples, but the third code is in samples 1, 3, 4, and 5. Starting with sample #1, we determine that, with a 70% proximity, we need to look at the two codes on either side of the primary code. In this case, F656, P623, S350, H250, and W200 are relevant.
3.Now that we’ve determined which codes from the phrase are relevant, we check to see how many of the codes in the OFAC sample are found in the relevant codes from the phrase. The OFAC sample codes are S350, H250, and A432. Of the three, S350 and H250 are found in the relevant codes. Since there were three codes in the OFAC sample and we are using the default levels, we want to find at least two of the codes in the phrase. We did find two, so this OFAC sample is considered a hit.
4.We’ve determined that sample #1 is a hit, and now we look to see if any of the other samples contain the primary code. Samples 3, 4, and 5 do, so we repeat steps 2–4 for this primary code. Once complete, we move on to the next code in the phrase and repeat steps 2–4.
If we repeat the steps above for each code within the phrase, we will see that:
•S350 matches sample #3 with a 1 of 3 confidence, so it is not a hit.
•S350 matches sample #4 with a 2 of 4 confidence, so it is not a hit.
•S350 matches sample #5 with a 1 of 2 confidence, so it is not a hit.
•H250 matches sample #1 with a 2 of 3 confidence, so it is a hit.
•H250 matches sample #2 with a 1 of 1 hit, so an exact-spelling check needs to be done. The names are spelled differently, so it is not a hit.
•H250 matches sample #4 with a 2 of 4 confidence, so it is not a hit.
•W200 doesn’t match any of the samples.
•E230 doesn’t match any of the samples.
•O500 doesn’t match any of the samples.
•D251 doesn’t match any of the samples.
See the following links for more information about this process: