Compartilhar via


Executar verificações de velocidade

A frequência de eventos de um usuário ou de uma entidade (como um cartão de crédito) pode indicar atividades suspeitas e possíveis fraudes. Por exemplo, depois que os fraudadores tentam fazer alguns pedidos individuais, eles geralmente usam um único cartão de crédito para fazer rapidamente vários pedidos a partir de um único endereço IP ou dispositivo. Eles também podem usar vários cartões de crédito diferentes para fazer vários pedidos rapidamente. As verificações de velocidade ajudam você a identificar esses tipos de padrões de eventos. Ao definir as velocidades, você pode monitorar eventos de entrada para esses tipos de padrões e usar regras para definir limites além dos quais você deseja tratar os padrões como suspeitos.

Se sua instância do Microsoft Dynamics 365 Fraud Protection tiver vários ambientes, você pode definir um conjunto de velocidades em um ambiente específico usando o alternador de ambiente. Você pode fazer referência a uma velocidade somente nas regras definidas no ambiente correspondente. Se a velocidade é criada em um ambiente pai e a regra é definida no mesmo ambiente, as transações nos ambientes filho serão incluídas na velocidade quando a regra de nível pai for executada.

Definir uma velocidade

Os conjuntos de velocidade são compostos por velocities individuais. Você define as velocidades no Dynamics 365 Fraud Protection usando as palavras-chave SELECT, FROM, WHEN e GROUPBY na estrutura a seguir.

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

Observação

Matrizes não podem ser usadas para GROUPBY em uma definição de velocidade.

  • Depois de SELECT, especifique um método de agregação: Count, DistinctCount ou Sum. Em seguida, use a palavra-chave AS para nomear a velocidade. Esse nome poderá ser usado para fazer referência à velocidade nas regras.

    Veja uma explicação dos métodos de agregação.

    Método de agregação descrição Exemplo
    Contagem Esse método retorna o número de vezes que um evento ocorreu. SELECT Count() AS numPurchases
    DistinctCount Esse método retorna o número de valores distintos para a propriedade especificada. Se a propriedade especificada for nula ou estiver vazia para um evento de entrada, o evento não contribuirá para a agregação. SELECT DistinctCount(@"device.ipAddress") AS distinctIPaddresses
    Soma Esse método retorna a soma de valores distintos para um propriedade numérica especificada. SELECT Sum(@"totalAmount") AS totalSpending
  • Depois de FROM, especifique um evento de avaliação ou de observação para observar a velocidade. O campo para o qual você deseja observar a velocidade ou fazer agrupamento, deve fazer parte da chamada da API. Para observar uma velocidade entre eventos, especifique vários eventos de avaliação ou de observação.

  • A instrução WHEN é opcional. Depois de WHEN, você pode digitar uma expressão booliana. Somente os eventos que correspondem à condição são considerados na agregação. Outros eventos são ignorados. A expressão é usada para filtrar os eventos que são considerados na velocidade.

  • Depois de GROUPBY, especifique uma propriedade ou uma expressão. A propriedade ou expressão será avaliada para cada evento processado. Todos os eventos avaliados para o mesmo valor na instrução GROUPBY são combinados para calcular a agregação especificada na instrução SELECT. Se a expressão GROUPBY for nula ou estiver vazia para um evento de entrada, o evento não contribuirá para a agregação.

Dica

Qualquer expressão que possa ser usada em uma regra também pode ser usada em uma velocidade. Essas expressões incluem listas e chamadas externas. Para obter uma lista completa das funções disponíveis, consulte o guia de referência de linguagem.

Observação

A janela de tempo sobre a qual você deseja observar a velocidade não é especificada na própria definição de velocidade. Em vez disso, especifique-a ao fazer referência à velocidade a partir de uma regra.

Exemplos de velocidades

Use os exemplos a seguir para criar suas próprias velocidades.

A quantidade de dinheiro que cada usuário gastou

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

O número de vezes que cada endereço IP foi usado para criar uma conta

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

Para cada dispositivo, o número de usuários exclusivos que fizeram login

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

