Der Zugriff auf die HANA Predictive Analytics Library (PAL) über SQL Script ist nicht ganz einfach, erfüllt also in den seltensten Fällen die Anforderungen an eine Enduser-Anwendung. Ziel muss es sein, dass Vorhersage-Tools interaktiv und einfach zu bedienen sind, zusätzlich sollen sie soweit wie möglich in die SAP Analytics Cloud (SAC), als die zentrale Oberfläche vieler SAP-Anwendungen, integriert sein.

 

Ziel

Die Ausgangslage ist eine typische Situation wie sie bei einigen Unternehmen bereits vorliegt oder in naher Zukunft auftreten wird. Zentrale Bereiche des Unternehmenssteuerung wie Planung und Reporting im Unternehmen laufen über SAP-Systeme. Gerade erst wurde die Migration auf S/4HANA und BW/4HANA abgeschlossen und die SAC als zentrale Oberfläche eingeführt. Im Zuge der Ausrichtung als datengesteuertes Unternehmen sollen nun die vorhandenen Unternehmensdaten möglichst effizient genutzt werden.

Wurde die Planung zuvor weitgehend manuell erstellt, sollen nun Machine Learning-Techniken zur Unterstützung eingesetzt werden. Die Planer werden von Standardaufgaben entlastet und können sich auf Kontrolle und Steuerung konzentrieren. Beispielsweise für die Liquiditätsplanung (Link Whitepaper) kommt ein automatischer Rolling Forecast zum Einsatz, der jede Woche eine Vorhersage der Liquidität für die kommenden 90 Tage erstellt.

Problemstellung

Für die mittelfristige Vorhersage des Umsatzes soll stattdessen mit einem manuellen Machine Learning Forecast gearbeitet werden. So können die Vorzüge moderner Machine Learning-Techniken mit dem langjährigen Erfahrungsschatz der Mitarbeiter verbunden werden. Somit sollen sich Vorhersagen durch versierte Fachanwender erstellen lassen ohne Code schreiben zu müssen und ohne Eingriff durch IT-Personal oder spezialisierte Data Scientists. Für die weitergehende Planung und das Reporting muss außerdem eine einfache Übernahme der Vorhersagen in SAC Stories gegeben sein, sodass sich die Kollaborationsfunktionen der SAC optimal nutzen lassen (stets aktuellste Datenbasis, gemeinsamer Zugriff, Aufgabenverwaltung, Kommentierung, …).

Wie bereits im Blogbeitrag "Data Science in HANA" geschildert, bietet die SAC mit Smart Predict eine integrierte Lösung, jedoch handelt es sich um eine Blackbox mit sehr beschränkten Möglichkeiten in das Vorhersagemodell einzugreifen und es zu kontrollieren. Die Verlässlichkeit der Vorhersagen sind daher ebenso eingeschränkt. Daher kommen für diesen Anwendungsfall oft externe Machine Learning Pipelines zum Einsatz, beispielsweise umgesetzt bei Hyperscalern. Diese fügen sich jedoch nicht ganz optimal in die SAC ein und erfordern das Schreiben von Code, sowie den Aufbau und Administration von zusätzlicher Infrastruktur.

Lösung

Die Predictive Analytics Library (PAL, Link zu Blog 1) bietet alle nötigen Funktionen zur Erstellung der geforderten Vorhersagen und lässt sich mit Bordmitteln der HANA-Datenbank einfach in die SAC integrieren. Steuerung der Vorhersagemodelle und Vorhersagen mit voller Kontrolle über die zugrundeliegenden Algorithmen kann interaktiv in der SAC erfolgen. Ein Proof-of-Concept zeigt im Folgenden einen Teil der vielfältigen Möglichkeiten.

Blog 2 PASH 01

Abbildung: Startseite der PASH (Predictive Analytics mit SAC und HANA) Demo-Anwendung. Ein Beispieldatensatz wurde bereits geladen.

 

Möglichkeiten

