Scoring methodology
Transparent, rule-based composite of six AML skills. No ML; every factor is deterministic and citable.
Dimension weights
- Sanctions Screening25%
- Country Risk Scoring20%
- High-Risk Jurisdiction Monitoring15%
- Sanctions Circumvention Risk15%
- PEP & Adverse Media15%
- Country Context Enrichment10%
Composite score = Σ (dimension score × weight) ÷ Σ weights. All dimension scores and factor scores are on 0–100.
Risk levels
Data reality — what's real vs. mock
Driven by real public data hand-curated into data/countries.json (FATF / OFAC / Basel / CPI / WGI snapshots).
Real reference data (country classifications or hardcoded regulator-cited lists) combined with synthetic entity data.
Approximated from a different real dataset (e.g., WGI used as a proxy for WJP) or a hand-curated dictionary (FSI hubs), because the precise source dataset is not bundled.
Signal is fully synthetic — generated by scripts/generate-companies.ts with seeded PRNG, calibrated by company risk band.
Factors by dimension
Each factor card shows the exact formula, plain-language meaning, and a worked example.
Sanctions Screening
weight 25%Three-way mapping based on the HQ jurisdiction's sanctions status across OFAC, UN, EU, FATF. "Comprehensive" = OFAC full embargo OR FATF blacklist OR UN OR EU sanction.
Each Ultimate Beneficial Owner residing in a comprehensively-sanctioned or FATF-blacklist jurisdiction adds 60 points; capped at 100.
Best name-similarity score (Jaro-Winkler / Levenshtein) against aggregated watchlists, used directly as a 0–100 score. An investigative trigger, not a definitive hit.
Country Risk Scoring
weight 20%Direct lookup of HQ country in FATF's most recent public statement (3× per year).
Linear mapping of Basel Institute's annual ML/TF risk index (0–10 scale) onto our 0–100 risk scale.
Transparency International CPI runs 0 (corrupt) to 100 (clean) — the opposite direction to our risk score, so we invert.
High-Risk Jurisdiction Monitoring
weight 15%Share of the entity's operating jurisdictions that are FATF black/grey-listed or OFAC-sanctioned.
Any subsidiary in OFAC-comprehensive or FATF-blacklist jurisdiction triggers a 40-point base; each additional adds 25, capped at 100.
Boolean flag: did the entity start operating in a FATF-listed or OFAC-sanctioned jurisdiction in the last 6 months? Captures dynamic monitoring vs static onboarding.
Sanctions Circumvention Risk
weight 15%Transit hubs hardcoded as AE / TR / HK / SG / MC / CY / VG / KY / LU / CH (per FinCEN advisories). Score depends on whether the entity simultaneously touches a hub AND a sanctioned country.
Operating presence in a country bordering a comprehensively-sanctioned one (AM/AZ/KZ/UZ/TJ/TM/GE/IQ/AF/CN/KR/RU/LB/JO). Base 25 + 20 per neighbor, capped 100.
Counts subsidiaries and UBOs domiciled in financial-secrecy hubs. UBOs weighted higher because they hide control more than subsidiaries hide capital.
PEP & Adverse Media
weight 15%Number of UBOs flagged as Politically Exposed Persons. First PEP triggers a 45-point base; each additional adds 25, capped 100.
Articles in the last 24 months mentioning the entity in connection with AML/fraud/sanctions/corruption keywords. Each article adds 8 points; capped at 100.
Past OFAC / FinCEN / EU / national-regulator enforcement actions. First action triggers a 55-point base; each additional adds 25, capped 100.
Country Context Enrichment
weight 10%World Bank WGI Control of Corruption indicator (range −2.5 to 2.5, higher = better governance) standardized to a 0–100 risk score.
WJP Rule of Law Index 2025 overall score (0..1, higher = stronger). Inverted to a 0..100 risk score so 'weaker rule of law → higher risk'. Refreshed daily from public/downloads/wjp-rule-of-law.xlsx; falls back to a WGI-derived proxy for the few jurisdictions WJP doesn't cover.
Tax Justice Network Financial Secrecy Index 2022 — per-jurisdiction secrecy score on 0..100. Refreshed daily from public/downloads/tjn-fsi.xlsx; falls back to a hand-curated estimate for the few jurisdictions TJN doesn't rank.