Compartir a través de


Realizar comprobaciones de velocidad

La frecuencia de eventos de un usuario o entidad (como una tarjeta de crédito) puede indicar una actividad sospechosa y un posible fraude. Por ejemplo, después de que los estafadores prueban algunos pedidos individuales, a menudo usan una sola tarjeta de crédito para realizar rápidamente muchos pedidos desde una única 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 observar los eventos entrantes para este tipo de patrones y usar reglas para definir umbrales más allá de los cuales desea tratar los patrones como sospechosos.

Si su instancia de Microsoft Dynamics 365 Fraud Protection tiene varios entornos, puede crear un conjunto de velocidades en un entorno específico mediante el conmutador de entornos. Puede hacer referencia a la velocidad solo en las reglas que están definidas en el entorno correspondiente. Si la velocidad se crea en un entorno primario y la regla se define en el mismo entorno, las transacciones en los entornos secundarios se incluirán en la velocidad cuando se ejecute la regla de nivel primario.

Definir una velocidad

Los conjuntos de velocidades se componen de velocidades individuales. Puede definir las velocidades en Dynamics 365 Fraud Protection usando las palabras clave SELECT, FROM, WHEN y GROUPBY en la siguiente estructura.

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

Nota:

Las matrices no se pueden usar para GROUPBY en una definición de velocidad.

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

    Aquí hay una explicación de los métodos de agregación.

    Método de agregación Descripción Ejemplo
    Cuenta Este método devuelve el número de veces que ha ocurrido 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(@"device.ipAddress") AS distinctIPaddresses
    Suma Este método devuelve la suma de valores de una propiedad numérica especificada. SELECT Sum(@"totalAmount") AS totalSpending
  • Después de FROM, especifique una evaluación o evento de obervación para observar la velocidad. El campo para el que desea observar la velocidad o agrupar debe ser parte de la llamada API. Para observar la velocidad de un evento cruzado, especifique varios eventos en evaluaciones o eventos de observación.

  • La declaració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 ignoran otros eventos. La expresión se usa para filtrar los eventos que se consideran en la velocidad.

  • Después de GROUPBY, especifique una propiedad o una expresión. Luego, 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 declaración GROUPBY se combinan para calcular la agregación que se especifica en la declaració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 de idiomas.

Nota

La ventana de tiempo en la que desea observar la velocidad no se especifica en la definición de velocidad en sí. En su lugar, lo especifica cuando hace referencia a la velocidad de una regla.

Ejemplos de velocidades

Utilice los siguientes ejemplos para crear sus propias velocidades.

La cantidad de dinero que ha gastado cada usuario.

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

La cantidad de veces que se ha utilizado cada dirección IP para crear una nueva cuenta.

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

Para cada dispositivo, la cantidad de usuarios únicos que han iniciado sesión

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

Para cada usuario, la cantidad de intentos de inicio de sesión que fueron rechazados por Fraud Protection o recibieron 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, la cantidad de compras que se realizaron fuera de los EE. UU. Y que también contenían 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, la cantidad 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"

Crear un conjunto de velocidadeds

  1. En el portal de Fraud Protection, en la zona de navegación izquierda, seleccione Velocidades y luego Nuevo conjunto de velocidades.

    Fraud Protection crea un conjunto de velocidades de borrador que solo usted (el creador) puede ver. Tenga en cuenta que todos los cambios que realice en el borrador se guardan automáticamente.

  2. Opcional: en el campo Condición, introduzca 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 ignoran otros eventos. Por ejemplo, si desea que las velocidades en el conjunto de velocidades agreguen solo eventos que ocurren en los Estados Unidos, defina la siguiente condición:

    WHEN @"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 Definir una velocidad anterior en este artículo.

    Para comenzar desde una plantilla de velocidad existente, seleccione la flecha a la derecha de Nueva velocidad. Para ver la lista completa de plantillas existentes y sus contenidos, seleccione Ver todo.

    Puede agregar hasta 10 velocidades en 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 fluyan a través de la Fraud Protection, las velocidades comenzarán a agregar datos.

Nota

Una vez que se publica una velocidad, comienza a agregar datos desde ese punto en adelante. No se consideran los datos históricos.

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

Comprender el panel de muestra

