Cuatro estrategias de matching
que reducen los falsos positivos
El motor que cruza cada cliente contra las listas oficiales no es una caja negra: combina cuatro técnicas conocidas y filtros explícitos. Esta página describe cómo se compara cada nombre, qué umbrales aplica y por qué dos clientes con el mismo nombre pueden generar veredictos distintos.
Las 4 estrategias
Cada estrategia se aplica en paralelo y contribuye al score final. Ningún match procede de una única vía — eso reduce drásticamente los falsos positivos por homonimia o transliteración.
Similitud difusa (trigramas)
PostgreSQL pg_trgm extension
Genera todos los trigramas (ventanas de 3 caracteres) de los dos nombres a comparar y mide la similitud de Jaccard. Detecta variantes ortográficas, abreviaciones ("Mª" vs "María"), errores tipográficos y nombres compuestos parciales. La consulta corre dentro de PostgreSQL contra un índice GIN — no se cargan filas a Java.
Matching fonético
Apache Commons Codec Double Metaphone
Transforma cada nombre en una clave fonética (ej. "Smith" y "Smyth" producen la misma). Captura coincidencias que cualquier persona oiría como iguales pero un comparador literal pasaría por alto. Aplicado a primer nombre + apellido por separado para no confundir orden.
Transliteración entre alfabetos
ICU4J Transliterator (Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC)
Convierte nombres en árabe, cirílico, chino, hebreo o griego a su equivalente latino normalizado, eliminando además tildes y diacríticos. Permite que "محمد" coincida con "Mohammed" o "Москва" con "Moskva" sin necesidad de mantener varias entradas.
Match exacto de documento
DNI / NIE / Pasaporte — comparación literal
Cuando el cliente tiene tipo de documento y número, se cruza directamente con los identificadores que las listas oficiales publican. Una coincidencia exacta produce score 1.0 (match confirmado). Es la única estrategia que da certeza sin necesidad de revisión humana.
Scoring multi-campo
El score final no es solo la similitud de nombre. Cada campo adicional disponible suma o resta evidencia. Resultado: dos clientes con "Pedro Sánchez" pero distinto DNI/fecha pasan por umbrales distintos.
Similitud de nombre
Suma de las cuatro estrategias anteriores ponderada. La similitud de apellido pesa más que la del primer nombre (ver filtro de apellido más abajo).
Fecha de nacimiento
Si la lista publica la fecha del PEP/sancionado y el cliente la tiene, se compara: misma fecha sube el score, divergencia > 5 años lo baja por debajo del umbral.
Número de documento
Match exacto fuerza score 1.0 — confirmación directa. Sin documento en la lista, no resta; queda como información ausente.
Nacionalidad
Si la lista declara nacionalidad y el cliente tiene una distinta, el score se ajusta a la baja proporcionalmente. Sin información, no se aplica.
Umbrales por sector
Los umbrales por defecto se relajan o aprietan según el riesgo inherente del sector. Casino tiene los más estrictos (más capturas, más revisiones manuales); inmobiliaria los más relajados.
| Sector | Umbral sanciones | Umbral PEP | Match confirmado |
|---|---|---|---|
| Inmobiliaria | 0,40 | 0,50 | 0,85 |
| Joyería | 0,35 | 0,45 | 0,80 |
| Notaría / Abogados | 0,35 | 0,45 | 0,80 |
| Asesoría Fiscal | 0,35 | 0,45 | 0,80 |
| Comercio de Arte | 0,35 | 0,45 | 0,80 |
| Casino / Apuestas | 0,30 | 0,40 | 0,75 |
| Fundación / Asociación | 0,35 | 0,40 | 0,80 |
| Otro sujeto obligado | 0,40 | 0,50 | 0,85 |
Filtro de apellido mínimo
Si la similitud de apellido es < 0,25 el score total se capa en (apellido + 0,10). Esto descarta candidatos que solo coinciden por nombre de pila — el clásico falso positivo "Pedro" o "José Luis" contra cualquier persona con el mismo nombre de pila en el dataset PEP.
Margen anti-borderline (PEP)
Tras los ajustes por país y fecha de nacimiento, se aplica un margen extra de 0,05 sobre el umbral PEP base. Evita que un fuzzy hit borderline pase justo cuando los ajustes lo bajan al límite — 5 puntos de holgura limpia los casos dudosos.
Mismo motor en demo, mismas decisiones
Probar la demo te muestra exactamente este motor en marcha: 30 clientes seedados, screening real contra todas las listas, las alertas que cada estrategia produce.