Quand une administration publie le code de son algorithme de ciblage, ce n'est pas un simple geste de com, c'est une occasion rare de regarder, calmement, ce que dit vraiment le scoring.
Un algorithme qui fait parler : ce qu'on imagine, ce qu'on voit vraiment
Quand on entend "scoring" et "administration", l'imaginaire collectif s'emballe vite. On pense à une boîte noire qui distribue des notes aux gens, qui déclenche des contrôles automatiquement, et qui finit par pénaliser toujours les mêmes profils. Ce soupçon n'est pas absurde, parce que beaucoup de systèmes de tri restent opaques, même quand ils ont un impact très concret sur la vie quotidienne.
Et puis arrive un objet assez rare : un algorithme public dont la documentation est publique, et dont le code a été mis à disposition. Le DMDE 2026, pour "Datamining Données Entrantes", sert à prioriser des dossiers en fonction d'un risque statistique d'indu. Pas de grand mystère marketing ici, plutôt un modèle classique, assumé, et (surtout) auditable.
La question devient alors beaucoup plus intéressante... que révèle vraiment le code ? Est-ce que la transparence suffit à dissiper les doutes, ou bien est-ce qu'elle permet surtout de poser les bonnes questions, celles qui restaient floues parce qu'on n'avait rien de concret sous les yeux ?
Dans cet article, on regarde DMDE 2026 comme un cas d'étude technique et éthique. Pas pour juger, ni pour faire peur, mais pour comprendre. Et, au passage, pour montrer à quoi ressemble un audit algorithmique propre quand on a enfin de la matière.
© BravRez IA
Ce que fait le DMDE 2026 : un indicateur de risque d'indu, pas une décision
Le DMDE 2026 vise un objectif explicite : cibler des dossiers présentant un risque d'avoir un indu d'au moins 600 euros sur au moins 6 mois. En clair, il ne "dit" pas qu'il y a fraude, il estime une probabilité d'indu important, ce qui n'est pas la même chose (et cette nuance compte, vraiment).
Chiffres clés (2024) :
- 13,8 millions de foyers allocataires
- 166 000 contrôles issus du DMDE (environ 0,5% des contrôles totaux)
- 7% des contrôles DMDE mènent à une qualification en fraude
- 26% des fraudes détectées le sont via le DMDE
Ce cadre permet d'éviter un contresens fréquent : un score élevé n'est pas une preuve, c'est un signal. L'important, ensuite, c'est le processus autour du signal : comment il est utilisé, par qui, avec quelle marge de manœuvre, et avec quel suivi.
© BravRez IA
Partie technique : sous le capot, deux régressions logistiques et une transition temporelle
Une architecture en 4 programmes : plutôt lisible
Le système est décomposé en quatre programmes distincts. Ce n'est pas juste un choix d'organisation du code, c'est aussi une bonne nouvelle pour l'audit, parce qu'on peut isoler les hypothèses et vérifier chaque bloc.
- Programme 1 : modèle sans préremplissage (17 variables)
- Programme 2 : identification des "signalements"
- Programme 3 : modèle avec préremplissage (11 variables)
- Programme 4 : pondération temporelle des deux scores pour produire un score final
Pourquoi deux modèles ?
Parce qu'il y a une transition de régime déclaratif, avec le préremplissage des déclarations trimestrielles (et une mise en place qui n'arrive pas partout au même moment). Le DMDE 2026 assume donc une cohabitation temporaire entre un modèle "avant" et un modèle "après".
Au passage, c'est le genre de détail qui change tout : un modèle statistique n'est jamais hors sol. Il dépend des données disponibles, et donc des réformes, des formulaires, des délais de remontée, des outils utilisés. Dit autrement, on n'a pas seulement un modèle, on a un modèle dans un système administratif vivant.
La régression logistique : une formule simple, donc explicable
Le cœur, c'est de la régression logistique. Pas un modèle profond, pas une boîte noire. Et ça se voit dans les éléments publiés : coefficients, intercept, exemple de calcul. On peut lire, traduire, discuter.
La formule :
P(indu >= 600 euros, >= 6 mois) = exp(Z) / (1 + exp(Z))
où Z = intercept + somme(coefficient_i x variable_i)
Intercepts communiqués :
- Modèle 1 (sans préremplissage) : -1.2357
- Modèle 2 (avec préremplissage) : -0.8298
Encadré technique : calcul d'un score
# Régression logistique : on calcule un score entre 0 et 1
# Z = intercept + somme(coef_i * var_i)
# score = exp(Z) / (1 + exp(Z))
import math
def logistic_score(intercept, features, coefs):
Z = intercept
for name, value in features.items():
Z += coefs.get(name, 0.0) * value
return math.exp(Z) / (1.0 + math.exp(Z))
Ce choix technique rend aussi possible une lecture en "odd-ratio" (rapport des cotes). C'est souvent le pont le plus simple entre data et décision : on ne parle plus en formules, on parle en effets multiplicatifs sur le risque statistique.
Rapport des cotes (Odd-ratio) : comment lire un coefficient sans se raconter d'histoires
Dans une régression logistique, chaque coefficient se convertit en rapport des cotes avec exp(coefficient). Un rapport des cotes de 2,9 ne veut pas dire "2,9 fois plus de fraude". Il veut dire que, toutes choses égales par ailleurs selon les variables du modèle, les cotes de l'événement cible augmentent d'un facteur 2,9. Et l'événement cible ici, c'est l'indu important, pas une qualification pénale.
La pondération temporelle : une transition progressive sur 24 mois
Le DMDE 2026 n'allume pas et n'éteint pas un modèle d'un coup. Il mélange les deux scores pendant 24 mois avec une pondération prorata temporis.
score_final = (n/24) x score_avec_DRM + (1 - n/24) x score_sans_DRM
où n = nombre de mois depuis le préremplissage
Infos de déploiement mentionnées :
- CAF pré-séries (06, 10, 34, 64, 85) : préremplissage depuis octobre 2024
- Autres CAF : depuis mars 2025
- Disparition complète du modèle 1 annoncée pour mars 2027
Encadré technique : pondération (pseudo-code commenté)
# Transition sur 24 mois :
# n = nombre de mois écoulés depuis l'arrivée du préremplissage
# au début n=0 -> 100% ancien modèle
# à la fin n=24 -> 100% nouveau modèle
def blended_score(score_old, score_new, n_months):
w = max(0.0, min(1.0, n_months / 24.0))
return w * score_new + (1.0 - w) * score_old
Ce mécanisme est assez logique : si les données d'entrée changent (préremplissage, corrections, délais), les patterns changent aussi. La transition progressive limite les à-coups. Après, bien sûr, ça crée une période hybride... et c'est justement là où il faut monitorer, parce que les périodes hybrides sont souvent les plus "bizarres".
© BravRez IA
Tableau récapitulatif : quelques facteur de risque relatif (sur les cotes) qui structurent vraiment le score
Voici un extrait des effets les plus marquants, ceux qui, en pratique, tirent le score vers le haut ou vers le bas. Ce tableau ne remplace pas une analyse complète des distributions, mais il dit déjà beaucoup (et il est facile à expliquer à un décideur non-tech).
| Facteur | Modèle | Odd-ratio | Lecture rapide |
|---|---|---|---|
| Prestations totales > 1400 euros/mois | Modèle 2 | 2.97 | Effet très majorant |
| Signalements (conditions et seuils) | Modèle 2 | 2.94 | Variable critique à auditer |
| Prime d'activité > 250 euros/mois | Modèle 1 | 2.70 | Effet très majorant |
| Enfant > 19 ans | Modèle 2 | 2.15 | Effet majorant fort |
| Activité non salariée | Modèle 1 et 2 | 1.82 | Complexité déclarative probable |
| RSA > 560 euros/mois | Modèle 1 | 1.83 | Effet majorant notable |
| Revenus > 2 SMIC | Modèle 2 | 0.35 | Effet protecteur fort |
| Tutelle morale | Modèle 2 | 0.26 | Effet protecteur très fort |
Ce tableau montre déjà une tendance : le modèle est surtout "socio-administratif". Il ne s'appuie pas sur des données comportementales, il s'appuie sur des situations, des montants, des catégories, des signaux déclarés. C'est plus simple à expliquer... et ça rend aussi certains biais indirects plus probables, on y revient.
© BravRez IA
Un exemple de calcul : pourquoi c'est important de pouvoir refaire les maths
Le rapport fournit un exemple de calcul complet sur un profil type : bénéficiaire RSA isolé avec enfant étudiant. C'est un bon exercice, parce qu'on peut suivre les contributions, coefficient par coefficient, sans interprétation magique.
Résumé de l'exemple :
- Z = -1.236 + 0.398 + 0.382 + 0.401 + 0.606 + 0.007 = 0.558
- Score = exp(0.558) / (1 + exp(0.558)) = 0.636, soit 63,6%
Le chiffre n'est pas une sentence, encore une fois. Mais le fait de pouvoir reproduire le calcul, c'est un vrai marqueur de transparence. Et c'est aussi ce qui permet de discuter proprement des choix de variables, des seuils, et des effets de bord.
© BravRez IA
Analyse des biais : des exclusions nettes, mais des effets indirects inévitables
Variables exclues : un signal plutôt positif
Le rapport met en avant l'exclusion de variables sensibles ou à fort potentiel discriminant : nationalité, genre, adresse, données comportementales, historique de contrôles. C'est important, parce que ça ferme la porte à certains usages "faciles" (et discutables) des données.
Mais attention... exclure une variable ne supprime pas tous les biais. Les biais indirects existent, parce que d'autres variables peuvent jouer le rôle de proxy (indicateur indirect). C'est la réalité des données, pas un complot, et c'est pour ça qu'on audite.
Le modèle cible-t-il les plus précaires ?
Réponse du rapport : oui, partiellement, et c'est statistiquement justifié par la complexité déclarative. Les variables RSA et prime d'activité augmentent le score, tandis que des revenus élevés ont un effet protecteur. Autre nuance intéressante : les foyers sans aucune ressource ne sont pas forcément les plus ciblés, le coefficient est plutôt neutre dans ce cas.
Dit autrement, on peut avoir un biais de concentration des contrôles sur certains publics, non pas parce qu'on "vise" moralement ces publics, mais parce que le système optimise un signal (l'indu) qui apparaît plus souvent là où la règle est complexe, et là où les déclarations sont fréquentes.
La recommandation pragmatique est donc simple : monitorer la surreprésentation des bénéficiaires RSA et prime d'activité dans les contrôles effectifs, pas seulement dans les scores. Un modèle peut être statistiquement cohérent et socialement déséquilibrant, les deux peuvent coexister.
Focus : la variable "signalements", le point le plus délicat
C'est probablement la zone la plus sensible du DMDE 2026. La variable "signalements" a un odd-ratio très élevé (2.94 dans le modèle avec préremplissage), et elle vise un comportement très précis : des corrections à la baisse répétées des ressources préremplies, non vérifiées par une cellule experte.
Conditions de déclenchement / flag (résumé technique) :
freq_ecart_tot_12_drm_bin = 1 si :
- écart moyen signalement vs DRM < -150 euros (sous-déclaration)
- et au moins 2 DTR avec signalement
- et signalement non vérifié par la cellule experte
Ce qui est "bien pensé" : le seuil de 150 euros évite de capturer des micro-corrections, le minimum de 2 DTR évite une erreur ponctuelle, et l'exclusion des cas vérifiés limite les faux positifs évidents.
Ce qui est plus inquiétant (disons, à surveiller de très près) : la capture uniquement des corrections à la baisse. Or une correction à la baisse peut être légitime, par exemple en cas de perte d'emploi, de fin de contrat, ou de décalage temporaire de données entre sources. Et dans ce cas, le modèle peut pénaliser un comportement pourtant normal, simplement parce qu'il ressemble à un pattern statistique associé à des indus.
La recommandation proposée est assez concrète : exclure les corrections à la baisse lorsqu'elles sont cohérentes avec un changement de situation déclaré. Ça ressemble à du bon sens métier, mais il faut le traduire en règles vérifiables, sinon ça reste une intention.
Corrélation vs causalité : la nuance qui évite les contresens
Dire "RSA augmente le score" ne veut pas dire "RSA cause la fraude". Ça veut dire "RSA est associé au risque statistique d'indu dans ce cadre". Pour aller plus loin, il faut regarder les délais de remontée des revenus, la fréquence des changements de situation, la complexité des droits, et la qualité du préremplissage. Bref, des causes administratives autant que des causes individuelles.
© BravRez IA
Mise en perspective : transparence, auditabilité, et suivi dans la durée
Un niveau de transparence rare, et donc utile
Dans le privé, des scores existent partout : crédit, assurance, fraude bancaire. La différence, dans le public, c'est l'exigence de redevabilité. Ici, plusieurs éléments vont dans le bon sens : modèle explicable (régression logistique), documentation, glossaire, seuils explicites, et une démarche éthique formalisée avec un comité d'éthique consulté à chaque étape de construction.
Qualité du code : un point souvent oublié, mais décisif
Le rapport souligne une bonne lisibilité, une documentation solide, une reproductibilité correcte (paramètres explicites, seuils documentés), et une stack technique (environnement technique) moderne type PySpark / Databricks pour traiter les volumes de données. Ce genre de détail paraît secondaire... et pourtant, en audit, c'est un accélérateur ou un frein énorme. Un modèle bien documenté se contrôle, un modèle bricolé ne se contrôle pas, même s'il est mathématiquement simple.
Ce qui doit être suivi, sinon la transparence reste symbolique
Le rapport liste plusieurs recommandations qui ressemblent à une feuille de route d'audit post-déploiement. Et c'est là où ça devient sérieux, parce que l'état d'un modèle ne se juge pas seulement à t0 (au lancement).
- Monitorer la surreprésentation des bénéficiaires RSA et prime d'activité dans les contrôles effectifs
- Revoir la variable "signalements" pour distinguer corrections légitimes et sous-déclarations
- Indexer le seuil de 600 euros sur l'inflation (le seuil n'est pas ajusté depuis 2018)
- Publier des statistiques annuelles de répartition des contrôles par profil socio-économique
Ce dernier point, la publication annuelle, est probablement celui qui rendrait le débat le plus rationnel. Parce qu'on sortirait des impressions, on entrerait dans les chiffres. Et oui, ça demande du travail, mais c'est le prix d'une gouvernance sereine.
© BravRez IA
Conclusion : saluer la transparence, et demander des preuves dans la durée
Le DMDE 2026 est un cas rare, utile, et, au fond, assez pédagogique. Il montre qu'on peut publier un algorithme de scoring public, documenter ses variables, expliquer sa formule, et proposer une démarche éthique sans tomber dans le flou total. Rien n'est parfait, bien sûr, et certains points méritent une vigilance réelle, notamment la variable "signalements" et la concentration potentielle des contrôles sur les publics les plus précaires.
Mais l'important, ici, c'est que la discussion devient possible, parce qu'on a le code, les seuils, et les coefficients. On peut auditer. On peut comparer. On peut corriger. Et ça, honnêtement, ce n'est déjà pas si fréquent.
© BravRez IA
Le mot de la fin
Vous utilisez (ou vous achetez) des systèmes de scoring, de tri, de priorisation, ou de détection d'anomalies ? Chez BravRez, nous réalisons des audits algorithmiques concrets, à la fois techniques et orientés gouvernance (variables, proxies, biais indirects, explication, monitoring post-déploiement). Écrivez-nous pour un premier cadrage, on vous dira ce qui est auditable vite, et ce qui demande plus de travail... sans jargon inutile.
En savoir plus
Questions fréquentes
Le DMDE 2026 est un algorithme de ciblage qui évalue le risque d'indu de plus de 600 euros sur 6 mois, sans confirmer la fraude.
Il utilise deux régressions logistiques pour analyser des données et produit un score de risque basé sur divers facteurs.
Des facteurs comme les prestations totales et les signalements ont un impact significatif sur le score, augmentant la probabilité d'indu.
La transparence permet d'auditer l'algorithme et de poser des questions critiques sur son utilisation et ses biais potentiels.
Bien que certaines variables discriminantes soient exclues, des biais indirects peuvent persister, influençant la concentration des contrôles.