Para cada usuário, o número de tentativas de entrada rejeitadas pelo Fraud Protection ou que receberam uma pontuação de alto risco

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

Para cada usuário, o número de compras feitas fora dos EUA e que também continham um produto em uma lista de risco alto

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

Para cada usuário, o número de emails personalizados exclusivos que foram usados em um evento de avaliação e de observação

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

Criar um conjunto de velocidades

  1. No portal do Fraud Protection, na navegação à esquerda, selecione Velocidades e, em seguida, selecione Novo conjunto de velocidades.

    O Fraud Protection criará um conjunto de velocidades de rascunho que ficará visível somente para você (o criador). Observe que todas as alterações feitas no rascunho são salvas automaticamente.

  2. Opcional: no campo Condição, insira uma condição booliana. Como alternativa, deixe o campo em branco.

    Somente os eventos que correspondem a essa condição são considerados na agregação. Outros eventos são ignorados. Por exemplo, se você deseja que as velocidades no conjunto de velocidades agreguem somente eventos que ocorrem nos Estados Unidos, defina a seguinte condição:

    WHEN @"user.countryRegion" == "US"

  3. Para definir uma nova velocidade a partir do zero, selecione Nova velocidade. Para obter informações sobre como definir velocidades, consulte a seção Definir uma velocidade anteriormente neste artigo.

    Para iniciar a partir de um modelo de velocidade existente, selecione a seta à direita de Nova velocidade. Para exibir uma lista completa dos modelos existentes e seus conteúdos, selecione Ver tudo.

    Você pode adicionar até 10 velocidades em um conjunto.

  4. Para publicar a velocidade, selecione Publicar.

  5. Na caixa de diálogo de confirmação, você pode alterar o nome, a descrição ou o status da velocidade. Quando estiver pronto, selecione Publicar.

Depois que a velocidade for publicada, as velocidades no conjunto de velocidades ficarão visíveis para todos os usuários. Conforme os eventos fluem pelo Fraud Protection, as velocidades começarão a agregar dados.

Observação

Depois que uma velocidade for publicada, ela começará a agregar dados desse ponto em diante. Os dados históricos não são considerados.

Para obter informações sobre como usar suas as velocidades para tomar decisões, consulte a seção Usar uma velocidade nas regras posteriormente neste artigo.

Entender o painel Exemplo

Ao criar ou editar um conjunto de velocidades, o painel Exemplo é exibido no lado direito da página.

  • O painel Exemplo mostra todas as propriedades de evento que podem ser referenciadas em suas velocidades. Essas propriedades variam de acordo com o tipo de evento observado pela velocidade. Selecione o tipo de evento no campo Evento na parte superior do painel.

  • A seção exemplo de carga contém um exemplo das propriedades que podem ser enviadas na API de solicitação para a avaliação.

  • A seção exemplo de enriquecimento contém um exemplo das propriedades que o Fraud Protection adiciona ao seu evento depois que a solicitação inicial é enviada. Por exemplo, essas propriedades incluem informações da solução de impressão digital do dispositivo do Fraud Protection e as pontuações de risco e de bot dos modelos de aprendizado de máquina.

    O exemplo de enriquecimento também inclui informações da avaliação da regra, como a decisão, o nome da regra e o nome da cláusula que foi disparada. Você pode usar qualquer uma dessas propriedades na velocidade. Use um sinal de arroba (@) para fazer referência a elas (por exemplo, @"user.firstName").

Velocidades definidas pelo sistema (padrão)

O Fraud Protection cria várias velocidades definidas pelo sistema por ambiente. Por exemplo, você pode adicionar as velocidades padrão a seguir.

  • Padrão - Velocidades de email
  • Padrão - Velocidades de instrumento de pagamento
  • Padrão - Velocidades de IP
  • Padrão - Velocidades de ID de dispositivo

Algumas funcionalidades do Fraud Protection dependem das velocidades padrão, como a página Resultados da pesquisa para proteção de compras.

Não é possível editar ou excluir velocidades definidas pelo sistema. No entanto, é possível cloná-las e, em seguida, editar ou excluir os clones.

