La legge di Benford per il rilevamento di frodi

Rilevamento delle frodi in R

Bart Baesens

Professor Data Science at KU Leuven

Molti dataset seguono la legge di Benford

  • Dati in cui i numeri rappresentano dimensioni di fatti o eventi
  • Dati in cui i numeri non sono correlati tra loro
  • Insiemi di dati che crescono esponenzialmente o derivano da fluttuazioni moltiplicative
  • Miscele di insiemi di dati diversi
  • Alcune note sequenze di interi infinite

Preferibilmente, oltre 1000 numeri che coprono più ordini di grandezza.

Rilevamento delle frodi in R

Per esempio

  • transazioni contabili
  • transazioni con carta di credito
  • saldi dei clienti
  • tassi di mortalità
  • diametro dei pianeti
  • bollette di luce e telefono
  • numeri di Fibonacci
  • redditi
  • richieste di risarcimento assicurativo
  • lunghezze e portate dei fiumi
  • dati sui prestiti
  • numero di articoli di giornale
  • costanti fisiche e matematiche
  • popolazioni delle città
  • potenze di 2
  • ordini di acquisto
  • prezzi di azioni e case
  • ...
Rilevamento delle frodi in R

La legge di Benford per il rilevamento di frodi

  • La frode in genere avviene aggiungendo numeri inventati o alterando osservazioni reali.
  • La legge di Benford è un strumento diffuso per rilevare frodi ed è persino ammissibile come prova legale negli USA.
  • È stata applicata con successo, ad esempio, a frodi su sinistri, assegni, furto di elettricità, contabilità forense e pagamenti.
  • Vedi anche il libro Benford's Law: Applications for forensic accounting, auditing, and fraud detection di Nigrini (John Wiley & Sons, 2012).
Rilevamento delle frodi in R

Fai attenzione

Nota che è sempre possibile che i dati non seguano la legge di Benford.

  • Se esistono limiti inferiore e/o superiore o i dati sono concentrati in un intervallo ristretto, ad es. paga oraria, altezza delle persone.
  • Se i numeri sono usati come identificativi o etichette, ad es. numeri di previdenza sociale, numeri di volo, targhe, numeri di telefono.
  • Fluttuazioni additive invece che moltiplicative, ad es. battiti cardiaci in un dato giorno
Rilevamento delle frodi in R

Legge di Benford per le prime due cifre

Un dataset segue la legge di Benford per le prime due cifre se la probabilità che le prime due cifre $D_1D_2$ siano uguali a $d_1d_2$ è circa:

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

Questo test è più affidabile di quello sulla prima cifra ed è il più usato nel rilevamento di frodi.

Rilevamento delle frodi in R

Dati del censimento

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

bfd2census

Rilevamento delle frodi in R

Rimborsi ai dipendenti

  • L'audit interno deve controllare i rimborsi spese dei dipendenti per possibili frodi.
  • I dipendenti possono farsi rimborsare pasti di lavoro e trasferte inviando scansioni degli scontrini.
  • Analizziamo gli importi rimborsati al dipendente Sebastiaan negli ultimi 5 anni.
  • Il dataset expenses contiene 1000 rimborsi.
  • Useremo di nuovo la funzione inclusa nel pacchetto benford.analysis.
Rilevamento delle frodi in R

Analisi con la legge di Benford per la prima cifra

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

bfd1exp

Rilevamento delle frodi in R

Analisi con la legge di Benford per le prime due cifre

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

bfd2exp

Rilevamento delle frodi in R

Esercitiamoci!

Rilevamento delle frodi in R

Preparing Video For Download...