Analytic Step Level
DEAN
Was ist DEAN?
Unsere standardisierten, regelbasierten Analyseschritte identifizieren Einzelposten in einer bestimmten Basistabelle, die einer bestimmten Regel entsprechen. Zum Beispiel listet AP_ManPayments alle Rechnungen aus einer AP-Basistabelle auf, die noch nicht durch den automatischen Zahlungslauf ausgeglichen wurden. Es kann jedoch für unsere Kunden interessante Einzelposten geben, die von unseren Analyseschritten nicht erkannt werden.
Aus diesem Grund haben wir DEAN implementiert. DEAN findet Ausreißer in einer gegebenen Basistabelle mit einem statistischen Ansatz (nicht regelbasiert). Ausreißer sind Einzelposten, die im Vergleich zu den übrigen Einzelposten auffällig sind, weil sie auffällige Werte haben. DEAN ist abgeleitet von Detecting Anomalies. Anomalien und Ausreißer sind Synonyme. DEAN kann für die folgenden Basistabellen verwendet werden: SD, PU, MM, MD, GL, DL, BL, AR, AP.
Logik
Für jede Basistabelle gibt es einen eigenen Analyseschritt, der das gleiche R-Skript aufruft, in dem DEAN implementiert ist. Je nach Modul werden 50 - 100 vordefinierte und feste Spalten einer Basistabelle an R übergeben. Nach der Übergabe einer Basistabelle an R/DEAN werden folgende Schritte ausgeführt:
- Vorverarbeitung
- Spalten mit genau einem eindeutigen Feldwert werden gelöscht
- Sind bijektive Spaltenpaare (1:1-Beziehung) vorhanden, wird eine Spalte aus jedem Paar gelöscht
- Sind stark korrelierte numerische Spaltenpaare vorhanden, wird eine Spalte des Paares gelöscht
- Ausreißersuche
- Unterteilung der gegebenen Basistabelle in Chunks, um bei der Berechnung der Ausreißer RAM-Probleme zu verhindern
- Suche nach Ausreißern im jeweiligen Chunk
- Als Ausreißer werden 0,1% der Einzelposten, aber maximal 100, der gegebenen Basistabelle identifiziert
- Erläuterung der Ausreißer
- Für jeden gefundenen Ausreißer, d.h. eine auffällige Position, wird nun geprüft, welcher Spaltenwert bzw. welche Spaltenwerte die Position zum Ausreißer machen
Wichtige Spalten
DEAN gibt die gefundenen Ausreißer zurück. Die folgenden Spalten werden erzeugt:
Technischer Spaltenname | Beschreibender Spaltenname | Beschreibung |
Outlier_Score | Outlier_Score | - enthält Werte zwischen 0 und 1 - je höher der Wert, desto auffälliger der betreffende Ausreißer |
Detected_by_DEAN_because | Detected_by_DEAN_because | - enthält kurzen Text mit dem Spaltenwert bzw. den Spaltenwerten, die die jeweilige Position zu einem Ausreißer machen |
Market Basket Analysis (für G/L Accounts)
Was ist eine Market Basket Analyse / Warenkorb-Analyse?
Eine Warenkorbanalyse wird für die Belege und die zugehörigen Sachkonten einer bestimmten GL-Basistabelle durchgeführt.
Logik
Die folgenden Spalten einer GL-Basistabelle werden an R übergeben:
- BKPF_BUKRS
- BKPF_GJAHR
- BKPF_BELNR
- BSEG_BUZEI
- c_GL02_HKONT_SKAT_TXT20
- BSEG_SHKZG
Anschließend werden Warenkörbe erstellt. Ein Warenkorb ist ein Array oder eine Liste, die alle in einem Beleg verwendeten Sachkonten enthält. Jeder Warenkorb (und jeder Beleg) ist eindeutig durch folgende Spalten: BKPF_BUKRS, BKPF_GJAHR und BKPF_BELNR.
Beispiel: Ein Warenkorb könnte die folgenden Sachkonten enthalten:
- 0000156000 - A/R ICO_S
- 0000874010 - Verrechnung Verkaufsvermögen_H
- 0000261100 - Ausgang VAT_H
Wie im Beispiel zu sehen ist, wird das Soll/Haben-Kennzeichen zu jedem Sachkonto hinzugefügt. Wenn ein Sachkonto mehrfach in einem Beleg vorkommt, wird es nur einmal im zugehörigen Warenkorb aufgeführt.
Regeln, die häufig vorkommen, werden dann in den Warenkörben gesucht.
Beispiel-Regel: Enthält ein Beleg 0000193800 - ELKO Verrechnungskonto_S und 000261100 - Ausgang USt_S, dann wird er in 99,95 % der Fälle auch 0000372100 - Skonto 3_S enthalten.
Für jede gefundene Regel werden dann genau die Belege als Ergebnis zurückgegeben, die dieser Regel nicht folgen. Das heißt, dass die Dokumente zurückgegeben werden, die den linken Teil der Regel enthalten, aber den rechten Teil nicht.
Wichtige Spalten
Die folgenden Spalten werden von der Warenkorbanalyse erzeugt:
Technischer Spaltenname | Beschreibender Spaltenname | Beschreibung |
Unique_ID | Einzigartige_ID | - kennzeichnet eindeutig ein Dokument, das einer bestimmten Regel nicht entspricht |
Rule_Number | Rule_Number | - Nummer der gefundenen Regel |
Exception_Number | Exception_Number | - Nummer des Dokuments oder Belegs, der einer bestimmten Regel nicht entspricht |
Rule | Rule | - Regel als Text |
Number_of_Receipts_following_given_Rule | Number_of_Receipts_following_given_Rule | - Anzahl der Belege, die einer bestimmten Regel folgen |
If_a_Receipt_contains_A_Probability_that_it_contains_B | If_a_Receipt_contains_A_Probability_that_it_contains_B | - Wahrscheinlichkeit, dass der rechte Teil der gegebenen Regel in einem Dokument enthalten ist, wenn der linke Teil darin enthalten ist |
Folgende Analysen benötigen eine R-Installation
- GL_AI_MBA_Accounts (Market Basket Analysis für Sachkonten)
- AI_MarketBasket (Market Basket Analysis for any table)
- AI_Outliers (DEAN for any table)
- **_AI_Outliers (DEAN für die Data Products/Basetables)
- AP_Dupl_Payments_AI (Doppelzahlungsanalyse mit KI)
- AR_Dupl_CreditNotes_AI (Doppelte Gutschriften mit KI)
- CU_AI_Duplicates und VE_AI_ Duplicates (Duplikate in Stammdaten)
- CU_AI_Outliers und VE_AI_Outliers (Ausreißer in Stammdaten)
- Root-Cause-Analyse
Hier sind die Erklärungen zu den Spalten der Root-Cause-Analyse:
Spaltenname | Erklärung |
Root_Cause_Count | - enthält die Beschreibung einer gefundenen Ursache (für die Betrachtung der Anzahl der Findings) |
Root_Cause_Volume | - enthält die Beschreibung einer gefundenen Ursache (für die Betrachtung der Beträge der Findings) |
Trend_Count | - enthält den Wert der Trendlinie für den gegebenen Monat (für die Betrachtung der Anzahl der Findings) |
Trend_Volume | - enthält den Wert der Trendlinie für den gegebenen Monat (für die Betrachtung der Beträge der Findings) |
Benchmark_Count_Mean | - enthält den Wert des Benchmarks für den gegebenen Monat (für die Betrachtung der Anzahl der Findings) |
Benchmark_Volume_Mean | - enthält den Wert des Benchmarks für den gegebenen Monat (für die Betrachtung der Beträge der Findings) |