Cuando crea o edita un conjunto de velocidades, el panel Muestra aparece en el lado derecho de la página.

  • El panel Ejemplo muestra todas las propiedades del evento a las que se puede hacer referencia en sus velocidades. Estas propiedades varían, dependiendo del tipo de evento que observe su velocidad. Seleccione el tipo de evento en el campo Evento en la parte superior del panel.

  • La sección ejemplo 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 muestra de enriquecimiento contiene un ejemplo de las propiedades que la Fraud Protection agrega a su evento después de que se haya enviado la solicitud inicial. Por ejemplo, estas propiedades incluyen información de la solución de huella digital del dispositivo de Fraud Protection y puntajes de riesgo y bot de los modelos de aprendizaje automático.

    La muestra 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 utilizar cualquiera de estas propiedades en su velocidad. Utilice un signo arroba (@) para hacer referencia a ellos (por ejemplo, @"user.firstName").

Velocidades definidas por el sistema (predeterminadas)

Fraud Protection crea varias velocidades definidas por el sistema por cada entorno. Por ejemplo, se puede agregar las siguientes velocidades predeterminadas.

  • Predeterminado: velocidades del correo electrónico
  • Predeterminado: velocidades de los instrumentos de pago
  • Predeterminado: velocidades de IP
  • Predeterminado: velocidades de id. de dispositivo

Algunas funciones de Fraud Protection se basan en las velocidades predeterminadas, como la página de Resultados de la búsqueda para la protección de compra.

No puede editar o eliminar las velocidades definidas por el sistema. Sin embargo, puede clonarlas y luego editarlas o eliminarlas.

Gestiona tus conjuntos de velocidad

  • Para editar un conjunto de velocidades publicado, seleccione la velocidad y luego 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 impulsar sus cambios a producción, seleccione Publicar. El conjunto de velocidades publicado anteriormente se sobrescribe con sus cambios.

    Nota

    Cualquier cambio que realice en una velocidad afectará solo a los valores que se calculan a partir de ese punto. No afectan los datos de eventos anteriores.

  • Para eliminar un conjunto de velocidades publicado, seleccione los puntos suspensivos (...) y luego seleccione Eliminar.

    Nota

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

  • Para actualizar el nombre o la descripción de un conjunto de velocidades, seleccione los puntos suspensivos (...) y luego seleccione Renombrar.

  • Para cambiar el estado de su conjunto de velocidades, seleccione Activar o Desactivar.

    • Las velocidades en un conjunto de velocidades marcado como Activo se actualizan constantemente a medida que fluyen nuevos eventos a Fraud Protection.
    • Las velocidades en un conjunto de velocidades marcado como Inactivo nunca se actualizan.

Usar una velocidad en las reglas

Para usar sus velocidades para tomar decisiones sobre eventos de evaluación entrantes, debe hacer referencia a ellos en sus 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 su regla, puede hacer una verificación de velocidad usando la siguiente sintaxis.

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

El primer parámetro es clave. Este parámetro se usa para buscar la velocidad. En la definición de velocidad anterior para totalSpending, la declaración GROUPBY \ @"user.userId"@"user.userId" indica que los valores se agregarán para cada ID de usuario que se encuentre. Cuando hace referencia a la velocidad de una regla, el parámetro de clave especifica el ID de usuario para el que se recuperará el valor de velocidad. Si el parámetro de clave es nulo o está vacío, la Fraud Protection devuelve 0.

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

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

Nota

La ventana de tiempo comienza al inicio de la unidad de medida anterior. Por ejemplo, si la fecha y la hora actuales son las 11:04 a. M. Del 1 de abril de 2021 y verifica una velocidad de dos horas (2h) ventana de tiempo, verá los datos desde las 9:00 AM, no desde las 9:04 AM.

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

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

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

Usar reglas para ver los valores de velocidad

Además de devolver decisiones, las reglas pueden utilizar funciones de observación tal como Output() para imprimir ciertos valores en la respuesta de la API. Por ejemplo, un usuario podría escribir la siguiente cláusula, 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 inicio de evaluación que active 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 utilizar 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 st suscribe al Evento FraudProtection.Trace.Rule, la siguiente información se enviará como parte de cada evento.

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

Recursos adicionales