Zum Hauptinhalt springen

Analyseschritt-Ebene

DEAN

Was ist DEAN?

Unsere standardisierten, regelbasierten Analyseschritte identifizieren Buchungsposten in einer bestimmten Basistabelle, die mit einer bestimmten Regel übereinstimmen. Zum Beispiel listet AP_ManPayments alle Rechnungen aus einer AP-Basistabelle auf, die noch nicht durch den automatischen Zahlungslauf ausgeglichen wurden. Es kann jedoch vorkommen, dass es Buchungsposten gibt, die für unsere Kunden von Interesse sind, aber von unseren Analyseschritten nicht erkannt werden.

Deshalb haben wir DEAN implementiert. DEAN verwendet einen statistischen (nicht regelbasierten) Ansatz, um Ausreißer in einer bestimmten Basistabelle zu identifizieren. Ausreißer sind Zeilen, die sich von den übrigen Zeilen abheben, weil sie ungewöhnliche Werte aufweisen. DEAN leitet sich von "Detecting Anomalies" ab. Anomalien und Ausreißer sind synonym zu verstehen. 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 dasselbe 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 Übertragung einer Basistabelle nach R/DEAN werden folgende Schritte durchgeführt:

  1. Vorverarbeitung
  • Spalten mit nur einem eindeutigen Feldwert werden gelöscht
  1. Suche nach Ausreißern
  • Aufteilung der Basistabelle in Abschnitte zur Vermeidung von RAM-Problemen bei der Berechnung der Ausreißer
  • Suche nach Ausreißern in den jeweiligen Abschnitten
  • Maximal 100 Buchungsposten aus der jeweiligen Basistabelle werden als Ausreißer identifiziert
  1. Erläuterung der Ausreißer
  • Für jeden gefundenen Ausreißer, also jeden auffälligen Posten, wird nun geprüft, welcher Spaltenwert oder welche Spaltenwerte diesen Posten als Ausreißer kennzeichnen

Wichtige Spalten

DEAN gibt die gefundenen Ausreißer zurück. Folgende Spalten werden erzeugt:

Technischer SpaltennameBeschreibender SpaltennameBeschreibung
Outlier_ScoreOutlier_Score- enthält einen Wert zwischen 0 und 1
- je höher der Wert, desto auffälliger ist der entsprechende Ausreißer
Detected_by_DEAN_becauseDetected_by_DEAN_because- enthält einen Kurztext mit dem Spaltenwert oder den Spaltenwerten, die die jeweilige Position als Ausreißer ausweisen

Market Basket-Analyse (für Sachkonten)

Was ist eine Market Basket-Analyse?

Eine Market Basket-Analyse wird auf die Belege und die entsprechenden Sachkonten einer bestimmten GL-Basistabelle durchgeführt.

Logik

Folgende 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 Market Baskets erstellt. Ein Market Basket ist ein Array oder eine Liste, die alle in einem Beleg verwendeten Sachkonten enthält. Jeder Korb (und jeder Beleg) wird eindeutig durch die folgenden Spalten identifiziert: BKPF_BUKRS, BKPF_GJAHR und BKPF_BELNR.

Beispiel: Ein Market Basket könnte folgende Sachkonten enthalten:

  • 0000156000 - A/R ICO_S
  • 0000874010 - Ausgleich von zur Veräußerung gehaltenen Vermögenswerten_H
  • 0000261100 - Umsatzsteuer_H

Wie im Beispiel ersichtlich, wird zu jedem Sachkonto der Soll/Haben-Kennzeichen hinzugefügt. Erscheint ein Sachkonto mehr als einmal in einem Beleg, so erscheint es im betreffenden Warenkorb nur einmal.

Im nächsten Schritt wird in den Market Baskets nach häufig auftretenden Regeln gesucht.

Beispielregel: Wenn ein Beleg 0000193800 - ELKO-Ausgleichskonto_S und 000261100 - Umsatzsteuer_S enthält, so enthält er auch 0000372100 - Skonto 3_S in 99,95 % der Fälle.

Für jede gefundene Regel werden genau die Belege ausgegeben, die dieser Regel nicht folgen. Das heißt, es werden diejenigen Belege zurückgegeben, die den linken Teil der Regel, aber nicht den rechten Teil enthalten.

Wichtige Spalten

Folgende Spalten werden von der Market Basket-Analyse erzeugt:

Technischer SpaltennameBeschreibender SpaltennameBeschreibung
Unique_IDUnique_IDidentifiziert eindeutig einen Beleg, der einer bestimmten Regel nicht entspricht
Rule_NumberRule_Numberdie Nummer der gefundenen Regel
Exception_NumberException_NumberNummer des Belegs oder Beweises, der einer bestimmten Regel nicht entspricht
RuleRuleRegel als Text
Number_of_Receipts_following_given_RuleNumber_of_Receipts_following_given_RuleAnzahl der Belege, die einer bestimmten Regel folgen
If_a_Receipt_contains_A_Probability_that_it_contains_BIf_a_Receipt_contains_A_Probability_that_it_contains_BWahrscheinlichkeit, dass bei Vorliegen des linken Regelteils auch der rechte Teil in einem Beleg enthalten ist

Für folgende Analysen ist eine R-Installation erforderlich

  • GL_AI_MBA_Accounts (Market Basket-Analyse für Sachkonten)
  • AI_MarketBasket (Market Basket-Analyse für beliebige Tabellen)
  • AI_Outliers (DEAN für beliebige Tabellen)
  • **_AI_Outliers (DEAN für die Data Products/Basistabellen)
  • AP_Dupl_Payments_AI (Duplikatanalyse für Zahlungen mittels KI)
  • AR_Dupl_CreditNotes_AI (Duplikatanalyse für Gutschriften mittels KI)
  • CU_AI_Duplicates und VE_AI_Duplicates (Duplikate in den Stammdaten)
  • CU_AI_Outliers und VE_AI_Outliers (Ausreißer in den Stammdaten)
  • Root-Cause-Analyse

Nachstehend finden Sie die Erläuterungen der Spalten in der Root-Cause-Analyse:

SpaltennameBeschreibung
Root_Cause_CountEnthält die Beschreibung einer gefundenen Ursache (zur Berücksichtigung der Anzahl der Auffälligkeiten)
Root_Cause_VolumeEnthält die Beschreibung einer gefundenen Ursache (zur Berücksichtigung der Beträge der Auffälligkeiten)
Trend_CountEnthält den Wert der Trendlinie für den jeweiligen Monat (zur Auswertung der Anzahl der Auffälligkeiten)
Trend_VolumeEnthält den Wert der Trendlinie für den jeweiligen Monat (zur Auswertung der Beträge der Auffälligkeiten)
Benchmark_Count_MeanEnthält den Wert des Benchmark für den jeweiligen Monat (zur Auswertung der Anzahl der Auffälligkeiten)
Benchmark_Volume_MeanEnthält den Wert des Benchmark für den jeweiligen Monat (zur Berücksichtigung der Beträge der Auffälligkeiten)