optNetwork clique

Détection de Réseaux de Fraude (Ring) - Test de Charge

Scénario de test & Cas d'usage

Contexte Métier

Un opérateur télécom suspecte l'existence de 'Rings' de fraude (numéros s'appelant tous entre eux pour gonfler artificiellement le trafic). Sur un volume important d'appels simulés, nous voulons connaître la taille du plus gros réseau frauduleux (cliqueNumber) pour dimensionner l'équipe d'enquête.
À propos du Set : optNetwork

Analyse de réseaux et algorithmes de graphes.

Découvrir toutes les actions de optNetwork
Préparation des Données

Génération procédurale de 1000 appels simulés créant un réseau dense artificiel.

Copié !
1DATA mycas.appels_logs;
2 call streaminit(123);
3 DO i=1 to 50;
4 DO j=i+1 to 50;
5 IF rand('UNIFORM') < 0.4 THEN DO;
6 from = cats('Num_', put(i, z3.));
7 to = cats('Num_', put(j, z3.));
8 OUTPUT;
9 END;
10 END;
11 END;
12RUN;

Étapes de réalisation

1
Exécution avec calcul du 'cliqueNumber' et limite de temps pour tester la performance.
Copié !
1PROC CAS;
2 ACTION optNetwork.clique /
3 links={name='appels_logs'}
4 cliqueNumber=true
5 maxTime=60
6 out={name='fraud_rings', replace=true};
7RUN; QUIT;

Résultat Attendu


L'action doit se terminer sans erreur de timeout. Le log doit afficher le 'Clique Number' (taille du plus grand groupe). La table de sortie contient la liste des numéros impliqués dans les cliques maximales trouvées.