Datenqualität kontrollieren mit Machine Learning

Automatische Schnittstellen­überwachung

In großen Konzernsystemen ist häufig eine Vielzahl von Schnittstellen zu überwachen, wobei man es meist mit erheblichen Datenmengen zu tun hat. Eine gute Datenqualität ist dabei von großer Bedeutung. Wie man mit Machine Learning das systemgestützte Monitoring der Datenqualität eines Konzern-Abrechnungssystems auf ein neues Niveau heben kann, soll in diesem Beitrag vorgestellt werden.

Machine Learning als Alternative zum komplexen Regelwerk

In den letzten Jahren hat es im Bereich der künstlichen Intelligenz große Fortschritte gegeben. Durch die Weiterentwicklung der Hardwarearchitekturen und die Verfügbarkeit schneller In-Memory-Datenbanken (z.B. SAP HANA) ist der Einsatz des maschinellen Lernens in der Wirtschaft heute möglich. Im Handelsumfeld beschäftigen wir uns täglich damit, für unsere Kunden Systeme und deren Schnittstellen zu überwachen. Das Finden von fachlichen Fehlern stellt eine besondere Herausforderung dar. Um herauszufinden, ob Machine Learning hier unterstützen kann, haben wir uns mit der Automatisierung der Überwachung der Eingangsdaten eines Abrechnungssystems beschäftigt.

Das folgende Bild zeigt ein Abrechnungssystem und dessen Ein- und Ausgangsschnittstellen.

Wie wird heute die Datenqualität überwacht?

Klassischerweise wird die Datenqualität in einem solchen System strukturell und auf Einzelsatzebene überwacht. Sind alle Felder gefüllt? Stehen die richtigen Datentypen in den Feldern? Sind die Daten technisch betrachtet korrekt? Fehlerhafte Daten werden in einem Klärfall-Cockpit gesammelt. Aber für eine ganzheitliche fachliche Betrachtung ist nach wie vor der kundige Blick eines Supportmitarbeiters notwendig. Beispielsweise muss erkannt werden, wenn Umsätze fehlen oder Belege zwar technisch korrekt, aber fachlich falsch an das Abrechnungssystem gesendet werden. Diese Überwachung findet bisher jedoch nur manuell statt und ist dadurch teuer oder unzureichend. In der täglichen Praxis hat man es mit Millionen von Datensätzen zu tun. Außerdem werden Probleme heute erst spät entdeckt, was bei einem Abrechnungssystem vor allem zu finanziellem Schaden führen kann. Und genau hier setzen wir an. Wir möchten durch Machine Learning komplexe Fehler beim Datenempfang erkennen.

Konkrete Beispiele hierfür sind:

  • Es kommen weniger (oder mehr) Daten als normal
  • Es kommen Daten mit fachlich unüblichen Inhalten

Aus der Vergangenheit wissen wir: Dies können Indikatoren für Probleme in den sendenden Systemen sein oder es weist auf fachlich inkorrekte Daten hin. Ein komplexes Regelwerk kann diese Fehler sicherlich auch finden, doch auch hier muss man definieren: Was ist zu viel, was ist zu wenig und bleiben diese Werte konstant? Die Erstellung eines solchen Regelwerkes ist sehr aufwändig und damit teuer. Ebenfalls muss das Regelwerk ständig gepflegt werden, wenn sich etwas an der Fachlichkeit ändert. Außerdem kann es sehr viele sendende Systeme geben, für die es kein allgemeines Regelwerk geben kann. So etwas nennt man Sonderlogiken und erhöht die Komplexität des Regelwerks noch weiter und damit den Pflegeaufwand.

Ausreißer erkennen mittels Predictive Analytics

Machine Learning-Algorithmen können komplexe Muster lernen und wiedererkennen. So kann zum Beispiel der Verlauf von Daten basierend auf dem bisherigen Verlauf vorhergesagt werden. Es wird quasi überprüft, wie sehr der betrachtete Verlaufsabschnitt einem historischen ähnelt. Signifikante Abweichungen kann der Algorithmus erkennen und eine entsprechende Information an den Benutzer geben.

Aber wie überwachen wir nun die Eingangsschnittstellen des Abrechnungssystems?

