Lei de Benford para detecção de fraude

Detecção de Fraudes em R

Bart Baesens

Professor Data Science at KU Leuven

Muitos conjuntos seguem a Lei de Benford

  • Dados em que números representam tamanhos de fatos ou eventos
  • Dados em que os números não se relacionam entre si
  • Conjuntos que crescem exponencialmente ou surgem de flutuações multiplicativas
  • Misturas de diferentes conjuntos de dados
  • Algumas sequências de inteiros infinitas conhecidas

De preferência, mais de 1000 números que cubram múltiplas ordens.

Detecção de Fraudes em R

Por exemplo

  • transações contábeis
  • transações de cartão de crédito
  • saldos de clientes
  • taxas de mortalidade
  • diâmetro de planetas
  • contas de luz e telefone
  • números de Fibonacci
  • rendas
  • sinistros de seguro
  • comprimentos e vazões de rios
  • dados de empréstimos
  • quantidade de artigos de jornal
  • constantes físicas e matemáticas
  • populações de cidades
  • potências de 2
  • ordens de compra
  • preços de ações e imóveis
  • ...
Detecção de Fraudes em R

Lei de Benford para detecção de fraude

  • Fraudes geralmente ocorrem ao inventar números ou alterar observações reais.
  • A Lei de Benford é uma ferramenta popular de detecção de fraudes e é até aceita como prova legal nos EUA.
  • Já foi aplicada com sucesso em fraudes de sinistros e cheques, furto de eletricidade, perícia contábil e fraudes em pagamentos.
  • Veja também o livro Benford's Law: Applications for forensic accounting, auditing, and fraud detection de Nigrini (John Wiley & Sons, 2012).
Detecção de Fraudes em R

Cuidado

Note que é sempre possível que os dados simplesmente não sigam a Lei de Benford.

  • Se houver limite inferior e/ou superior ou se os dados estiverem concentrados em intervalo estreito, por exemplo, salário por hora, altura de pessoas.
  • Se números forem usados como identificadores ou rótulos, por exemplo, número de seguridade social, números de voo, placas de carro, números de telefone.
  • Flutuações aditivas em vez de multiplicativas, por exemplo, batimentos cardíacos em um dia.
Detecção de Fraudes em R

Lei de Benford para os dois primeiros dígitos

Um conjunto de dados segue a Lei de Benford para os dois primeiros dígitos se a probabilidade de os dois primeiros dígitos $D_1D_2$ serem $d_1d_2$ for aproximadamente:

$$P(D_1D_2=d_1d_2)=\log\left(1+\frac{1}{d_1d_2}\right) \qquad d_1d_2\in [10, 11, ..., 98, 99]$$

benlaw <- function(d) log10(1 + 1 / d)
benlaw(12)
0.03476211

Esse teste é mais confiável que o dos primeiros dígitos e é o mais usado em detecção de fraudes.

Detecção de Fraudes em R

Dados do censo

bfd.cen <- benford(census.2009$pop.2009, number.of.digits = 2) 
plot(bfd.cen) 

bfd2census

Detecção de Fraudes em R

Reembolsos de funcionários

  • A auditoria interna precisa verificar reembolsos de funcionários por fraude.
  • Funcionários podem reembolsar refeições de negócios e viagens enviando imagens digitalizadas de recibos.
  • Vamos analisar os valores reembolsados ao funcionário Sebastiaan nos últimos 5 anos.
  • O conjunto expenses contém 1000 reembolsos.
  • Vamos usar novamente a função do pacote benford.analysis.
Detecção de Fraudes em R

Análise com a Lei de Benford para o primeiro dígito

bfd1.exp <- benford(expenses, number.of.digits = 1) 
plot(bfd1.exp)

bfd1exp

Detecção de Fraudes em R

Análise com a Lei de Benford para os dois primeiros dígitos

bfd2.exp <- benford(expenses, number.of.digits = 2) 
plot(bfd2.exp)

bfd2exp

Detecção de Fraudes em R

Vamos praticar!

Detecção de Fraudes em R

Preparing Video For Download...