mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-20 05:28:11 +02:00
feat: Implement AI copilot v4 analysis engine with refined rules and product context profiling.
This commit is contained in:
1 parent
2edf6202ab
commit
3ba16d0895
2 files changed
+7
-4
No files matched your search
@@ -26,7 +26,7 @@ IMPORTANT : La gamme C est RÉSERVÉE aux produits saisonniers et gérée MANUEL
|
|||||||
Cependant, si les performances réelles du produit sont clairement insuffisantes (CA dérisoire, marge nulle ou négative), tu PEUX passer outre la protection et recommander Z avec justification.
|
Cependant, si les performances réelles du produit sont clairement insuffisantes (CA dérisoire, marge nulle ou négative), tu PEUX passer outre la protection et recommander Z avec justification.
|
||||||
|
|
||||||
2. SEUIL PLANCHER ABSOLU (règle critique) :
|
2. SEUIL PLANCHER ABSOLU (règle critique) :
|
||||||
Si isLowContribution = true [poids CA < 0.5% ET poids QTÉ < 0.5% du fournisseur]
|
Si isLowContribution = true [percentile CA <= 30 ET percentile QTÉ <= 30 du fournisseur]
|
||||||
ET score composite < 35
|
ET score composite < 35
|
||||||
ET scoreCritique = true [score brut < 20]
|
ET scoreCritique = true [score brut < 20]
|
||||||
→ Z DIRECT. Ce produit est marginal et sous-performant.
|
→ Z DIRECT. Ce produit est marginal et sous-performant.
|
||||||
@@ -48,6 +48,7 @@ IMPORTANT : La gamme C est RÉSERVÉE aux produits saisonniers et gérée MANUEL
|
|||||||
Sinon → A si actif (inactivité < 3 mois), Z si inactif ≥ 3 mois.
|
Sinon → A si actif (inactivité < 3 mois), Z si inactif ≥ 3 mois.
|
||||||
— Quadrant WATCH ⚠️ : Signal négatif.
|
— Quadrant WATCH ⚠️ : Signal négatif.
|
||||||
Si poids CA rayon > 5% ou poids QTÉ rayon > 5% → A (surveiller).
|
Si poids CA rayon > 5% ou poids QTÉ rayon > 5% → A (surveiller).
|
||||||
|
Si percentileCa >= 50 ou percentileQty >= 50 → A (produit trop important au fournisseur).
|
||||||
Sinon → Z si inactivité ≥ 2 mois, A si actif.
|
Sinon → Z si inactivité ≥ 2 mois, A si actif.
|
||||||
|
|
||||||
--- COHÉRENCE INTER-PRODUITS ---
|
--- COHÉRENCE INTER-PRODUITS ---
|
||||||
@@ -116,7 +117,7 @@ JSON uniquement, sans markdown.
|
|||||||
|
|
||||||
// Signal rouge prioritaire
|
// Signal rouge prioritaire
|
||||||
if (ctx.isLowContribution) {
|
if (ctx.isLowContribution) {
|
||||||
lines.push(`[⛔ CONTRIBUTION FAIBLE] Poids CA réseau : ${ctx.weightCaFournisseur}% et Poids QTÉ réseau : ${ctx.weightQtyFournisseur}% → produit marginal pour le fournisseur`);
|
lines.push(`[⛔ CONTRIBUTION FAIBLE] Percentiles CA (${ctx.percentileCa}) et QTÉ (${ctx.percentileQty}) dans les 30% inférieurs → produit marginal`);
|
||||||
}
|
}
|
||||||
if (ctx.scoreCritique) {
|
if (ctx.scoreCritique) {
|
||||||
lines.push(`[⛔ SCORE CRITIQUE] Score brut < 20 → sous-seuil absolu`);
|
lines.push(`[⛔ SCORE CRITIQUE] Score brut < 20 → sous-seuil absolu`);
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ export interface ProductContextProfile {
|
|||||||
|
|
||||||
// Signal négatif fort
|
// Signal négatif fort
|
||||||
/**
|
/**
|
||||||
* Le produit pèse moins de 0.5% du CA ET des QTÉ du fournisseur.
|
* Le produit appartient aux 30% les moins performants en CA et Quantité.
|
||||||
*/
|
*/
|
||||||
isLowContribution: boolean;
|
isLowContribution: boolean;
|
||||||
|
|
||||||
@@ -226,7 +226,9 @@ export class ContextProfiler {
|
|||||||
// Bug fix : un produit dans le top 30% de marge du lot apporte une valeur
|
// Bug fix : un produit dans le top 30% de marge du lot apporte une valeur
|
||||||
// réelle en rentabilité. L'exclure du signal isLowContribution évite de le
|
// réelle en rentabilité. L'exclure du signal isLowContribution évite de le
|
||||||
// pénaliser uniquement parce que son volume/CA est faible (profil 💎 pur).
|
// pénaliser uniquement parce que son volume/CA est faible (profil 💎 pur).
|
||||||
const isLowContribution = weightCaFournisseur < 0.5 && weightQtyFournisseur < 0.5 && pMarge <= 70;
|
// Le seuil de faible contribution utilise désormais des percentiles plutôt
|
||||||
|
// que des valeurs absolues pour ne pas pénaliser les gros fournisseurs.
|
||||||
|
const isLowContribution = pCa <= 30 && pQty <= 30 && pMarge <= 70;
|
||||||
|
|
||||||
// 6. Signaux Trafic / Marge + Quadrant (sur valeurs PAR MAGASIN)
|
// 6. Signaux Trafic / Marge + Quadrant (sur valeurs PAR MAGASIN)
|
||||||
// Médianes calculées ici pour être disponibles dans les sections 6 ET 7.
|
// Médianes calculées ici pour être disponibles dans les sections 6 ET 7.
|
||||||
|
|||||||
Reference in new issue
Block a user