Esta arquitectura de referencia describe cómo implementar la detección de fraude en tiempo real en MongoDB Atlas utilizando datos de transacciones operativas, incrustaciones vectoriales y modelos de riesgo dinámicos.
La arquitectura procesa las transacciones, genera incrustaciones para capturar patrones de comportamiento, recupera eventos históricos similares con MongoDB Atlas Vector Search y combina puntuaciones de similitud con modelos de riesgo deterministas para tomar una decisión de aprobación, intensificación del desafío o rechazo. Los modelos de riesgo y las listas de vigilancia se almacenan en colecciones de MongoDB. MongoDB Change Streams propaga las actualizaciones a los servicios de detección en tiempo real para que las decisiones de producción siempre utilicen la lógica más reciente.
Diagrama
Figura 1. Arquitectura de referencia para la detección de fraudes.
Flujo de datos
Inicio de la transacción
Un canal de pago (por ejemplo, autorización de tarjeta, transferencia entre cuentas o monedero digital) envía una solicitud de transacción a la API de detección de fraude. La solicitud incluye identificadores de cliente, datos del comercio, metadatos del canal, huellas digitales del dispositivo, información de IP y atributos básicos de la transacción, como importe, moneda y fecha y hora.
Enriquecimiento y persistencia de las transacciones
El servicio de detección de fraude valida la solicitud y escribe un documento de transacción en una colección de transacciones en MongoDB Atlas. Cada documento incluye detalles del comerciante, ubicación GeoJSON, información del dispositivo y un anidado
risk_assessmentEstructura que almacena puntuaciones, indicadores y diagnósticos.Generación de incrustaciones para patrones de comportamiento
El servicio genera una representación vectorial que captura aspectos categóricos y de comportamiento de la transacción, como la categoría del comerciante, el canal, la huella digital del dispositivo, el rango de IP, los patrones temporales y cualquier campo descriptivo. Esta representación se almacena junto con los campos operativos en el mismo documento de transacción.
Búsqueda vectorial de patrones de fraude similares
El servicio realiza una consulta
$vectorSearchcontra un índice de MongoDB Atlas Vector Search en la colección de transacciones. La consulta utiliza la incrustación recién generada para recuperar transacciones pasadas con comportamientos similares, incluidos eventos que no coincidieron con reglas explícitas pero que comparten patrones con fraudes conocidos.Evaluación de modelos de riesgo deterministas
En paralelo con la búsqueda vectorial del paso anterior, el motor de riesgo evalúa modelos basados en reglas y en cuadros de mando sobre atributos numéricos y estructurados que quedan fuera de la incrustación, como importes, cambios de saldo, contadores de velocidad y restricciones geoespaciales. Esta separación mantiene los límites numéricos y los umbrales regulatorios dentro de una lógica determinista, mientras que las incrustaciones se centran en la similitud de comportamiento.
Agregación de puntuaciones de riesgo y toma de decisiones
El servicio combina puntuaciones de similitud vectorial con puntuaciones de riesgo deterministas para realizar una evaluación de riesgo general de la transacción. Basándose en umbrales y políticas configurados, el motor:
Aprueba las transacciones de bajo riesgo y las devuelve al canal de pago.
Rechaza transacciones de alto riesgo
Emite un desafío de nivel superior (por ejemplo, 3-D Secure, OTP o biométrico) para casos límite y, opcionalmente, dirige los casos rechazados o con desafío fallido a una cola de revisión manual para el seguimiento del investigador.
La decisión final y los diagnósticos que la respaldan se reincorporan al subdocumento de evaluación de riesgos del registro de la transacción.
Actualizaciones del modelo de riesgo en tiempo real con Change Streams
Los modelos de riesgo, las listas de vigilancia y los documentos de configuración se almacenan en una colección
risk_modelsdedicada en MongoDB Atlas. MongoDB Change Streams transmite eventos de cambio, como inserciones, actualizaciones, reemplazos y eliminaciones, desde estas colecciones a los servicios del motor de detección de fraude y riesgo. Cuando los analistas activan o ajustan un modelo, todos los motores de análisis reciben el cambio en milisegundos y aplican las reglas actualizadas a las nuevas transacciones, sin demoras por lotes ni invalidación manual de la caché. Los tokens de reanudación permiten que los servicios reinicien el procesamiento sin perder actualizaciones tras fallos o reinicios.Auditoría, monitoreo y procesamiento posterior
El sistema central de pagos procesa las transacciones aprobadas, mientras que las rechazadas o impugnadas permanecen marcadas en la base de datos de transacciones con diagnósticos de riesgo detallados. Los analistas y los procesos de monitoreo consultan esta misma base de datos para realizar un seguimiento del rendimiento del modelo, los falsos positivos y los patrones de fraude emergentes a lo largo del tiempo.
Componentes
Colecciones principales y clústeres de MongoDB Atlas
Usar MongoDB Atlas como plataforma de datos moderna para la detección de fraudes, que aloja datos operativos, analíticos y de configuración en un único clúster administrado.
MongoDB Atlas mantiene todos los datos necesarios para tomar una decisión sobre un posible fraude cerca de la transacción, sin necesidad de extraer, transformar ni cargar (ETL) en almacenes secundarios para análisis o investigaciones.
Enfoque propuesto
Almacenar datos de configuración de clientes, transacciones y riesgos utilizados en la toma de decisiones en tiempo real.
Admite cargas de trabajo secundarias como análisis, paneles de control e investigaciones sin ETL.
Notas de implementación
Para cargas de trabajo de producción o demostraciones a gran escala, comience con un Atlas M10 o superior.
Utilice conjuntos de réplicas (opción predeterminada de Atlas) para poder habilitar Change Streams y gestionar cargas de trabajo de lectura concurrentes.
Patrones de modelos de datos para la detección de fraudes
Diseñar un esquema de documentos que mantenga todos los datos necesarios para una decisión sobre fraude cerca de la transacción, al tiempo que permite vistas centradas en la entidad y en la configuración.
Enfoque propuesto
Recopilación de entidades/clientes
Almacene personas y organizaciones con un perfil de grado 360: identificadores, atributos de Conozca a su Cliente (KYC), análisis de comportamiento, evaluaciones de riesgo e incrustaciones opcionales para la similitud de entidades.
Incorporar o utilizar como referencia las huellas digitales del dispositivo, las ubicaciones habituales y los patrones de comportamiento para respaldar las comprobaciones de anomalías, como "dispositivo nuevo" o "ubicación inusual".
Recopilación de transacciones
Represente cada transacción financiera como un documento independiente con importe, moneda, comerciante, ubicación GeoJSON, información del dispositivo y un subdocumento
risk_assessmentincrustado (puntuación, nivel, indicadores, diagnósticos).Este patrón permite que el motor de detección de fraude escriba decisiones y diagnósticos directamente en el registro de la transacción que consultan las herramientas posteriores.
Modelos de riesgo / recopilación de configuraciones
Almacene los modelos de riesgo versionados como documentos con factores, ponderaciones, umbrales y métricas de rendimiento. Utilice esta colección como fuente única de configuración para la puntuación de fraude.
Para obtener información más detallada, consulte: Enfoque del modelo de datos: mitigación de delitos financieros.
Búsqueda vectorial de similitud de comportamiento en MongoDB Atlas
Utilice MongoDB Atlas Vector Search para detectar transacciones que se comporten como patrones de fraude conocidos o eventos históricos de alto riesgo, incluso cuando no coincidan con reglas explícitas.
Enfoque propuesto
Almacena incrustaciones de alta dimensión en los documentos de transacción, capturando señales de comportamiento como la categoría del comerciante, el canal, el dispositivo, el patrón temporal y el texto narrativo.
Recupere las transacciones históricas más similares para cada nuevo evento usando
$vectorSearch, luego introduzca las puntuaciones de similitud en el motor de riesgo.
Notas de implementación
Cree un índice vectorial (por ejemplo, transaction_vector_index) en el
vector_embeddingcampo de latransactionscolección.Genera incrustaciones de forma consistente tanto para las transacciones almacenadas como para las nuevas transacciones en curso que necesites comparar.
Motor de puntuación de fraude multifactor
Implementar un servicio de puntuación de fraude que consuma documentos de MongoDB y combine el contexto de la entidad, reglas deterministas y similitud vectorial en una única puntuación de riesgo. Ninguna estrategia de detección por sí sola detecta todos los fraudes. La puntuación por capas reduce tanto los falsos positivos como los falsos negativos.
Enfoque propuesto
Cargue el perfil del cliente o de la entidad desde MongoDB para obtener parámetros de referencia de comportamiento y contexto.
Realizar comprobaciones independientes para:
Anomalía en el importe con respecto a los importes habituales para este cliente.
Anomalía de localización mediante la distancia geoespacial desde las ubicaciones habituales.
Anomalía del dispositivo basada en dispositivos y rangos de IP conocidos.
Anomalía de velocidad mediante recuentos en una ventana de tiempo deslizante.
Similitud de comportamiento utilizando los resultados de la búsqueda vectorial (opcional, según el alcance).
Combine las puntuaciones de los factores y una puntuación de riesgo de referencia del cliente en una puntuación de riesgo 0–100 y asígnela a los niveles
low,mediumohigh.
Notas de implementación
Encapsula estas comprobaciones en un servicio dedicado (por ejemplo,
FraudDetectionService) en lugar de incorporar la lógica en los controladores, para que puedas reutilizarla en diferentes canales y cargas de trabajo.
API para la toma de decisiones en tiempo real sobre fraude
Exponer las API de servicio que encapsulan el motor de riesgos y los patrones de acceso a MongoDB.
Enfoque propuesto
Proporcione una operación de persistencia y puntuación que escriba las transacciones y sus documentos
risk_assessmenten MongoDB (por ejemplo, un equivalentePOST/transactions).Proporcionar una operación de evaluación sin estado que ejecute el motor de riesgo sin conservar la transacción, lo cual resulta útil para simulaciones o comprobaciones de preautorización.
Ofrecer puntos de acceso de lectura para consultar transacciones recientes de alto riesgo, filtrar por indicadores y recuperar historiales a nivel de cliente para investigaciones.
Notas de implementación
Utilice OpenAPI o una herramienta similar para describir estos puntos finales, de modo que los equipos de cada canal (móvil, web, banca central) puedan integrarse de forma coherente.
Mantén las consultas de MongoDB (filtros, agregaciones,
$vectorSearch) en abstracciones de la capa de servicio, no en los controladores.
Gestión de modelos de riesgo con flujos de cambios de MongoDB
Utilice MongoDB Change Streams y una colección de configuración dedicada para gestionar y distribuir los cambios del modelo de riesgo en tiempo real.
Enfoque propuesto
Conserve los modelos de riesgo como documentos completos, incluyendo definiciones de factores, ponderaciones, umbrales y estado (por ejemplo,
active,draft,archived).Proporcionar una API y una interfaz de usuario para la administración de modelos, de modo que los equipos de riesgo puedan activar y gestionar las versiones de los modelos sin necesidad de modificar el código.
Utilice Change Streams para enviar cambios de modelo a los servicios de detección de fraude y a las interfaces de usuario a través de WebSockets o similares, de modo que todos los componentes apliquen el mismo modelo activo de inmediato.
Integración de proveedores
Integre un proveedor de incrustación (por ejemplo, AWS Bedrock) para generar representaciones vectoriales de transacciones y patrones de fraude.
Enfoque propuesto
Genera incrustaciones a partir del contexto de la transacción (importe, comerciante, canal, dispositivo, campos de texto) y almacénalas en MongoDB como parte del esquema del documento.
Genera incrustaciones para descripciones o tipologías de patrones de fraude y almacénalas en una colección
fraud_patterns, lo que permite la búsqueda vectorial basada en patrones.
Notas de implementación
Este patrón admite cualquier proveedor que devuelva incrustaciones deterministas de alta dimensión compatibles con Atlas Vector Search.
Excepciones, salvedades y compensaciones
Latencia frente a complejidad del modelo: la generación de incrustaciones y la búsqueda vectorial añaden latencia al proceso de decisión. Para canales con límites de latencia estrictos, conviene simplificar las incrustaciones, reducir la dimensionalidad o aplicar la coincidencia semántica solo a segmentos de alto valor o alto riesgo, mientras que se utilizan reglas puramente deterministas para el tráfico de bajo riesgo.
Tamaño del índice y sobrecarga operativa: Los índices vectoriales de alta dimensión y los documentos de transacciones complejos aumentan los requisitos de almacenamiento y computación. Planifique el dimensionamiento del clúster de Atlas, la configuración del índice y las estrategias de archivado para equilibrar la calidad de la recuperación, el rendimiento de la carga de trabajo operativa y el costo. Utilice índices estándar e índices 2dsphere para consultas operativas y reglas geoespaciales, y reserve la búsqueda vectorial para escenarios donde la similitud de comportamiento aporte un valor de detección significativo.
Complejidad de la gestión de la configuración: La transmisión de actualizaciones de modelos de riesgo mediante flujos de cambios mejora la capacidad de respuesta, pero introduce complejidad en la gestión de la configuración y las pruebas. Es necesario diseñar flujos de trabajo de promoción claros, pasos de validación y procedimientos de reversión para los nuevos modelos, de modo que las actualizaciones en tiempo real no propaguen reglas incorrectas a los motores de análisis de producción.
Limitaciones del alcance: Esta arquitectura se centra en la detección de fraude en tiempo real para flujos transaccionales. Utilice patrones separados pero relacionados para la verificación de identidad, la lucha contra el blanqueo de capitales (AML) y la incorporación de clientes (KYC), así como para la gestión de casos a largo plazo, y conéctelos mediante colecciones compartidas o puntos de integración en lugar de sobrecargar el sistema de detección de fraude con todos los casos de uso relacionados con delitos financieros.
Implementación y más información
Para implementar esta arquitectura de principio a fin, visite la solución «Mitigación de delitos financieros con MongoDB Atlas» en el Centro de Arquitectura de MongoDB Atlas. Utilice esta guía para configurar su entorno y siga las instrucciones paso a paso para implementar un simulador de transacciones, una interfaz web y servicios de soporte para la detección de fraudes y la gestión de modelos de riesgo. La solución también incluye funciones adicionales para la mitigación de delitos financieros.