Gerenciar seus conjuntos de velocidade

  • Para editar um conjunto de velocidades existente, selecione a velocidade e, em seguida, selecione Editar.

    Um rascunho da velocidade publicada será criado e ficará visível somente para você. Todas as alterações feitas no rascunho são salvas automaticamente.

    Quando você estiver pronto para enviar as alterações para produção, selecione Publicar. O conjunto de velocidades publicado anteriormente será substituído pelas suas alterações.

    Observação

    As alterações feitas em uma velocidade afetam somente os valores que são calculados desse ponto em diante. Elas não afetam os dados anteriores do evento.

  • Para excluir um conjunto de velocidades existente, selecione as reticências (...) e, em seguida, selecione Excluir.

    Observação

    Não é possível excluir um conjunto de velocidades se alguma de suas velocidades for referenciada em uma regra publicada.

  • Para atualizar o nome ou a descrição de um conjunto de velocidades, selecione as reticências (...) e, em seguida, selecione Renomear.

  • Para alterar o status do conjunto de velocidades, selecione Ativar ou Desativar.

    • As velocidades em um conjunto de velocidades marcado como Ativo são constantemente atualizadas conforme novos eventos fluem no Fraud Protection.
    • As velocidades em um conjunto de velocidades marcado como Inativo nunca são atualizadas.

Usar uma velocidade nas regras

Para usar as velocidades para tomar decisões sobre eventos de avaliação de entrada, você deve fazer referência a elas em suas regras. Por exemplo, a velocidade a seguir é definida como parte de um conjunto de velocidades.

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

Na regra, você pode fazer uma verificação de velocidade usando a sintaxe a seguir.

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

O primeiro parâmetro é chave. Esse parâmetro é usado para pesquisar a velocidade. Na definição de velocidade anterior para totalSpending, a instrução GROUPBY\@"user.userId" indica que os valores serão agregados para cada ID de usuário encontrada. Quando você faz referência à velocidade a partir de uma regra, o parâmetro chave especifica a ID do usuário para a qual o valor da velocidade deve ser recuperado. Se o parâmetro chave for nulo ou estiver em branco, o Fraud Protection retornará 0.

O segundo parâmetro é timeWindow. Esse parâmetro especifica a janela de tempo para a qual você deseja observar a velocidade. Você pode selecionar uma janela de tempo entre um segundo e noventa dias. No momento, as seguintes janelas de tempo são válidas:

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

Observação

A janela de tempo começa no início da unidade de medida anterior. Por exemplo, se a data e a hora atuais forem 11h04 em 1º de abril de 2021 e você marcar uma velocidade em uma janela de tempo de duas horas (2h), você verá os dados desde as 9h00, e não desde 9h04.

Se uma velocidade não retornar um valor devido a um erro, um valor padrão 0 será retornado e a regra continuará a ser executada.

As velocidades são atualizadas com o evento atual após a avaliação da regra. Portanto, se você fizer referência a uma velocidade em uma regra, ela não incluirá o evento atual que está sendo processado.

As velocidades também podem ser invocadas a partir de Funções. Para obter mais informações, consulte Funções.

Usar regras para exibir valores de velocidade

Além das decisões sobre devoluções, as regras podem usar funções de observação como Output() para imprimir determinados valores para a resposta da API. Por exemplo, um usuário poderia escrever a seguinte cláusula, que não toma uma decisão, mas simplesmente imprimirá os valores de diversas velocidades na resposta da API.

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

Cada evento de avaliação que dispara essa regra imprimirá a seção a seguir na resposta da API:

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

Em vez de imprimir os valores de velocidade diretamente na resposta da API, você pode usar o rastreamento de eventos para enviar os valores para sua própria instância dos Hubs de Eventos do Azure ou do Armazenamento de Blobs do Azure. Por exemplo, você pode criar a regra a seguir.

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

Se você se inscrever no evento FraudProtection.Trace.Rule, as informações a seguir serão enviadas como parte de cada evento.

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

Recursos adicionais