Python-gestützte CrossCompute-Berichtsautomatisierung für eReliability Tracker führt zu Kosten- und Zeitersparnissen für die American Public Power Association
Übersicht
Der eReliability Tracker der American Public Power Association ist eine preisgekrönte Pyramid-Webanwendung, die Stromversorgern bei der Verfolgung von Leistungsmetriken hilft. Im Rahmen ihrer Abonnementvorteile erhalten die Versorger einen Reliability Benchmarking Report, der individuell für jeden Versorger, der den eReliability Tracker nutzt, zugeschnitten ist. In dieser Fallstudie zeigen wir, wie die American Public Power Association Python + Markdown + CSS + JupyterLab + CrossCompute nutzte, um einen arbeitsintensiven Prozess von drei bis sechs Monaten in einen hochflexiblen, automatisierten PDF-Bericht zu verwandeln, der die volle analytische Leistung von Python nutzen kann. Das Ergebnis ist, dass über fünfhundert Versorger nun häufiger wertvolle Zuverlässigkeitsmetriken erhalten können, um ihre Dienstleistungen zu verbessern. Das eReliability Tracker Team nutzt die eingesparte Zeit, um neue Analysen zu entwickeln, die den Versorgern helfen, Strom in ihre Gemeinden zu liefern.
Herausforderung
Der Reliability Benchmarking Report wurde ursprünglich in Microsoft Access entwickelt und wurde viele Jahre lang treu und erfolgreich an die Abonnenten des eReliability Trackers geliefert. Da jedoch die Anzahl der Abonnements vervielfacht wurde, wurde der semi-manuelle, klickintensive Prozess zur Erstellung eines individuellen Berichts für jeden Versorger zunehmend mühsam. Änderungen in den zugrunde liegenden Daten konnten eine Kaskade von mühsamen Aktualisierungen der Tabellen und Diagramme in den Berichten jedes Versorgers auslösen und den iterativen, abteilungsübergreifenden Überprüfungsprozess erheblich verzögern.
Lösung
Im Jahr 2021 beschloss ein Analyst im APPA Office of Data Analytics, den eReliability Tracker Benchmarking Report mit Python neu zu erstellen. Innerhalb der nächsten zwei Monate konnte sie alle zehn Abschnitte des Berichts in JupyterLab mit dem CrossCompute Report Automation Framework automatisieren. Sie verwendete numpy und pandas zur Berechnung der verschiedenen Statistiken und matplotlib und seaborn zur Generierung der Diagramme. Zur Gestaltung des Berichts verwendete die Analystin Standard-Markdown + CSS.
Ergebnis
- Bei jeder Änderung des zugrunde liegenden Datensatzes oder der nachgelagerten Berechnung kann die Analystin nun kundenspezifische PDF-Berichte für alle 500 Versorger in etwa einer Stunde neu generieren, was bedeutet, dass sie schneller iterieren und innovativ tätig werden kann.
- Nachfolgende Iterationen des Berichts können die reichhaltige Bibliothek von kostenlosen und Open-Source-Rechen- und Visualisierungspaketen, die in Python verfügbar sind, nutzen.
- Alle zehn Abschnitte des Berichts sind auch intern als webbasierte CrossCompute-Tools bereitgestellt, so dass nicht-technische Benutzer neue Daten per Drag & Drop hochladen und die Tabellen und Diagramme des Berichts neu generieren können, ohne Code anfassen zu müssen.
Danksagung
Vielen Dank an die American Public Power Association, das U.S. Department of Energy, die Python Software Foundation, das Tampa Bay Innovation Center und CrossCompute dafür, dass sie diese Arbeit ermöglicht haben.
