Fallstudie · Unternehmensberatung

Aus amtlicher Statistik wird eine fertige Präsentation

Berater wählen einen Standort, ein paar Vergleichsregionen und einen Zeitraum. Was herauskommt, ist ein Foliensatz im Corporate Design plus die ausgewerteten Daten als Excel, damit jede Zahl im Vortrag nachprüfbar bleibt.

Kunde
LennardtundPartner GmbH
Branche
Unternehmensberatung
Leistung
Office-Automatisierung, KI-Integration, Betrieb
Zeitraum
Seit März 2023, laufend

Ausgangslage

Am Ende eines Beratungsprojekts steht fast immer ein umfangreicher Foliensatz: Standortvergleiche, SDG-Berichte, Patent- und Fördermittelanalysen. Der Weg dorthin war jedes Mal derselbe. Zahlen bei den Statistikämtern zusammensuchen, Diagramme bauen, alles im Corporate Design formatieren, in die Vorlage übertragen.

Das ist Arbeit, die mit der eigentlichen Beratung konkurriert. Und sie skaliert schlecht: bei jeder zusätzlichen Vergleichsregion und jedem neuen Jahrgang fängt ein Großteil davon von vorn an.

Ziel

Aus einem Satz Auswahlparameter soll ein fertiges Analysepaket entstehen, jedes Mal auf demselben Weg und ohne dass jemand Zahlen kopiert oder Grafiken nachbaut.

Zwei Vorgaben haben die Architektur bestimmt. Die Ausgabe muss in den bestehenden PowerPoint-Master passen, weil die Folien unter dem Namen des Kunden bei dessen Auftraggebern landen. Und als Quelle kommt ausschließlich amtliche Statistik in Frage.

Lösung

Eine Weboberfläche mit acht Analyseprodukten, von denen jedes denselben Weg nimmt. Man wählt den Hauptstandort, beliebig viele Vergleichsstandorte und den Zeitraum. Mehrere Kreise lassen sich zu einem benannten Vergleichsstandort bündeln, der in allen Grafiken wie eine einzelne Region auftritt.

Am Ende stehen ein Projektname und ein Button. Raus kommt ein ZIP: die Präsentation im Corporate Design, dazu die ausgewerteten Daten als Excel, ein Blatt je Datensatz und ein Übersichtsblatt, das jeden Indikator auf die amtliche Statistik und deren Kennnummer zurückführt. Optional schreibt ein Sprachmodell die Folientitel.

Automatisiert erzeugte PowerPoint-Folien im Corporate Design des Kunden
Die Folien entstehen im PowerPoint-Master des Kunden, über benannte Layouts und Platzhalter statt über Koordinaten.

Das Ganze in einer Minute

Der Ablauf von der Auswahl bis zur fertigen Präsentation, kurz gezeigt.

Ergebnis

Nach wenigen Monaten amortisiert nach Einschätzung des Kunden, über die eingesparte Aufbereitungszeit
Rund 80 Folien pro Lauf ein Standortvergleich auf Kreisebene, fertig gesetzt
69 Indikatoren, 27 Statistiken alle auf einen einheitlichen Gebietsstand gerechnet

„Das Tool zur Unterstützung unserer Präsentationserstellung hat die Effizienz unseres Analyseprozesses erheblich verbessert. Unsere Berater können sich jetzt auf die eigentliche wertschöpfende Analysearbeit und individuelle Kundenberatung konzentrieren, während zeitraubende Formatierungsarbeiten und Datenaufbereitung im Hintergrund automatisiert werden. Durch diese Zeitersparnis bei administrativen Aufgaben hat sich das System bereits im ersten Jahr amortisiert.“

Jörg Lennardt - Geschäftsführer bei LennardtundPartner GmbH

Jörg Lennardt

Geschäftsführer, LennardtundPartner GmbH

Wo es knifflig wurde

Gebündelte Standorte lassen sich nicht zusammenzählen

Wenn jemand drei Nachbarkreise zu einem Vergleichsstandort bündelt, liegt es nahe, die Indikatorwerte zu addieren oder zu mitteln. Bei den meisten Kennzahlen ist das falsch: Quoten, Anteile, Indexreihen und Pro-Kopf-Größen aggregieren nicht linear, und ein Mittelwert über Kreise gewichtet einen Kleinstkreis genauso wie eine Großstadt. Richtig ist, eine Ebene tiefer bei den Ausgangsgrößen zu aggregieren und die Kennzahl danach neu zu rechnen, jeweils mit den Gruppierungsmerkmalen der betreffenden amtlichen Tabelle. Und das gilt für jeden Indikator einzeln.

Daten, die von Behörden kommen statt aus einer API

Amtliche Arbeitsmarktdaten unterdrücken kleine Fallzahlen. Auf Ebene einzelner Wirtschaftsabteilungen in einem Kreis ist das der Normalfall, und es trifft ausgerechnet die Branchen, um die es in einer Strukturanalyse geht. Wer die Lücken als Null liest, baut eine falsche Struktur auf; wer sie leer lässt, hat Löcher im Vortrag. „Fehlt“ und „ist null“ müssen also durch die ganze Rechenkette hindurch unterscheidbar bleiben. Dazu kommt ein Modul, das auf einem Export aufsetzt, den der Nutzer selbst bei der Behörde anfordert: Kopfzeilen über den Daten, 41 Spalten, deutsche Zahlformate, Platzhalterzeichen und Zeilenbezeichnungen, die eine Hierarchie kodieren und nicht einheitlich geschrieben sind. Ohne Validierung vorab wäre der Regelfall ein Crash tief im Rendering oder, schlimmer, ein Durchlauf mit stillschweigend falschen Zahlen.

Technische Umsetzung

R Shiny officer flextable ggplot2 sf ellmer bslib openxlsx renv Docker ShinyProxy GitHub Actions

Der Kern ist officer. Die Folien werden in den bestehenden Master geschrieben, über benannte Layouts und benannte Platzhalter statt über Koordinaten. Der Kunde kann seine Vorlage also überarbeiten, solange die Platzhalternamen bleiben. Tabellen entstehen über flextable als echte, editierbare PowerPoint-Tabellen.

Bei den Diagrammen steckt der Aufwand in Details, die von Hand nicht zuverlässig gelingen: Labels, die sich nicht überlappen, Text innerhalb von Balken, verschachtelte Achsen, Beschriftung auf Karten. Ein deutsches Trennwörterbuch ist eingebunden, weil sich lange Komposita nicht am Leerzeichen umbrechen lassen, wenn keins da ist. Die Hausschrift muss im Image mit installiert sein, sonst fehlt sie beim Rendern.

Die Daten werden getrennt von der App aufbereitet. Zur Laufzeit liest die App nur vorbereitete RDS-Dateien und fragt keine Statistikdatenbank ab. Alle Zeitreihen sind auf einen einheitlichen Gebietsstand umgerechnet, der als Quellenangabe auf jeder Folie mitläuft, weil Gebietsreformen sonst jeden Mehrjahresvergleich still verfälschen.

KI kommt an genau einer Stelle vor. Das Modell schreibt Folientitel, sonst nichts. Es bekommt pro Folie die gerenderte Grafik als Bild, den zugehörigen Datensatz und einen Prompt mit redaktionellen Regeln, und gibt über ein typisiertes Response-Schema genau einen Titel zurück. Kein Tool-Zugriff, keine Datenbank, kein State über Folien hinweg. Zahlen, Indikatoren, Ranglisten und Grafiken entstehen vollständig deterministisch in R. Das Feature ist optional und standardmäßig aus; ohne es trägt jede Folie einen Platzhaltertitel.

Betrieb und Weiterentwicklung

Die Anwendung läuft seit März 2023 und ist von einem auf acht Analyseprodukte gewachsen.

Ein Push auf main baut das Image, pusht es in eine private Registry, zieht es auf den Zielserver und startet die App neu. Die App läuft hinter ShinyProxy mit einem Container pro Nutzer, ein langer Rechenlauf betrifft also niemanden sonst. Login und Nutzerverwaltung sitzen vor der App im Proxy. R-Version und Paketstände sind gepinnt, Vorlage und Schriftdatei sind Teil des Images: gleicher Input, gleicher Output, egal auf welchem Rechner.

Neue Datenstände laufen über mich. Ein Datenupdate ist ein Commit, der Deploy derselbe wie bei einer Code-Änderung, und über jedem Reiter steht, auf welchem Datenstand er ist. Geht im Betrieb etwas schief, sieht der Nutzer eine verständliche Meldung. Bei echten Bugs bekomme ich zusätzlich eine Mail mit dem Fehlertext und dem kompletten Parametersatz, damit ich den Fall reproduzieren kann, ohne beim Nutzer nachzufragen.