DevSecOps

20 fev, 2014

Anti-fraude em e-commerce: requisitos de negócio e implementação – Parte 01

Publicidade

Vender é o maior desafio de um e-commerce, certo?! O que precisar ser feito para realizar uma venda será feito: investimento em advertise; criação de campanhas divertidas; tracking do usuário e criação de personas que representam o target para uma categoria de produtos.

Tudo pronto, site no ar e as vendas começam a acontecer. Com todos os esforços resultando em novos clientes e novas vendas, qual seria a próxima preocupação na sua lista? Gostaria de sugerir a qualidade dessas vendas – e quando digo qualidade da venda eu me refiro a prática de fraude que vem assolando o comércio eletrônico.

O esforço constante de venda deve ser acompanhado de um esforço constante para garantir que processos fraudulentos não tornem a empresa uma vítima de sua própria eficiência, afinal, quanto mais ela se fizer visível, mais será alvo. Algumas características dos produtos da loja online ajudam a torná-la alvo fácil de fraudes. Produtos fáceis de revender como roupas, acessórios não personalizados, sapatos e tênis, seja pelo seu valor ou mesmo pelo interesse geral nesses produtos, geram mais interesse por parte dos fraudadores.

O valor de fraudes em e-commerce foi estimado em US$ 3.5 bilhões no ano de 2012 e não se engane achando que ele foi menor em 2013 ou reduzirá em 2014. Fraudes existem e deve existir um esforço para reduzi-las. Eliminar fraudes é um desafio permanente não só com as crescentes e complexas técnica de computação, como também com técnicas off-line.

Como esta é uma série de artigos, vou procurar avançar no tema como avançaria pela análise e implementação de um software com esse objetivo, separando em passos cada uma das questões que creio merecerem destaque.

1º passo: coletar informação

Armazene dados sobre as transações que ocorrerem. Que dados? Todos que puder! Creio que podemos dividir os dados disponíveis em um acesso de cliente em dados de comportamento e dados de compra.

Alguns Dados de compra:

  • Quem entrou na loja?
  • Onde esta?
  • Que itens comprou?
  • Onde mandou entregar?
  • Como pagou?

Essa é a identidade de uma transação. Uma base mínima necessária para realizar uma transação em uma loja. Ela pode ser extendida e incorporar novos atributos ainda relacionados a transação como “Que cupom utilizou?”, “Que promoção trouxe o cliente até a loja?”, “Quantas tentativas de fechar o carrinho falharam?” e outras.

Os outros dados são dados de comportamento. São relacionados à como foi feita a compra.

  • De onde veio?
  • Que produtos olhou?
  • Quanto tempo demorou para fazer a compra?
  • Já era cliente?

E novamente, esse conjunto de dados pode ser expandido e enriquecido com mais informações sobre o comportamento.

No fechamento da compra esse conjunto de dados permite uma análise com o objetivo de informar se existe uma fraude ou não e depois devem podem seguir um caminho nobre ao serem anonimizados e armazenados para uso em outras análises de anti-fraude.

Coletar dados não é parte somente do processo de gerar a venda. Coletar dados é ainda mais importante para garantir a qualidade da venda.

2º passo: algoritmos

As técnicas praticadas para fraude em sistemas de e-commerce (e em todos os outros) estão em constante evolução. Variam de injeção de código malicioso, passando por técnicas sociais e utilização de dados de cartões de crédito furtados.

As práticas acima se somam ao uso fraudulento de recursos legitimos, como é o caso do charge back, que consiste em estornar a operação, retornando o montante movimentado para a conta do cliente devido a disputas relacionadas a autoria da compra, problemas com produtos e entrega. Uma fraude baseada em charge back é uma fraude baseada na falsa alegação de uma dessas ocorrências, como por exemplo, haver recebido o produto mas alegar que não o recebeu para que o valor pago seja estornado e a compra saia de graça.

Técnicas como essas fazem parte de uma lista crescente que aponta para a necessidade da sistematização da análise de crédito. O número de operações realizadas online inviabiliza a validação manual dessas operações.

Assim, chegamos aos sistemas de anti-fraude. Agora que conhecemos o problema, estamos coletando informações sobre comportamento e operações de checkout e conhecemos algumas das técnicas utilizadas, podemos pensar sobre como desenvolver uma solução.

Em termos de algoritmos eu gostaria de abordar duas opções:

Algoritmos de aprendizado supervisionado

Pertencem à essa classe de algoritmos todos aqueles que se baseiam em cenários de treinamento. Esses cenários representam o comportamento esperado. Um algoritmo dessa classe infere uma resposta a um input de acordo com sua “base de conhecimento”. Árvores de decisão, classificadores Bayesianos, redes neutrais utilizando back propagation são algoritmos de aprendizado supervisionado.

Algoritmos de aprendizado não supervisionado

Esse tipo de algoritmo não se baseia em cenários de treinamento. Eles não recebem feedback e por essa razão são chamados de não supervisionados. Não há alguma fonte externa que informe que estão errados ou certos. Através da análise de características da fonte de dados, eles expõem grupos que são utilizados para tomada de decisão sem qualquer tipo de conhecimento prévio.

Clusterização de dados e alguns tipos de redes neutrais são exemplos de algoritmos não supervisionados.

A decisão entre quais algoritmos utilizar é baseada no tipo de problema. No caso da análise de risco de fraude, caso você decida por um algoritmos supervisionado, você terá de conviver com a possibilidade de novos tipos de fraudes com características que não estão cobertas pelo conjunto de dados de treinamento e que talvez não consigam ser inferidas com a assertividade esperada.

A utilização de algoritmos de aprendizado não supervisionado para lidar com a evolução das técnicas de fraude é o melhor cenário e, de fato, esse é o tipo de algoritmos mais utilizado nessa indústria milionária de sistema de anti-fraude.

No próximo artigo vou começar a implementação dos conceitos abordados até aqui.