Dazu haben wir einen Python-Server aufgesetzt, der über Open Database Connectivity (ODBC) mit der HANA-Datenbank, in der sich die Daten des Abrechnungssystems befinden, verbunden ist. Außerdem ist der Server über eine RFC-Schnittstelle mit dem SAP-System verbunden, auf dem das Abrechnungssystem läuft. Auf dem SAP-System erfolgt auch die Auswertung der durch Machine Learning gewonnenen Ergebnisse.

Betrachten wir nun den Machine Learning-Teil genauer. Wir haben uns nach Evaluierung verschiedener Machine Learning-Algorithmen und vielen Tests für den LGBMRegressor entschieden. LGBM steht für Light Gradient Boosted Model. Dieses Modell trifft mit dem richtigen Input eine Vorhersage zur zukünftigen Entwicklung der Eingangsdaten.

Konkret überwachen wir erstmal die Eingangsdatenanzahl pro Tag. Dabei lassen wir das Modell eine Vorhersage über den folgenden Tag machen. Diese Vorhersage gleichen wir am nächsten Tag mit der tatsächlichen Anzahl ab. Da das Modell sehr akkurate Vorhersagen macht und möglichst nur mit normalverlaufenden Daten trainiert wird, bildet die Vorhersage des Modells eine Art Indikator für die „Normalität“ der Schnittstellendaten. Weicht der tatsächliche Datensatz sehr weit von der Vorhersage ab, handelt es sich vermutlich um einen anormalen Datensatz, der auf Fehler hinweisen kann. Konkret kann erkannt werden, wenn plötzlich keine Daten mehr kommen oder zu viele oder zu wenige. Durch das Abgleichen der Vorhersage mit der tatsächlichen Beleganzahl, kann man das System sehr fein einstellen, indem man den Grad der Abweichung beurteilt.

In der abgebildeten Grafik sieht man in Grün den Verlauf der Eingangsbelegzahlen – also wie viele Belege pro Tag tatsächlich empfangen wurden. In Blau sieht man den Verlauf der Vorhersage des Models. Der rote Kreis markiert eine Stelle mit einer hohen Differenz zwischen Vorhersage und tatsächlichem Wert. Genau diese Stelle fällt durch die Analyse der Differenzen auf und gibt einen Anhaltspunkt für einen möglichen Fehler.

Die ausgewerteten Daten werden via RFC-Baustein an das SAP-System des Kunden geleitet und können dort begutachtet werden. Es können zum Beispiel auch automatisch E-Mails versendet werden, sollten die Werte einen bestimmten Bereich verlassen. Somit wird die Überwachung komplett automatisiert und der Supportmitarbeiter kann sich auf das Beheben der vom Überwachungssystem gefundenen Probleme konzentrieren und muss nicht selbst nach Fehlern suchen.

Erste Erfolge in der Praxis

Aktuell sind wir in der Lage, geschäftsrelevante Fehler aufzudecken und auch schon eine grobe Analyse zur Fehlerquelle zu erstellen. Allerdings möchten wir unser Überwachungssystem im Praxisbetrieb noch besser feinjustieren. Die Ergebnisse unserer bisherigen Tests sind allerdings sehr positiv.

Wir konnten mit produktiven Daten aus einem Zeitraum von einem Jahr 18 tatsächliche fachliche Fehler erkennen und haben nur einen falschen Alarm bekommen. Lediglich zwei Fehler wurden nicht entdeckt. Bei den Grenzfällen handelte es sich um im Betrieb aufgetretene Anomalien, die vom Algorithmus technisch korrekt erkannt wurden, welche aber aus fachlicher Sicht keinen Fehler dargestellt hatten. Für solche Probleme ist eine Feinjustierung im Betrieb erforderlich. Für die ersten Versuche sehen unsere Ergebnisse allerdings sehr vielversprechend aus.

In der Zukunft: Automatische Überwachung der Abrechnung

Neben der korrekten Datenqualität in den Eingangsschnittstellen ist die Überwachung der Abrechnungsergebnisse in einem Konzernabrechnungssystem eine weitere wichtige Aufgabe. Da auch hier Millionen von Datensätzen für tausende von beteiligten Lieferanten entstehen, wollen wir als nächsten Schritt die automatische Überwachung der Abrechnung mittels Machine Learning angehen.

Die Lösungsidee sieht vor, dass das System anhand der historischen Abrechnungen angelernt wird und im Produktiv-Betrieb automatische Warnungen über größere Abweichungen ausgibt.

Keine Updates
mehr verpassen:
1

Zurück