?>Array ( [id] => 204 ) Berechnung des rollierenden Transaktionsvolumens zur Betrugserkennung - WeAreCAS
aggregation aggregate

Berechnung des rollierenden Transaktionsvolumens zur Betrugserkennung

Scénario de test & Cas d'usage

Contexte Métier

Eine Finanzinstitution muss zur Betrugserkennung in Echtzeit ein rollierendes 30-Minuten-Fenster der Transaktionssummen für jeden Kunden berechnen. Eine plötzliche hohe Summe kann auf betrügerische Aktivitäten hindeuten. Der Prozess muss auf einem großen, nach Kunde und Zeit vorsortierten Datensatz performant sein.
Préparation des Données

Erstellt eine große, sortierte Tabelle von Finanztransaktionen, die Kunden-ID, Transaktionszeit und Betrag enthält, um eine performante rollierende Fensteraggregation zu simulieren.

Copié !
1DATA mycas.finanz_transaktionen (keep=Kunden_ID Transaktions_Zeit Betrag);
2 FORMAT Transaktions_Zeit DATETIME20.;
3 DO Kunden_ID = 1 to 100;
4 DO i = 1 to 100;
5 Transaktions_Zeit = '25NOV2025:12:00:00'dt + (i * 30) + rand('UNIFORM')*20;
6 Betrag = 10 + rand('UNIFORM') * 500;
7 OUTPUT;
8 END;
9 END;
10RUN;

Étapes de réalisation

1
Laden der simulierten Transaktionsdaten in CAS. Die Daten sind bereits nach Kunde und Zeit sortiert.
Copié !
1/* Daten bereits in mycas.finanz_transaktionen geladen */
2
Anwendung einer rollierenden Fensteraggregation, um die Summe der Transaktionsbeträge über ein 30-Minuten-Fenster zu berechnen. 'doESP=true' wird verwendet, um die vorsortierte Natur der Daten für eine optimale Leistung zu nutzen.
Copié !
1PROC CAS;
2 aggregation.aggregate /
3 TABLE={name='finanz_transaktionen', groupBy={'Kunden_ID'}, orderBy={'Transaktions_Zeit'}},
4 id='Transaktions_Zeit',
5 interval='SECOND',
6 windowInt='MINUTE30',
7 doESP=true,
8 casOut={name='rolling_fraud_score', replace=true},
9 varSpecs=[
10 {name='Betrag', agg='SUM'}
11 ];
12RUN;

Résultat Attendu


Die Ausgabetabelle 'rolling_fraud_score' enthält für jede ursprüngliche Transaktion eine neue Spalte 'Betrag_SUM'. Dieser Wert stellt die Summe aller Transaktionsbeträge für denselben Kunden in den vorangegangenen 30 Minuten (einschließlich der aktuellen Transaktion) dar. Die Verarbeitung sollte aufgrund der Nutzung von 'doESP' auf den sortierten Daten effizient sein.