?>Array ( [lang] => fr [id] => 175 ) Cas Standard : Déploiement d'une fonction de scoring métier - WeAreCAS
fcmpact addRoutines

Cas Standard : Déploiement d'une fonction de scoring métier

Scénario de test & Cas d'usage

Contexte Métier

Une banque de détail souhaite calculer un score de risque de crédit personnalisé pour ses clients. La fonction, nommée `CALCUL_RISQUE_V1`, prend en compte l'âge du client, son revenu annuel et son niveau d'endettement. L'objectif est de déployer cette logique métier sur le serveur CAS pour l'utiliser dans des DATA steps à grande échelle.
Préparation des Données

Création d'une table de clients avec des profils variés pour tester la fonction de scoring.

Copié !
1DATA clients_entree;
2 INPUT ID_CLIENT AGE REVENU_ANNUEL RATIO_ENDETTEMENT;
3 DATALINES;
4101 25 35000 0.45
5102 45 80000 0.20
6103 62 120000 0.15
7104 31 45000 0.60
8105 50 95000 0.30
9;
10RUN;

Étapes de réalisation

1
Chargement de la table des clients dans la caslib CASUSER.
Copié !
1PROC casutil;
2 load DATA=clients_entree outcaslib='CASUSER' casout='CLIENTS_CAS' replace;
3QUIT;
2
Compilation et ajout de la fonction de scoring `CALCUL_RISQUE_V1` dans un package `finance_scoring`.
Copié !
1PROC CAS;
2 fcmpact.addRoutines /
3 routineCode = {
4 'function calcul_risque_v1(age, revenu, dette);
5 score = 0;
6 if (age < 30) then score = score + 20;
7 if (revenu < 40000) then score = score + 15;
8 score = score + (dette * 100);
9 return(score);
10 endsub;'
11 },
12 package = 'finance_scoring',
13 funcTable = {name='fonctions_risque', caslib='CASUSER', replace=true};
14QUIT;
3
Utilisation de la fonction `CALCUL_RISQUE_V1` dans un DATA step CAS pour calculer le score de chaque client.
Copié !
1PROC CAS;
2 datastep.runCode /
3 code = 'data CASUSER.CLIENTS_SCORES;
4 set CASUSER.CLIENTS_CAS;
5 score_risque = calcul_risque_v1(AGE, REVENU_ANNUEL, RATIO_ENDETTEMENT);
6 run;';
7QUIT;

Résultat Attendu


La table `CLIENTS_SCORES` est créée dans la caslib `CASUSER`. Elle contient les colonnes originales plus une nouvelle colonne `score_risque` dont les valeurs sont correctement calculées en appliquant la logique de la fonction FCMP (par exemple, pour le client 101, le score devrait être 20 + 15 + 45 = 80).