Motor de Matching

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.

Multi-estrategiaUmbrales por sectorAuditable por línea de código

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.

SectorUmbral sancionesUmbral PEPMatch confirmado
Inmobiliaria0,400,500,85
Joyería0,350,450,80
Notaría / Abogados0,350,450,80
Asesoría Fiscal0,350,450,80
Comercio de Arte0,350,450,80
Casino / Apuestas0,300,400,75
Fundación / Asociación0,350,400,80
Otro sujeto obligado0,400,500,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.

Este sitio utiliza cookies

Utilizamos cookies propias y de terceros para mejorar nuestros servicios y mostrarle publicidad relacionada con sus preferencias. Puede aceptar todas las cookies, rechazarlas o configurar sus preferencias. Más información