Der Proof-of-Concept soll Predictive Analytics in der SAC und HANA ermöglichen. Dazu sind folgende Aspekte nötig:

  • Daten laden und vorbereiten

  • Erstellen von Modellen mit voller Kontrolle über die eingesetzten Algorithmen

  • Validieren von Modellen wie Vergleich mit Testdaten oder Statistiken

  • Versionieren von Modellen als Basis für Vergleiche und Kombination von Modellen

  • Vergleichen von Modellen

  • Kombinieren von Modellen um die Modellgenauigkeit zu erhöhen

  • Exportieren von Vorhersagen in verschiedene Formate, insbesondere SAC Stories

Diese Hauptfunktionen sind aufgeteilt in vier Bereiche im Proof-of-Concept zu sehen. Neben der Handhabung von Daten und Modellen, gibt es einen zentralen Bereich zur Anzeige von Daten und einen weiteren Bereich zur Erstellung neuer Modelle.

Daten laden und vorbereiten

Da viele der zu analysierenden Datensätze bereits in der Datenbank (über S/4HANA oder BW/4HANA) liegen, ist eine direkte Auswahl möglich. Zusätzlich ist auch der Upload in gängigen Formaten sinnvoll, um weitere Informationen einzupflegen, die die Modelle verbessern können. Bevor ein Modell erstellt werden kann müssen eventuell die Daten vorbereitet oder untersucht werden. Der Anwendungszweck erfordert es beispielsweise, dass tageweise vorliegende Daten wochenweise aggregiert werden sollten.

Modell erstellen

Mit den vorbereiteten Daten lässt sich nun interaktiv ein neues Machine Learning-Modell erstellen. Für jeden Algorithmus lassen sich sämtliche Parameter kontrollieren wie in der Abbildung gezeigt. Das so erstellte Modell wird in die zentrale Darstellungsfläche geladen. Neben der zuerst angezeigten Vorhersage mit Unsicherheitsangaben lassen sich auch der Fit an die Trainings- bzw. Testdaten und Statistiken anzeigen. Soll das Modell später weiterverwendet werden lässt es sich abspeichern.

Blog 2 PASH 02

Abbildung: Interaktives Erstellen eines neuen Machine Learning-Modells. Im Beispiel kommt der ARIMA-Algorithmus mit automatischer Parameterbestimmung zum Einsatz. Da die vorhandenen Daten einer jährlichen Schwankung unterliegen, wird die Periodizität auf 12 Schritte (Monate) festgelegt.

Blog 2 PASH 04

Abbildung: Nach wenigen hundert Millisekunden Berechnungszeit liegt das Modell vor. Neben der Vorhersage (orange) ist auch ein Konfidenzintervall (braun) dargestellt. Statistiken und Fits erlauben die Abschätzung der Modellqualität und -präzision. Das fertige Modell lässt sich nun abspeichern, z.B. zum Vergleich mit anderen Modellen, oder exportieren. Wie das blaue Kommentarsymbol rechts oben zeigt, ist die Predictive Analytics Anwendung komplett in die Kollaborationsfunktionen der SAC integriert.

Modelle vergleichen

Gespeicherte Modelle lassen sich per Mausklick vergleichen, um das am besten geeignete Modell für eine gegebene Aufgabe zu finden.

Blog 2 PASH 05

Abbildung: Gespeicherte Modelle lassen sich vergleichen, hier: die Vorhersagen der Modelle. Das Modell "Geometric Regression" in Version "V1" weicht deutlich von den anderen beiden Modellen ab, da es die saisonale Schwankung nicht abbilden kann.

Modelle kombinieren

Durch die Kombination mehrerer Modelle lassen sich oft Verbesserungen gegenüber der Anwendung einzelner Modelle erzielen. Neben speziellen Boosting-Algorithmen erlaubt der Proof-of-Concept auch die manuelle Kombination von Modellen, zum Beispiel durch Mittelung zweier Modelle.

Blog 2 PASH 06

Abbildung: Die Kombination von Modellen erlaubt es, komplexes Verhalten der Daten besser zu erfassen als es einzelne Modelle alleine könnten. So lassen sich beispielsweise mehrere Modelle mitteln („Bagging“) oder spezielle („Boosting“-) Algorithmen einsetzen.

