La loi de Benford pour la détection de fraude

Détection de la fraude en R

Bart Baesens

Professor Data Science at KU Leuven

De nombreux jeux de données respectent la loi de Benford

  • Données où les nombres représentent la taille de faits ou d'événements
  • Données dont les nombres n'ont aucun lien entre eux
  • Jeux de données qui croissent de façon exponentielle ou issus de fluctuations multiplicatives
  • Mélanges de jeux de données différents
  • Certaines suites d'entiers infinies bien connues

Idéalement, plus de 1000 nombres couvrant plusieurs ordres de grandeur.

Détection de la fraude en R

Par exemple

  • opérations comptables
  • transactions par carte de crédit
  • soldes clients
  • taux de mortalité
  • diamètre des planètes
  • factures d'électricité et de téléphone
  • nombres de Fibonacci
  • revenus
  • réclamations d'assurance
  • longueurs et débits de rivières
  • données de prêts
  • nombres d'articles de journaux
  • constantes physiques et mathématiques
  • populations de villes
  • puissances de 2
  • bons de commande
  • prix des actions et des maisons
  • ...
Détection de la fraude en R

La loi de Benford pour la détection de fraude

  • La fraude consiste souvent à inventer des nombres ou modifier des observations réelles.
  • La loi de Benford est un outil populaire de détection de fraude et est même recevable en preuve aux États‑Unis.
  • Elle a notamment été appliquée avec succès à la fraude aux réclamations, aux chèques, au vol d'électricité, à l'examen judiciaire des comptes et à la fraude aux paiements.
  • Voir aussi l'ouvrage Benford's Law: Applications for forensic accounting, auditing, and fraud detection de Nigrini (John Wiley & Sons, 2012).
Détection de la fraude en R

Attention

Notez qu'il est toujours possible que des données ne respectent pas la loi de Benford.

  • S'il existe une borne inférieure et/ou supérieure ou si les données sont concentrées dans un intervalle étroit, p. ex. taux horaire, taille des personnes.
  • Si les nombres servent d'identifiants ou d'étiquettes, p. ex. numéro d'assurance sociale, numéros de vol, plaques d'immatriculation, numéros de téléphone.
  • Fluctuations additives plutôt que multiplicatives, p. ex. battements du cœur en une journée.
Détection de la fraude en R

Loi de Benford pour les deux premiers chiffres

Un jeu de données respecte la loi de Benford pour les deux premiers chiffres si la probabilité que les deux premiers chiffres $D_1D_2$ valent $d_1d_2$ est approximativement :

$$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

Ce test est plus fiable que celui du premier chiffre et est le plus utilisé en détection de fraude.

Détection de la fraude en R

Données du recensement

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

bfd2census

Détection de la fraude en R

Remboursements d'employés

  • L'audit interne doit vérifier les remboursements d'employés pour déceler la fraude.
  • Les employés peuvent se faire rembourser des repas d'affaires et des frais de déplacement après avoir envoyé des images numérisées des reçus.
  • Analysons les montants remboursés à l'employé Sebastiaan au cours des 5 dernières années.
  • Le jeu de données expenses contient 1000 remboursements.
  • Nous utiliserons de nouveau la fonction du paquet benford.analysis.
Détection de la fraude en R

Analyse avec la loi de Benford pour le premier chiffre

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

bfd1exp

Détection de la fraude en R

Analyse avec la loi de Benford pour les deux premiers chiffres

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

bfd2exp

Détection de la fraude en R

Passons à la pratique !

Détection de la fraude en R

Preparing Video For Download...