Loi de Benford
Selon la loi de Benford, environ 30,103 % des nombres commencent par 1, mais seulement 4,576 % environ par 9. Choisissez un chiffre de tête pour obtenir sa fréquence attendue, la référence théorique à laquelle comparer vos propres comptages. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Chiffre
- 1
- Pourcentage
- 30,1029995664
- Probabilité
- 0,3010299957
La loi de Benford décrit une régularité frappante dans de nombreuses collections de nombres qui apparaissent dans la nature : le premier chiffre significatif vaut 1 bien plus souvent que 9. La part attendue du chiffre d est le logarithme en base dix de un plus un sur d, écrite P(d) = log10(1 + 1/d). Ce calculateur de la loi de Benford accepte un seul chiffre de tête de 1 à 9 et renvoie cette fréquence attendue sous forme de pourcentage, avec la probabilité sur l'intervalle unité et la chaîne de la formule du manuel. Le chiffre 0 n'est pas un chiffre de tête et est rejeté, tout comme les fractions et toute valeur hors de l'intervalle fermé de 1 à 9.
Ce que dit la loi de Benford et comment la fréquence attendue est calculée
Simon Newcomb a remarqué en 1881 que les premières pages des tables de logarithmes étaient plus usées que les dernières, et Frank Benford a ensuite publié la même loi du premier chiffre avec des tables empiriques plus larges.
L'énoncé mathématique est simple : si un nombre positif a la même vraisemblance de se situer n'importe où sur une échelle logarithmique, la mantisse est uniformément répartie dans l'espace log, et la probabilité que le chiffre de tête vaille d est la largeur de l'intervalle de d à d plus un sur cette échelle. Cette largeur est log10(1 + 1/d). Lorsque d vaut 1, l'intervalle va de 1 à 2 et occupe environ 30.103 pour cent de la décade.
Lorsque d vaut 9, l'intervalle de 9 à 10 n'occupe qu'environ 4.576 pour cent. Ces neuf probabilités somment à un, contrôle utile en classe. La loi est invariante d'échelle : multiplier chaque observation par une constante (changer de monnaie, d'unités ou d'échelle de reporting) ne modifie pas les parts prévues du premier chiffre, car un décalage constant dans l'espace log laisse la partie fractionnaire du logarithme également vraisemblable.
Elle apparaît aussi lorsque les données couvrent plusieurs ordres de grandeur et naissent de processus multiplicatifs : populations, longueurs de rivières, adresses, constantes physiques et de nombreux grands livres. Elle ne s'applique pas aux identifiants attribués, aux mesures fortement bornées, aux tirages au sort ni aux séries uniformes sur une échelle linéaire. Ce point d'accès ne teste pas un jeu de données contre la loi.
Il évalue la fréquence attendue sous forme close pour un chiffre demandé, afin que vous puissiez construire des tableaux, noter des devoirs ou comparer une part observée à la barre théorique sans redériver le logarithme à chaque fois.
Qui se sert des fréquences attendues du premier chiffre
Les cours de statistique et de comptabilité forensique demandent sans cesse d'écrire la formule du premier chiffre et de citer de mémoire les neuf pourcentages attendus. Les équipes d'audit interne et de qualité des données comparent un histogramme observé du chiffre de tête à ces barres théoriques comme signal de filtrage, non comme verdict de fraude : un écart important peut signifier des chiffres fabriqués, une plage tronquée, un mélange de deux processus, ou simplement le mauvais jeu de données pour la loi.
Les chercheurs électoraux et sur le financement des campagnes, les journalistes et les analystes de données ouvertes utilisent les mêmes fréquences attendues lorsqu'ils publient des graphiques du premier chiffre et ont besoin d'une source documentée pour la ligne de comparaison. Gardez les requêtes petites, figez le pourcentage arrondi dans les tests, et vous obtenez des réponses reproductibles pour les devoirs, les greffons LMS et les workers en bordure, sans dresser une bibliothèque statistique à vous.
Si plus tard vous avez besoin d'un test d'ajustement du chi-deux sur un échantillon complet, traitez cela comme une intention de recherche distincte plutôt que de surcharger cette page de fréquence attendue d'un seul chiffre.
Cas d’usage
Exercices de Benford en classe
Les élèves envoient un chiffre de 1 à 9 et vérifient le pourcentage attendu face au calcul à la main de 100 fois log10(1 + 1/d).
Tableaux de filtrage d'audit et grands livres
Construisez les neuf barres théoriques du premier chiffre pour un graphique observé contre attendu en relisant factures, écritures ou livres publics.
Questions fréquentes
Quelle est la formule de la loi de Benford pour un chiffre de tête ?
P(d) = log10(1 + 1/d) pour un chiffre entier d de 1 à 9. Ce calculateur renvoie cette valeur en pourcentage et en probabilité sur l'intervalle unité.
Pourquoi le chiffre 0 est-il rejeté ?
Un chiffre significatif de tête ne peut pas valoir 0.
Que contient la réponse ?
Le chiffre renvoyé, percentage (cent fois la probabilité de Benford), probability sur [0, 1], et la chaîne formula P(d) = log10(1 + 1/d).
Cela teste-t-il si mon jeu de données suit la loi de Benford ?
Non. Il ne renvoie que la fréquence théorique attendue d'un chiffre. Comparez vos propres parts observées à ces barres par une procédure d'ajustement séparée.
Combien coûte le calculateur de la loi de Benford ?
L'outil du navigateur est gratuit et s'exécute en local.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/stat/benfords-law \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"digit":1}'const res = await fetch("https://api.kit.forhosting.com/stat/benfords-law", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"digit": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/benfords-law",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"digit": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/benfords-law", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"digit":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"digit":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/benfords-law", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"digit": 1
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.benfords_law",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
La même fonction pure alimente l'outil gratuit du navigateur et le chemin d'API prépayé, afin que les carnets d'audit, les barèmes d'examen et les scripts forensiques ne divergent jamais du classique trente virgule un pour cent pour les uns de tête. Les appels API réussis sont facturés à la base publiée $0.002 ; une entrée invalide n'est pas débitée.
Contrat d'entrée, champs de réponse et erreurs de validation
Fournissez un seul entier de 1 à 9. En cas de succès, le corps renvoie le chiffre analysé, percentage comme cent fois log10(1 + 1/d), probability comme la même grandeur sur l'intervalle unité, et formula comme la chaîne P(d) = log10(1 + 1/d). Les valeurs sont arrondies à une précision stable de douze chiffres significatifs afin que les contrôles automatisés comparent octet par octet d'un runtime à l'autre. Contrôles classiques : le chiffre 1 donne un pourcentage proche de 30.103 et une probabilité proche de 0.30103 ; le chiffre 2 donne environ 17.609 pour cent ; le chiffre 9 donne environ 4.576 pour cent. Reliez le formulaire gratuit du navigateur pour l'enseignement interactif, puis appelez le même contrat depuis des scripts lorsque vous avez besoin de la table complète de 1 à 9 pour un classeur d'audit ou un correcteur. Envoyez par POST un corps JSON avec un champ obligatoire nommé digit, ou utilisez les alias courts d ou leading_digit. Les nombres JSON et les chaînes d'entiers sont acceptés afin qu'un formulaire puisse soumettre un champ texte sans conversion côté client. Si le champ manque, est vide, n'est pas numérique, est une fraction telle que 1.5, vaut zéro, dix, ou sort de 1 à 9, le moteur échoue avec invalid_input et un message indiquant que digit doit être un entier entre 1 et 9. Ces échecs ne sont pas facturés. Les neuf barres théoriques sont des constantes déterministes, non des estimations d'un échantillon, donc deux appelants avec le même chiffre reçoivent toujours le même JSON. Le tarif des appels API réussis est la base publiée de $0.002 par élément ; les échecs de validation ne consomment pas le solde prépayé.
Où une API de fréquence attendue de Benford justifie son existence
Un oracle de confiance qui renvoie du JSON propre accélère la notation, la préparation de démonstrations et la conception de leçons interactives, sans un logarithme de tableur qu'on a tapé par erreur comme logarithme népérien. Les auteurs de programmes qui construisent des widgets de navigateur veulent la même forme JSON gratuite sur la page et payante via l'API, afin d'aligner feuilles hors ligne et correcteurs en ligne. Comme cette capacité est un moteur parse pur, chaque appel réussi coûte le tarif de base publié $0.002 sans jetons de modèle et sans réseau sortant, et une validation échouée ne consomme pas le solde.
Cas d'intégration
Fixtures de notation et carnets
Figez des fréquences attendues déterministes dans les tests unitaires, les correcteurs LMS et les carnets de recherche qui comparent les parts observées à la loi de Benford.