Netidee Blog Bild
ACONA Beta veröffentlicht
We did it! (05.10.2021)
Förderjahr 2019 / Project Call #14 / ProjektID: 4478 / Projekt: ACONA

Es ist so weit! Nach längerer Entwicklungszeit ist die erste Version von ACONA online!

Für die zentrale Datenplattform (Data Warehouse) haben wir folgende Tools ausprobiert und im Einsatz gehabt:

  1. Promscale: Eine Lösung aufbauend auf Prometheus, ein bekanntes Monitoring Tool, das verspricht, persistent Daten speichern und zur Verfügung stellen zu können. Hier hatten wir aber Probleme Daten wirklich langfristig im System halten zu können. Und wir haben viele andere Datenquellen und keine reinen Monitoring-Daten wie von Prometheus.
  2. ScyllaDB: Grundsätzlich genau das, was wir benötigen würden. Jedoch in der Handhabung für uns zu kompliziert. Falls jemand jedoch ein flexibles Tool für BigData Anwendungen sucht, sollte er sich dieses Tool mal ansehen!
  3. TimeScaleDB und PostgREST: Schließlich haben wir mit TimeScale direkt in Verbindung mit PostgREST eine gute Lösung gefunden, die unseren Anforderung gerecht wird.

Damit die zentrale Datenplattform für ACONA funktioniert, haben wir einen Standard entwickelt, wie Analytics-Daten für eine große Anzahl von Metriken, Variablen und Regeln strukturiert und performant abgelegt werden können. Aufbauend auf diesen Daten werden Insights und Handlungsanweisungen generiert und über API Endpoints für die Darstellung in den CMS zur Verfügung gestellt.

Für die Data-Pipelines verwenden wir Apache Airflow. Diese Software ist sehr flexibel und mit etwas Python Code können hier sehr viele Datenquellen eingebunden werden, bzw. die Daten auch kombiniert, verarbeitet, angereichert und schließlich in strukturierter Form im Data Warehouse abgelegt werden.

Um für Metriken zukünftige Werte (bzw. Von-Bis-Bereiche) vorauszuberechnen verwenden wir Prophet, ein Open Source Tool das von Facebook veröffentlicht wurde: https://facebook.github.io/prophet/

Mit Hilfe von Prophet wird es möglich, Forecasts für eine große Anzahl von Metriken und Variablen zu berechnen. Wir haben besonders nach einer Lösung gesucht, die mit saisonalen Schwankungen arbeiten kann, jedoch auch mit linearen Modellen funktioniert.

Für einen unserer Kunden konnten wir so erfolgreich Forecasts für saisonalen Content errechnen. Wenn der reale Wert dann außerhalb einer gewissen Bandbreite wäre, wird dies entsprechend angezeigt. Weiterführende Notifizierungen wie das Aussenden von E-Mails oder Slack-Messages in diesem Fall sind noch geplant.

ACONA prophet saisonal example
Mehrere Saisonale Schwankungen werden bei der Berechnung des Forecasts berücksichtigt (Trend, Wöchentlich, Jährlich)
Prophet forecast example
Forecasts für einen saisonalen Inhalt (PageViews, Blau ist der relevant von-bis Bereich).

Ein Übersicht über alle Bestandteile und Repositories ist hier zu finden.

Wie kann man ACONA ausprobieren?

Wir arbeiten daran eine gehostete Version von ACONA als SAAS auf www.acona.app zur Verfügung zu stellen, mit der man dann das System ausprobieren kann, ohne alles selbst aufsetzen zu müssen.

Interesse? Am besten hier eintragen, wir werden dann entsprechend informieren wenn wir den öffentlichen Zugang freischalten: https://www.producthunt.com/upcoming/acona

Christian Ziegler

Profile picture for user christian.ziegler
Loves riding bikes. Uses Open Source.

Skills:

Agile Software Development
,
Drupal
,
Frontend Entwicklung
,
Projekt Management
,
Business Development
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.
    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, können Sie Ihre Einwilligung jederzeit via unserer Datenschutzerklärung anpassen oder widerrufen.