Politiques de correspondance (Hit Policies) des tables de décision DMN – Explications avec exemples
Dans DMN, les Hit Policies définissent comment une table de décision évalue les règles et quel résultat est retourné lorsqu’une ou plusieurs règles correspondent.
Une mauvaise compréhension des Hit Policies est l’une des principales causes de décisions incorrectes en production, notamment avec Camunda DMN.
Cet article explique :
ce que sont les Hit Policies DMN
les principales politiques (FIRST, UNIQUE, ANY, COLLECT, PRIORITY)
des exemples métiers concrets
les bonnes pratiques issues de projets réels
1️⃣ Qu’est-ce qu’une Hit Policy en DMN ?
Une Hit Policy définit :
combien de règles peuvent correspondre,
comment le résultat final est calculé si plusieurs règles correspondent.
Sans la bonne Hit Policy :
la décision peut retourner un résultat inattendu,
des conflits peuvent passer inaperçus,
la logique métier peut être fausse en production.
2️⃣ FIRST – La première règle correspondante gagne
🔹 Comportement
Les règles sont évaluées de haut en bas
La première règle valide est appliquée
Les autres règles sont ignorées
🧩 Exemple réel : Calcul de remise
| Type client | Remise |
|---|---|
| Premium | 20 % |
| Standard | 10 % |
Client = Premium → 20 %
✅ À utiliser si :
les règles sont ordonnées par priorité
un seul résultat est attendu
❌ Risque :
un mauvais ordre = mauvaise décision
3️⃣ UNIQUE – Une seule règle doit correspondre
🔹 Comportement
Une seule règle est autorisée
Plusieurs règles correspondantes → erreur
Aucune règle → aucun résultat
🧩 Exemple réel : Tranche d’imposition
| Revenu | Taux |
|---|---|
| 0–50k | 5 % |
| 50k–100k | 10 % |
Une seule tranche possible.
✅ À utiliser si :
les règles sont mutuellement exclusives
les données sont fiables
4️⃣ ANY – Plusieurs règles possibles, même résultat obligatoire
🔹 Comportement
Plusieurs règles peuvent correspondre
Toutes doivent retourner le même résultat
Sinon → erreur
🧩 Exemple réel : Éligibilité
| Condition | Éligible |
|---|---|
| Âge > 18 | Oui |
| Pays = UE | Oui |
Résultat final : Oui
5️⃣ COLLECT – Agrégation des résultats
🔹 Comportement
Toutes les règles correspondantes sont collectées
Agrégation possible :
COLLECTCOLLECT +(somme)COLLECT <(minimum)COLLECT >(maximum)COLLECT #(compte)
🧩 Exemple réel : Scoring de risque (COLLECT +)
| Facteur de risque | Score |
|---|---|
| Endettement élevé | 40 |
| Retards de paiement | 30 |
Résultat final = 70
✅ À utiliser pour :
scoring
calculs cumulés
évaluations multi-critères
6️⃣ PRIORITY – Le résultat le plus prioritaire gagne
🔹 Comportement
Plusieurs règles peuvent correspondre
Le résultat avec la priorité la plus élevée est retourné
La priorité est définie par l’ordre des valeurs de sortie
🧩 Exemple réel : Niveau d’approbation
| Condition | Niveau |
|---|---|
| Montant > 100k | ÉLEVÉ |
| Montant > 50k | MOYEN |
Résultat final : ÉLEVÉ
7️⃣ Tableau comparatif
| Hit Policy | Correspondances multiples | Résultat |
|---|---|---|
| FIRST | Oui | Première règle |
| UNIQUE | ❌ | Une seule règle |
| ANY | Oui | Même résultat |
| COLLECT | Oui | Agrégé |
| PRIORITY | Oui | Priorité la plus élevée |
8️⃣ Erreurs fréquentes en production
❌ Utiliser FIRST sans ordre clair
❌ Utiliser UNIQUE avec des plages qui se chevauchent
❌ Utiliser ANY avec des résultats différents
❌ Oublier le type d’agrégation en COLLECT
❌ Utiliser PRIORITY sans définir l’ordre des valeurs
9️⃣ Bonnes pratiques (DMN / Camunda)
✅ Toujours documenter la Hit Policy choisie
✅ Tester les cas limites et chevauchements
✅ Préférer UNIQUE pour des règles métier propres
✅ Utiliser COLLECT pour les modèles de scoring
✅ Tester les décisions avec des données réelles
✅ Relire les tables DMN avant mise en production
🔟 Question d’entretien (bonus)
Q : Quelle Hit Policy utiliser pour un système de scoring ?
R : COLLECT (souvent COLLECT +)
Q : Quelle Hit Policy génère une erreur si plusieurs règles correspondent ?
R : UNIQUE
💼 Support professionnel disponible
Si vous rencontrez des problèmes liés aux tables de décision DMN, à des résultats incorrects ou à des erreurs en production, je propose des services de conseil payants, revue DMN, débogage en production et formations ciblées.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment