Reportautomatisierung

In einem Projekt für ein bekanntes Handelsunternehmen und Vorreiter im aufstrebenden Retail Media Geschäft habe ich die Erstellung von Kundenreports automatisiert.

Vor dem Projekt musste pro Monat eine studentische Aushilfe hunderte Excel-Reports für die Werbekunden von Hand erstellen. Bei über 400 Reports und geschätzten 15 Minuten pro Report eine Sisyphusarbeit! Bei konzentrierter Arbeit sind das 12,5 volle Arbeitstage pro Monat.

Mittels Python und dem Zugriff auf die REST-API der Mediaplattform (Criteo) können die Daten ohne jegliches händisches Copy&Paste direkt aus der Datenbank geladen werden. Durch Pythons flexible Bibliotheken ist es möglich, diese Daten direkt in ein professionell aufbereitetes Template zu schreiben. Für jeden Kunden einzeln.

Im Ergebnis dauert die Reporterstellung nur noch 4 Stunden pro Monat – 90 %  davon ist die Beaufsichtigung des Skriptes, während andere Dinge erledigt werden können. Pro Monat werden also mindestens 96 Arbeitsstunden eingespart und gleichzeitig die Qualität gesteigert.

Die Ausgangssituation

Künstliche Intelligenz? Algorithmen? Meiner Erfahrung nach sieht die Realität in vielen Unternehmen noch anders aus. Einfache, aber zeitintensive Tätigkeiten wie interne und externe Reportings verschlingen eine Menge Ressourcen. Zeit und Geld, das bei den entscheidenden Tätigkeiten fehlt.

 

Die Retail Media Abteilung eines bekannten Handelskonzerns vermarktet die Werbeflächen des Online-Shops für nationale und internationale Werbekunden. Diese wollen natürlich regelmäßig die Eckdaten ihrer gebuchten Leistung wissen – Mediaspend, Conversions und ROAS. Branchenüblich ist ein monatliches Reporting als Excel.

Die Abteilung war zu dem Zeitpunkt in der Vermarktung sehr erfolgreich und konnte über 400 einzelne Werbekampagnen akquirieren. Es standen aber bei weitem nicht genug Reportingkapazitäten zur Verfügung. Bei einem erfahrenen Excelanwender dauert ein Report bei konzentrierter Arbeit ungefähr 15 Minuten. Das bedeutet: Die Daten aus dem Kampagnenmanagementtool herunterladen, von Hand in das Template kopieren und dann hübsch formatieren. Bei über 400 Kampagnen sind das 100 Stunden oder 12,5 Arbeitstage. Jeden Monat.

In der Folge bekamen nur die wichtigsten A-Kunden einen Report und auch das oft verspätet. Keine ideale Situation.

 

Die Lösung

Neben dem händischen Download der Kampagnendaten hat die Plattform Criteo auch eine REST-API. Das heißt alle Kampagnendaten liegen in einer Datenbank vor, die von programmierten Skripten automatisiert angesprochen werden kann.

Im Zuge des Projektes habe ich mit Python ein Skript geschrieben, das über die API alle relevanten Kampagnendaten wie Klicks und Conversions herunterlädt.

Im Vorfeld der Programmierung haben das Kampagnenmanagementteam und ich ein professionell formatiertes leeres Excel-Template abgestimmt. Nach dem Download der Kampagnendaten über die API schreibt Python mithilfe einer der Bibliotheken diese Kampagnendaten in das Template und speichert es automatisch einmal pro Kunde ab. So ist es direkt versandfertig.

Die Vorteile