Benfordův zákon pro odhalování podvodů

Detekce podvodů v R

Bart Baesens

Professor Data Science at KU Leuven

Mnoho datových sad splňuje Benfordův zákon

  • Data, kde čísla představují velikosti jevů nebo událostí
  • Data, kde čísla spolu nesouvisejí
  • Datové sady, které rostou exponenciálně nebo vznikají multiplikativními fluktuacemi
  • Směsi různých datových sad
  • Některé dobře známé nekonečné posloupnosti celých čísel

Nejlépe více než 1 000 čísel pokrývajících více řádů.

Detekce podvodů v R

Příklady

  • účetní transakce
  • transakce platebními kartami
  • zůstatky zákazníků
  • míry úmrtnosti
  • průměry planet
  • účty za elektřinu a telefon
  • Fibonacciho čísla
  • příjmy
  • pojistné nároky
  • délky a průtoky řek
  • data o půjčkách
  • počty novinových článků
  • fyzikální a matematické konstanty
  • počty obyvatel měst
  • mocniny čísla 2
  • nákupní objednávky
  • ceny akcií a nemovitostí
  • ...
Detekce podvodů v R

Benfordův zákon pro odhalování podvodů

  • Podvody se obvykle páchají vymýšlením čísel nebo změnou skutečných hodnot.
  • Benfordův zákon je oblíbeným nástrojem pro odhalování podvodů a je dokonce právně přípustný jako důkaz v USA.
  • Byl úspěšně využit například při pojistných podvodech, padělání šeků, krádeži elektřiny, forenzním účetnictví a platebních podvodech.
  • Viz také kniha Benford's Law: Applications for forensic accounting, auditing, and fraud detection od Nigriniho (John Wiley & Sons, 2012).
Detekce podvodů v R

Pozor

Data nemusí vždy Benfordův zákon splňovat.

  • Existuje-li dolní a/nebo horní hranice nebo jsou data soustředěna v úzkém intervalu, např. hodinová mzda, výška lidí.
  • Čísla slouží jako identifikátory nebo štítky, např. rodná čísla, čísla letů, registrační značky, telefonní čísla.
  • Aditivní fluktuace místo multiplikativních, např. počet tepů za den.
Detekce podvodů v R

Benfordův zákon pro první dvě číslice

Datová sada splňuje Benfordův zákon pro první dvě číslice, pokud pravděpodobnost, že první dvě číslice $D_1D_2$ jsou rovno $d_1d_2$, je přibližně:

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

Tento test je spolehlivější než test první číslice a nejčastěji se používá při odhalování podvodů.

Detekce podvodů v R

Data ze sčítání lidu

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

Benfordův zákon – sčítání lidu, 2 číslice

Detekce podvodů v R

Náhrady výdajů zaměstnanců

  • Interní audit potřebuje zkontrolovat náhrady výdajů zaměstnanců z hlediska podvodů.
  • Zaměstnanci mohou nárokovat úhradu obchodních jídel a cestovních výdajů zasláním naskenovaných účtenek.
  • Analyzujeme částky proplacené zaměstnanci Sebastiaanovi za posledních 5 let.
  • Datová sada expenses obsahuje 1 000 záznamů o náhradách.
  • Použijeme funkci z balíčku benford.analysis.
Detekce podvodů v R

Analýza pomocí Benfordova zákona – první číslice

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

Benfordův zákon – výdaje, 1 číslice

Detekce podvodů v R

Analýza pomocí Benfordova zákona – první dvě číslice

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

Benfordův zákon – výdaje, 2 číslice

Detekce podvodů v R

Lass uns üben!

Detekce podvodů v R

Preparing Video For Download...