Benford's Law

A framework for Benford's Law conformity assessment.
277 Downloads
Updated 13 Aug 2019

Benford Law

This script represents a full-featured framework for assessing Benford's Law conformity. It can be used in order to perform all the tests proposed by Nigrini et al. (2012):

  • the Primary Tests: First Digits Analysis, Second Digits Analysis, First-Two Digits
  • the Advanced Tests: Third Digits Analysis, Second Order Analysis, Summation Analysis
  • the Associated Tests: Last-Two Digits Analysis, Number Duplication Analysis, Distortion Factor Model
  • the Mantissae Analysis
  • the Zipf's Law Analysis

For each significant digit analysis, the following conformity indicators are provided:

Requirements

The minimum Matlab version required is R2014a. In addition, the Statistics and Machine Learning Toolbox must be installed in order to properly execute the script.

Dataset & Usage

The framework doesn't require any specific dataset structure. Numeric data can be extracted from any source or produced using any existing methodology, but a minimum amount of 1000 elements (with at least 50 unique observations) is required in order to perform a coherent analysis.

The run.m script provides an example of how this framework can be used, but all the functions located in the Scripts folder can be executed in standalone computation processes. It is recommended to validate and preprocess the dataset using the benford_data function. The benford_analyse functions can be used in order to perform a full automatic analysis of the dataset and plot the results. The benford_random function is an additional tool that produces random numbers whose digits follow the Benford's Law distribution.

Screenshots

Second Digits Analysis 1

Second Digits Analysis 2

First-Two Digits Analysis 1

First-Two Digits Analysis 2

Mantissae Analysis

Cite As

Tommaso Belluzzo (2024). Benford's Law (https://github.com/TommasoBelluzzo/BenfordLaw), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2016b
Compatible with R2016b to R2022b
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.2.0

GitHub Version

1.1.9

Improved description.

1.1.8

Minor fixes and improvements.

1.1.7

Minor fixes and improvements.

1.1.6

Minor fixes and improvements.

1.1.5

Minor fixes and improvements.

1.1.4

Updated details concerning compatibility & requirements.

1.1.3

Updated details concerning compatibility & requirements.

1.1.2

Minor fixes and improvements.

1.1.1

Project website.

1.1.0

Target release.

1.0.9

Improved tags.

1.0.8

Improved tags.

1.0.7

Improved tags.

1.0.6

Improved description.

1.0.5

Improved description.

1.0.4

Improved description.

1.0.3

Added screenshot.

1.0.2

Minor fixes and improvements.

1.0.1

Added details concerning compatibility & requirements.

1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.