Impact Score - Méthodes de scoring disponibles
Ce document décrit les méthodes de normalisation disponibles dans le système et leurs usages recommandés. Il complète :
IMPACT_SCORE_CONFIGURATION_YAML.mdpour la structure des champs YAML.IMPACT_SCORE_STATISTIQUE.mdpour les formules et la théorie statistique.
1) Vue d'ensemble
Un attribut scorable (asScore: true) est normalisé sur une échelle scale.min..scale.max (par défaut 0..5).
Le sens d'évaluation impact est ensuite appliqué via impactBetterIs (inversion si LOWER).
La méthode est définie dans scoring.normalization.method :
SIGMAPERCENTILEMINMAX_FIXEDMINMAX_OBSERVEDMINMAX_QUANTILEFIXED_MAPPINGBINARYCONSTANT
2) Méthodes et paramètres
2.1 SIGMA (écart-type)
Principe
- Normalisation linéaire dans l'intervalle
[μ − kσ, μ + kσ]. - Les valeurs hors bornes sont clampées aux extrêmes de l'échelle.
Paramètres
sigmaK(par défaut 2.0)
À utiliser quand
- La distribution est continue et suffisamment stable.
- On veut comparer des produits sur une base relative, centrée sur la moyenne.
À éviter quand
- Très peu de valeurs distinctes.
- Outliers forts qui écrasent la variance utile.
2.2 PERCENTILE (rang relatif)
Principe
- Score basé sur le rang (mid-rank) dans la distribution observée.
Paramètres
- Aucun paramètre obligatoire.
À utiliser quand
- Les valeurs sont discrètes ou très répétées.
- On veut une comparaison purement ordinale.
À éviter quand
- Peu d'observations disponibles.
2.3 MINMAX_FIXED (bornes fixes)
Principe
- Projection linéaire entre deux bornes connues
[fixedMin, fixedMax].
Paramètres
fixedMinfixedMax
À utiliser quand
- L'attribut a une échelle normative stable (ex : note 0-10, valeur 0-100).
- On veut un score absolu, stable dans le temps.
À éviter quand
- Les bornes ne sont pas connues ou trop variables.
2.4 MINMAX_OBSERVED (bornes observées)
Principe
- Projection linéaire entre les bornes observées dans le batch
[min, max]. - Les valeurs hors bornes sont clampées aux extrêmes de l'échelle.
Paramètres
- Aucun paramètre obligatoire.
À utiliser quand
- On veut une relativisation " marché " stricte (meilleur produit = score max, pire = score min).
- Les bornes fixes sont inconnues, mais la couverture est suffisante.
À éviter quand
- Trop peu de valeurs ou distribution instable (risque d'effet “yoyo” dans le temps).
- Présence d'outliers forts (préférer
MINMAX_QUANTILE).
Paramétrage recommandé
- La méthode est définie par attribut : on ajuste par vertical si la distribution devient instable.
- En cas de distribution dégénérée, activer un
degenerateDistributionPolicyexplicite pour basculer sur une méthode de secours.
2.5 MINMAX_QUANTILE (bornes par quantiles)
Principe
- Projection linéaire entre deux quantiles (ex : p5/p95) pour limiter l'effet des outliers.
Paramètres
quantileLowquantileHigh
À utiliser quand
- La distribution est étalée ou contient des outliers.
- On veut stabiliser le scoring sans figer des bornes absolues.
2.6 FIXED_MAPPING (barème fixe)
Principe
- Mapping direct d'une valeur discrète vers un score.
Paramètres
mapping(table valeur → score)
À utiliser quand
- L'attribut est catégoriel (ex : classes énergétiques, labels).
2.7 BINARY (seuil)
Principe
- Score min ou max selon un seuil.
Paramètres
thresholdgreaterIsPass(par défautfalsesi absent)
À utiliser quand
- L'attribut est une conformité oui/non.
2.8 CONSTANT (score constant)
Principe
- Score constant (ou neutre par défaut).
Paramètres
constantValue(optionnel)
À utiliser quand
- On veut neutraliser un attribut ou figer temporairement un score.
3) Application du sens d'impact
Après normalisation, l'inversion est appliquée si impactBetterIs: LOWER :
score_final = scale.max + scale.min - score_normalisé
Cela permet d'utiliser la même normalisation (ex: MINMAX_FIXED) tout en indiquant que " plus bas = meilleur ".
4) Recommandations par attribut scorable (audit rapide)
Objectif : vérifier la pertinence de la méthode actuelle et proposer des alternatives.
Durabilité / support / disponibilité
MINAVAILABILITYSOFTWAREUPDATESYEARS:MINMAX_OBSERVED.MINAVAILABILITYSPAREPARTSYEARS:MINMAX_OBSERVED.MINGUARANTEEDSUPPORTYEARS:MINMAX_OBSERVED.WARRANTY:MINMAX_OBSERVED.
Pourquoi : les durées sont discrètes et bornées ; on veut un score relatif au marché actuel.
Consommations électriques (W)
POWER_CONSUMPTION_TYPICAL:MINMAX_OBSERVED.POWER_CONSUMPTION_SDR:MINMAX_OBSERVED.POWER_CONSUMPTION_HDR:MINMAX_OBSERVED.POWER_CONSUMPTION_STANDBY:MINMAX_OBSERVED.POWER_CONSUMPTION_STANDBY_NETWORKD:MINMAX_OBSERVED.POWER_CONSUMPTION_OFF:MINMAX_OBSERVED.
Pourquoi : on cherche une sobriété relative à l'offre actuelle ; la méthode reste ajustable par attribut si la distribution devient instable.
Classe énergétique (catégoriel)
CLASSE_ENERGY:FIXED_MAPPINGavec barème A-G.CLASSE_ENERGY_SDR:FIXED_MAPPINGavec barème A-G.CLASSE_ENERGY_HDR:FIXED_MAPPINGavec barème A-G.
Pourquoi : les classes énergétiques sont des paliers réglementaires.
Indice de réparabilité (0-10)
REPAIRABILITY_INDEX:MINMAX_OBSERVEDpour refléter le marché actuel.
Taille / poids
DIAGONALE_POUCES:MINMAX_OBSERVED.WEIGHT:MINMAX_OBSERVED.
ESG / Sustainalytics
ESG:MINMAX_OBSERVEDavec plus haut = mieux.BRAND_SUSTAINALYTICS_SCORING:MINMAX_OBSERVEDavec plus haut = mieux.
Pourquoi : on conserve une lecture relative au marché actuel avec un sens " performance " (plus haut = mieux).
Qualité de la donnée
DATA_QUALITY:MINMAX_OBSERVED, et utilisé comme pénalisation globale quand les données sont incomplètes.
Pourquoi : on conserve une lecture relative, tout en faisant porter la pénalisation au niveau global.
5) Note sur la relativisation (Score.relativ)
Le champ Score.relativ est calculé dans le batch à partir des méthodes ci-dessus. Il utilise :
- la méthode explicite si
scoring.normalization.methodest définie, - sinon un comportement legacy SIGMA (ou PERCENTILE si la distribution est trop discrète).
Autrement dit : la relativisation est déjà “calculée” via ces méthodes.
Pour obtenir un score " relatif au marché ", privilégier MINMAX_OBSERVED (bornes observées) ou MINMAX_QUANTILE si la distribution contient des outliers.