Compartir a través de


Realización de comprobaciones de velocidad

Importante

A partir del 3 de febrero de 2025, Dynamics 365 Fraud Protection ya no está disponible para su compra. El soporte técnico para la protección contra fraudes finalizará el 3 de febrero de 2026. Para obtener más información, consulte el artículo Fin de soporte técnico de Dynamics 365 Fraud Protection.

La frecuencia de los eventos de un usuario o entidad (por ejemplo, una tarjeta de crédito) puede indicar actividades sospechosas y posibles fraudes. Por ejemplo, después de que los fraudes prueben algunos pedidos individuales, a menudo usan una sola tarjeta de crédito para realizar rápidamente muchos pedidos desde una sola dirección IP o dispositivo. También pueden usar muchas tarjetas de crédito diferentes para realizar rápidamente muchos pedidos. Las comprobaciones de velocidad le ayudan a identificar estos tipos de patrones de eventos. Al definir velocidades, puede ver los eventos entrantes para estos tipos de patrones y usar reglas para definir umbrales más allá de los cuales desea tratar los patrones como sospechosos.

Si la instancia de Microsoft Dynamics 365 Fraud Protection tiene varios entornos, puede definir un conjunto de velocidad en un entorno específico mediante el modificador de entorno. Solo puede hacer referencia a la velocidad en las reglas definidas en el entorno correspondiente. Si se crea la velocidad de procesamiento en un entorno principal y la regla se define en el mismo entorno, las transacciones de los entornos secundarios se incluirán en la velocidad de procesamiento cuando se ejecute la regla a nivel principal.

Definición de una velocidad

Los conjuntos de velocidad se componen de velocidades individuales. Las velocidades se definen en Dynamics 365 Fraud Protection mediante las palabras clave SELECT, FROM, WHEN y GROUPBY de la estructura siguiente.

SELECT <aggregation method> AS <velocity name>
FROM <event type>
WHEN <condition>
GROUPBY <attribute name>

Nota:

No se pueden usar matrices para realizar GROUPBY en una definición de velocidad.

  • Después de SELECT, especifique un método de agregación: Count, DistinctCount o Sum. A continuación, use la palabra clave AS para asignar un nombre a la velocidad. Este nombre se puede usar para hacer referencia a la velocidad en las reglas.

    Esta es una explicación de los métodos de agregación.

    Método de agregación Descripción Ejemplo
    Contar Este método devuelve el número de veces que se ha producido un evento. SELECT Count() AS numCompras
    DistinctCount Este método devuelve el número de valores distintos para la propiedad especificada. Si la propiedad especificada es nula o está vacía para un evento entrante, el evento no contribuirá a la agregación. SELECT DistinctCount(@"dispositivo.direccionIP") AS direccionesIPdistintas
    Suma Este método devuelve la suma de valores de una propiedad numérica especificada. SELECT Sum(@"totalAmount") AS gastoTotal
  • Después de FROM, especifique un evento de evaluación u observación para medir la velocidad. El campo del cual desea observar la velocidad o agruparlo debe ser parte de la llamada API. Para observar una velocidad entre eventos, especifique varios eventos entre evaluaciones o eventos de observación.

  • La instrucción WHEN es opcional. Después de WHEN, puede escribir una expresión booleana. Solo los eventos que coinciden con la condición se consideran en la agregación. Se omiten otros eventos. La expresión se utiliza para filtrar los eventos que se consideran en la velocidad.

  • Después de GROUPBY, especifique una propiedad o una expresión. A continuación, la propiedad o expresión se evalúa para cada evento que se procesa. Todos los eventos que se evalúan con el mismo valor en la instrucción GROUPBY se combinan para calcular la agregación especificada en la instrucción SELECT . Si la expresión GROUPBY es nula o está vacía para un evento entrante, el evento no contribuirá a la agregación.

Sugerencia

Cualquier expresión que se pueda usar en una regla también se puede usar en una velocidad. Estas expresiones incluyen listas y llamadas externas. Para obtener una lista completa de las funciones disponibles, consulte la guía de referencia del lenguaje.

Nota:

La ventana de tiempo en la que desea observar la velocidad no se especifica en la propia definición de velocidad. En su lugar, lo especificas al hacer referencia a la velocidad desde una regla.

Ejemplos de velocidades

Use los ejemplos siguientes para crear sus propias velocidades.

Cantidad de dinero que ha invertido cada usuario

SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase
GROUPBY @"user.userId"

Número de veces que se ha usado cada dirección IP para crear una nueva cuenta

SELECT Count() AS NewAccounts_perIP
FROM AccountCreation
GROUPBY @"device.ipAddress"

Para cada dispositivo, el número de usuarios únicos que han iniciado sesión

SELECT DistinctCount(@"user.userId") AS uniqueUserLogins_perDevice
FROM AccountLogin
GROUPBY @"deviceAttributes.deviceId"

Para cada usuario, el número de intentos de inicio de sesión rechazados por protección contra fraudes o recibió una puntuación de alto riesgo

SELECT Count() AS loginRejections_perUser
FROM AccountLogin
WHEN @"ruleEvaluation.decision" == "Reject" or @"riskScore" > 900
GROUPBY @"user.userId"

Para cada usuario, el número de compras realizadas fuera de EE. UU. y que también contenía un producto en una lista de alto riesgo

SELECT Count() AS intlHighRiskTxns_perUser
FROM Purchase
WHEN @"user.country" != "US" and ContainsKey("Risky Products", "Product ID", @"ProductList.productId")
GROUPBY @"user.userId

Para cada usuario, el número de correos electrónicos personalizados únicos que se usaron en un evento de evaluación y observación

SELECT DistinctCount(@"custom.email") AS uniqueEmails_perUser
FROM Assessment_A1, Assessment_A1:status
GROUPBY @"custom.userId"

Creación de un conjunto de velocidad

  1. En el portal protección contra fraudes, en el panel de navegación izquierdo, seleccione Velocidades y, a continuación, seleccione Nuevo conjunto de velocidades.

    Protección contra fraudes crea un conjunto de velocidad de borrador que solo es visible para usted (el creador). Tenga en cuenta que todos los cambios que realice en el borrador se guardan automáticamente.

  2. Opcional: en el campo Condición , escriba una condición booleana. Alternativamente, deje el campo en blanco.

    Solo los eventos que coinciden con esta condición se consideran en la agregación. Se omiten otros eventos. Por ejemplo, si desea que las velocidades del conjunto de velocidades agreguen solo los eventos que se producen en Estados Unidos, defina la siguiente condición:

    CUANDO @"user.countryRegion" == "US"

  3. Para definir una nueva velocidad desde cero, seleccione Nueva velocidad. Para obtener información sobre cómo definir velocidades, consulte la sección Definición de una velocidad anteriormente en este artículo.

    Para empezar desde una plantilla de velocidad existente, seleccione la flecha situada a la derecha de Nueva velocidad. Para ver una lista completa de las plantillas existentes y su contenido, seleccione Ver todo.

    Puede agregar hasta 10 velocidades a un conjunto.

  4. Para publicar la velocidad, seleccione Publicar.

  5. En el cuadro de diálogo de confirmación, puede cambiar el nombre, la descripción o el estado de la velocidad. Cuando esté listo, seleccione Publicar.

Una vez publicada la velocidad, las velocidades del conjunto de velocidades son visibles para todos los usuarios. A medida que los eventos fluyen a través de Protección contra fraudes, las velocidades comenzarán a agregar datos.

Nota:

Después de publicar una velocidad, comienza a agregar datos desde ese punto hacia adelante. No se tienen en cuenta los datos históricos.

Para obtener información sobre cómo usar las velocidades para tomar decisiones, consulte la sección Uso de una velocidad en reglas más adelante en este artículo.

Comprender el panel de muestra

Al crear o editar un conjunto de velocidad, el panel Ejemplo aparece en el lado derecho de la página.

  • En el panel Ejemplo se muestran todas las propiedades de evento a las que se puede hacer referencia en las velocidades. Estas propiedades varían, en función del tipo de evento que observe la velocidad. Seleccione el tipo de evento en el campo Evento en la parte superior del panel.

  • La sección muestra de carga útil contiene un ejemplo de las propiedades que se pueden enviar en la API de solicitud para la evaluación.

  • La sección de ejemplo de enriquecimiento contiene un ejemplo de las propiedades que protección contra fraudes agrega al evento después de enviar la solicitud inicial. Por ejemplo, estas propiedades incluyen información de la solución de identificación de dispositivos de Protección contra el fraude, así como puntuaciones de riesgo y de bot de los modelos de aprendizaje automático.

    El ejemplo de enriquecimiento también incluye información de la evaluación de reglas, como la decisión, el nombre de la regla y el nombre de la cláusula que se activó. Puede usar cualquiera de estas propiedades en su velocidad. Use un signo (@) para hacer referencia a ellos (por ejemplo, @"user.firstName").

Velocidades definidas por el sistema (valor predeterminado)

Protección contra fraudes crea varias velocidades definidas por el sistema por entorno. Por ejemplo, se pueden agregar las velocidades predeterminadas siguientes.

  • Valor predeterminado: velocidades de correo electrónico
  • Valor predeterminado: velocidades del instrumento de pago
  • Valor predeterminado: velocidades IP
  • Valor predeterminado: velocidades de identificador de dispositivo

Algunas funcionalidades de Protección contra fraudes se basan en las velocidades predeterminadas, como la página Resultados de la búsqueda para la protección de la compra.

No se pueden editar ni eliminar velocidades definidas por el sistema. Sin embargo, puede clonarlos y, a continuación, editar o eliminar los clones.