Modell exportieren

Ist das optimale Modell erstellt sollte sich das Ergebnis einfach in den weiteren Workflow übernehmen lassen. Durch den Export in gängige Formate ist dies mit Standardfunktionen der SAC leicht möglich. Mithilfe des Exports in Stories lassen sich, wie in der Abbildung gezeigt, Vorhersagen direkt in neue Reports oder Präsentationen übernehmen.

 

Technische Umsetzung

Wie bereits beschrieben läuft der Großteil der Arbeit mithilfe der PAL nativ in HANA ab, wobei die SAC nur als Frontend zuständig für Datenein- und -ausgabe zum Einsatz kommt. Dadurch müssen Daten nicht transportiert werden und die Berechnung erfolgt so nahe an den Daten wie möglich. Die Vorgehensweise ist daher auch auf große Datenmengen anwendbar. Ein detaillierteres Bild des Programmablaufs zeigt die folgende Abbildung.

Blog 2 PASH 07

Abbildung: Das Blockdiagramm des Proof-of-Concept zeigt in blau Aufgaben, die durch die SAC übernommen werden und verwendet Orangetöne für verschiedene Komponenten von HANA.

Das Schaubild zeigt, dass die Programmlogik mit wenigen Bestandteilen und komplett mit HANA-Boardmitteln umgesetzt werden kann. Innerhalb HANA kommt SQL Script als native Sprache der HANA zum Einsatz. Die Kommunikation zwischen dem SAC Frontend und HANA Backend erfolgt über eine SAC Live Connection (HANA -> SAC) und REST-API (SAC -> HANA). Die REST-API ist in der XS Engine (XS Classic oder XS Advanced) implementiert und wird mithilfe eines Custom Widgets aufgerufen.

Im Backend erfolgt die Datenverarbeitung in internen Tabellen mit dynamischem Inhalt. Nur relevante Daten (z.B. Log oder gespeicherte Modell) werden Daten persistiert. Gerade bei Big Data Anwendungen ist es ein wesentlicher Vorteil, dass Daten nicht repliziert werden müssen.

SAC-Integration

Der Proof-of-Concept basiert auf einer Analytic Application mit Custom Widget. Leider ist in der Story eine notwendige Funktion zur Zeit noch nicht integriert, sodass eine Predictive Analytics Pipeline noch nicht ausschließlich als Story implementiert werden kann. Anpassungen bzw. Erweiterungen der Stories sind aktuell von SAP für Ende 2021/Anfang 2022 geplant, sodass bald auch der native Einsatz in Stories möglich wird. Mithilfe des Webseite-Widget kann der Proof-of-Concept aber bereits heute nahtlos in Stories integriert werden. Die bekannten und geschätzten Kollaborationsfunktionen der SAC, wie Kommentare oder Aufgabenzuweisungen, können so direkt genutzt werden.

Fazit

Mit den vorhandenen Bordmitteln einer HANA-Datenbank lassen sich bereits komplexe analytische Fragestellungen bearbeiten. Kommt noch die SAC als Frontend hinzu, lassen sich einfach zu bedienende Machine Learning-Anwendungen erstellen, die trotzdem die volle Kontrolle über die eingesetzten Methoden und Algorithmen bieten. Der vorgestellte Proof-of-Concept zeigt ein Beispiel für Predictive Analytics. Andere Anwendungsszenarien sind mit der vorgestellten Technik aber ebenso umsetzbar.

Haben wir Ihr Interesse geweckt? Kontaktieren Sie uns für ein unverbindliches Beratungsgespräch. 

 

Kontakt aufnehmen

Bildquelle: Copyright Tian Kuan / pexels.com (Header & Featurebild); alle anderen eigene Darstellungen 
Veröffentlich am 11.8.2021

Thema: big data, Datenstrategie, datengesteuertes Unternehmen, Data Science, Machine Learning, S/4 HANA, Advanced Analytics