Administración de los conjuntos de velocidades

  • Para editar un conjunto de velocidad publicado existente, seleccione la velocidad y, a continuación, seleccione Editar.

    Se crea un borrador de su velocidad publicada y solo usted puede verlo. Todos los cambios que realice en el borrador se guardan automáticamente.

    Cuando esté listo para insertar los cambios en producción, seleccione Publicar. El conjunto de velocidad publicado anteriormente se sobrescribe con tus cambios.

    Nota:

    Los cambios realizados en una velocidad afectan solo a los valores que se calculan desde ese punto hacia adelante. No afectan a los datos de eventos anteriores.

  • Para eliminar un conjunto de velocidad existente, seleccione los puntos suspensivos (...) y, a continuación, seleccione Eliminar.

    Nota:

    No se puede eliminar un conjunto de velocidad si se hace referencia a cualquiera de sus velocidades en una regla publicada.

  • Para actualizar el nombre o la descripción de un conjunto de velocidad, seleccione los puntos suspensivos (...) y, a continuación, seleccione Cambiar nombre.

  • Para cambiar el estado del conjunto de velocidad, seleccione Activar o Desactivar.

    • Las velocidades en un conjunto de velocidad marcado como Activo se actualizan constantemente a medida que los nuevos eventos fluyen hacia la Protección contra el fraude.
    • Las velocidades de un conjunto de velocidades marcados como Inactivos nunca se actualizan.

Uso de una velocidad en reglas

Para usar las velocidades para tomar decisiones sobre los eventos de evaluación entrantes, debe hacer referencia a ellos en las reglas. Por ejemplo, la siguiente velocidad se define como parte de un conjunto de velocidades.

SELECT Sum(@"totalAmount") AS totalSpending_perUser
FROM Purchase 
GROUPBY @"user.userId"
WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000

En la regla, puede realizar una comprobación de velocidad mediante la siguiente sintaxis.

WHEN Velocity.totalSpending_perUser(@"user.userid", 7d) > 1000

El primer parámetro es key. Este parámetro se usa para buscar la velocidad. En la definición de velocidad anterior para totalSpending, la instrucción GROUPBY\ @"user.userId" indica que los valores se agregarán para cada identificador de usuario que se encuentre. Al hacer referencia a la velocidad de una regla, el parámetro clave especifica el identificador de usuario para recuperar el valor de velocidad para el usuario. Si el parámetro de clave es nulo o está vacío, Protección contra fraudes devuelve 0.

El segundo parámetro es timeWindow. Este parámetro especifica el período de tiempo en el que desea observar la velocidad. Puede seleccionar un período de tiempo entre un segundo y nueve días. Actualmente, todas las ventanas de tiempo válidas son las siguientes:

  • [1–59]s
  • [1–59]m
  • [1–23]h
  • [1–90]d

Nota:

El período de tiempo comienza al principio de la unidad de medida anterior. Por ejemplo, si la fecha y hora actuales son las 11:04 a. m. el 1 de abril de 2021, y comprueba una velocidad en un período de tiempo de dos horas (2h), verá los datos desde las 9:00 a. m., no desde las 9:04 a. m.

Si una velocidad no devuelve un valor debido a un error, se devuelve un valor predeterminado de 0 y la regla continúa ejecutándose.

Las velocidades se actualizan con el evento actual después de la evaluación de las reglas. Por lo tanto, si hace referencia a una velocidad en una regla, no incluiría el evento actual que se está procesando.

Las velocidades también se pueden invocar desde Functions. Para obtener más información, vea Funciones.

Uso de reglas para ver los valores de velocidad

Además de devolver decisiones, las reglas pueden usar funciones de observación como Output() para imprimir determinados valores en la respuesta de la API. Por ejemplo, un usuario podría escribir la cláusula siguiente, que no toma una decisión, sino que simplemente generará los valores de varias velocidades en la respuesta de la API.

OBSERVE Output(
    totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
    loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)

Cada evento de evaluación que desencadene esta regla imprimirá la siguiente sección en la respuesta de la API:

"MerchantRuleOutput": {
    "clause1": {
        "totalSpending_7d": "523.99",
        "loginsPerDevice_1m": "1"
    }
},

En lugar de imprimir los valores de velocidad directamente en la respuesta de la API, puede usar el seguimiento de eventos para enviar los valores a su propia instancia de Azure Event Hubs o Azure Blob Storage. Por ejemplo, cree la siguiente regla.

RETURN Approve(), Trace(
    totalSpending_7d = Velocity.totalSpending_perUser(@"user.userid", 7d),
    loginsPerDevice_1m = Velocity.loginCount_perDevice(@"deviceAttributes.deviceId", 1m)
)

Si se suscribe al evento FraudProtection.Trace.Rule, se enviará la siguiente información como parte de cada evento.

"attributes": {
    "totalSpending_7d": 523.99
    "loginsPerDevice_1m": 1
}

Recursos adicionales