Kick-off

So, das Kick-off ist geplant und alle Einladungen sind raus. Kein Zurück mehr. Siehe https://unsere-gelder.de/.

Inzwischen sind auch Daten von Kiel (spartanisch) und Berlin (nicht doppisch) integriert. Und der 2. Datensatz von Hamburg ist jetzt dabei.

Schatzkartendaten repariert

Leider sind die Orginaldaten für 2015 in den letzten Daten von Lübeck nicht konsistent gewesen – was ich aber erst jetzt bemerkt habe.

Die Spalte für 2015, das sollte eigentlich das echte Ergebnis sein, habe ich gelöscht, so dass die Plandaten 2015 aus dem letzten Haushaltsentwurf 2016 angezeigt werden.

Gestern, Donnerstag, den 26.1.2017, wurde der Haushalt mit minimalen Änderungen beschlossen.

Haushaltsdaten von Lübeck für 2017 aktualisiert

Die Daten der 2. Version des Haushalts 2017 der Hansestadt Lübeck sind jetzt online.

Nachdem der Haushalt im Dezember 2016 abgelehnt wurde, wird am 26. Januar 2017 erneut darüber abgestimmt. Änderungen, die sich aus der letzten Debatte ergaben und andere, laufende Änderungen sind dabei eingearbeitet. Diese Daten sind jetzt hier online durchstöberbar: http://schatzkarte-sh.de/Lübeck .

P.S. Ich werde in Zukunft versuchen, auch kleinere Änderungen an der Schatzkarte hier kurz zu vermelden, damit Interessierte z.B. über den RSS-Feed auf dem Laufenden bleiben können.

Visualisierung des Lübecker Haushalts

Lübeck ist eine schöne Stadt, aber praktisch pleite. Warum?

Dazu will ich den Haushaltsplan der Stadt verstehen. Das PDF umfasst 900 Seiten und besteht aus einem zum Teil lesenswerten Vorbericht, sowie aus unzähligen Statistiktabellen und Listen. Den größten Umfang machen die Produktrechnungen aus. Zu jedem der 137 definierten Produkte gibt es 4 Seiten: eine Seite mit Beschreibung, Zielen und Personal, und je eine mit Ergebnisrechnung, Finanzrechnung und Investitionen. Macht 137 * 4 = 548 Seiten – gut 60%!

Die PARTEI-PIRATEN Fraktion der Bürgerschaft hat um den Haushalt in maschinenlesbarer Form gebeten und die Daten (Ergebnis- und Finanzrechnung) als CSV bekommen. Sie sind sogar besser als im PDF. Während auf Papier die Ergebnisrechnung aus einer Tabelle mit den offiziellen Buchungskategorien mit je 6 Jahreswerten besteht, enthalten die Daten zu jeder Kategorie auch die Sachkonten.

Aus diesen Daten habe ich eine Visualisierung geschrieben, die ich hier ein wenig erklären will.

Die linke Seite enthält alle Produkte in ihrer Baumstruktur mit Nummer, Namen und Bilanzergebnis:Produktbaum

Die rechte Seite ist die Ergebnisrechnung für das ausgewählte Produkt oder Produktgruppierung der linken Seite. Die Ergebnisrechnung hat immer die gleiche Struktur, die auch so ähnlich in der „gedruckten“ PDF vorkommt. Sie ist durch eine Landesverordnung so vorgegeben.Produktergebnis

In diesem Layout besteht Ergebnisrechnung aus je einer Spalte für die ordentlichen Erträge und Aufwendungen, mit ihren festgelegten Buchungskategorien (Leere sind ausgegraut). Darunter kommen das Finanzergebnis, das außerordentliche Ergebnis sowie die Verrechnung der internen Leistungsbeziehungen. Das alles summiert sich zum eigentlichen Ergebnis: dem Budgetergebnis. Am Ende kommt noch – ausgegraut – eine Rechnung über nicht budgetrelevante Leistungen. Das Budgetergebnis ist auch die Zahl, die auf der linken Seite im Produktbaum steht.

Jeder dieser Einträge in der Rechnung ist klickbar und enthüllt die Zeitreihe dieses Wertes (das Budgetergebnis wird automatisch gezeigt): Die beiden Vorjahre, der aktuelle Plan 2015 sowie die 3 Folgejahre. In jedem Kasten wird der Betrag grob angezeigt. Im Beispiel für das Produkt 122005 hat die Stadt also ein Plus von 1,3 Mio € gemacht.

Mehr Details erscheinen wenn man mit der Maus darüber fährt. Das Beispiel zeigt, dass der Überschuss mit 1.304.100 € geplant ist. Dies ist 39.400 € bzw. 3,12 % besser als im Vorjahr – deshalb grün.BarTooltipAuf der linken Seite hört es aber noch nicht mit den Produkten auf. Klappt man das Produkt auf, erscheinen die Konten, aus denen sich das Ergebnis zusammensetzt, in absteigender Ordnung. Auch hier kann zu jedem Wert die Zeitreihe angezeigt werden.Konten

Die Darstellung des Produktbaums auf der linken Seite ist zwar gut für die Suche und Auswahl von interessanten Produkten, aber sie hat einen Nachteil: durch die Listendarstellung ist es schwer die Proportionen abzuschätzen. Dazu gibt es die beiden Kästen auf der rechten Seite oben:Treemaps

Bei Informatikern heissen solche Diagramme Treemaps, da sie Baumstrukturen als proportionale Karte zeigen. Im Beispiel zeigten die Kästen (links für Erträge, rechts für Aufwände) die Gesamtmenge für die Produktgruppe 122 Ordnungsangelegenheiten. Wie über den Treemaps zu sehen ist, entspricht der rechte Kasten (immer der größere) 15.947.000 € bzw. 2% des Haushalts. Der rote Bereich unter der linken Treemap ist das Defizit. Die blau unterlegten Bereiche entsprechen dem ausgewählten Produkt wie auch unter den Treemaps angezeigt wird. Wie man sieht, haben die Verkehrsangelegenheiten bei den Ordnungsangelegenheiten den größten Anteil – sowohl beim Ertrag als auch beim Aufwand.

Innerhalb des blauen Rechtecks ist die innere Struktur des Produkts zu sehen – hier die Konten. Die inneren Rechtecke sind Mausempfindlich: fährt man die Maus über einen Kasten, werden die Details angezeigt.TreemapTooltipLinksSo sind Bußgelder mit knapp 4,65 Mio € oder 64,45 % der größte Ertrag.

Der Personalaufwand ist mit über 4,9 Mio € der größte Aufwand.TreemapTooltipRechts

Erste Auffälligkeiten:

  • Gebäudemanagement 111029 dreht ein großes Rad.
  • Produktgruppe 121 Statistik und Wahlen schwankt Wahl-saisonal.
  • Der Rettungsdienst (127) bringt 1,6 Mio.
  • Das Theater ist Produkt 261001.
  • 511003 Stadtplanung und -entwicklung: Steigerung um 4 Mio und damit fast eine Verdoppelung.
  • Unterbereich 54 Verk.flächen u.-anlagen, ÖPNV: Erhöhung der Investitionen um gut 3 Mio auf 10 Mio. Die Hälfte für Bundesstraßen.
  • Parkplätze (573004) bringen 2 Mio.
  • Erstaunlich wenig Details für Stadteigene Betriebe – siehe Bereich 53 Ver- und Entsorgung.

Verbesserungsideen:

  • sortierte Liste mit größten Veränderungen (absolut und relativ). Vorschlag von Uli König – Danke.
  • lästigen Umbruch der Zeile verhindern – wer weiß was?.
  • Hervorheben des Ergebniseintrags wenn ein Konto ausgewählt oder mit der Maus berührt wird.
  • Veränderung zum Vorjahr in der Treemap farbig anzeigen.
  • Treemaps müssen neu layoutet werden wenn sich die Fenstergröße ändert.
  • … Vorschläge?…

… und jetzt noch ’nen Blog!

Als mein Server gekapert wurde, stürzte ich in heillose Panik. Am Montag, den 8.12.2014 wurde der Server vom Netz genommen, da er Terabytes durch das Netz geschickt und die Auslastung am Anschlag war. Jetzt, am 31.12., 23 Tage später, scheint fast alles wieder im Lot zu sein. Ich habe einiges gelernt und bessere Lösungen gefunden.

Auf dem (Firmen-)Server, einem virtuellen Host mit root-Zugang, lief zum einen die smallCharts Website mit Kundenbereichen mit Downloads. Die läuft jetzt in einem „Webspace“, also eine abgespeckter Server ohne Shellzugang. Hierzu musste ich mich mit Redaxo beschäftigen – auch wieder so ein eigenes Ding. Die Doku ist aber ausreichend und das System scheint recht mächtig und bedienbar zu sein.

Das Wichtigste auf dem alten Server war das VisualWorks Code-Repository in einer PostgreSQL Datenbank. Auf dem Webspace, wie auch bei den  meisten Hostern, ist es aber leider nicht möglich auf eine Datenbank (die für Webapps wohl zur Verfügung steht) direkt von aussen zuzugreifen.

Der andere Grund für den eigenen Root-Server war die Möglichkeit eigene Programme laufen zu lassen. Z.B. hatte ich zur EM 2008 ein Tippspiel in Seaside mit VisualWorks Smalltalk für unsere Freunde gebaut. Jetzt habe ich eine Visualisierung des Lübecker Haushaltsplans in VisualWorks 8.0 mit AppeX gemacht, die unbedingt ins Netz gehört.

Also, wenn ich schon alles neu machen muss, dann gleich richtig. Die Idee war: eine Domaine und Uberspace.

Die Domaine ist christianhaider.de ! Die braucht sich jetzt wirklich nicht mehr ändern. Kein Suchen nach super-coolen Phantasienamen mit Anspruch mehr… Einfach, klar und treffend. Die Domaine habe ich bei Strato für lächerliche 2,28 € für 1 Jahr gekauft (dann reguläre 9,48 €). Dort kann ich die jeweiligen Web- und Emailserver eintragen und bin damit von Hostern unabhängig ohne dass sich meine Internetidentität ändert.

Jetzt noch einen freundlichen und preiswerten Hoster. Eigentlich tendiere ich bei sowas eher zu kleinen Firmen bzw. Leuten aus der Nachbarschaft die ich persönlich kenne. Aber nachdem Freunde von Uberspace geschwärmt haben, habe ich mir das mal angeschaut. Nett! Wirklich nett! Es gibt viel Doku von recht guter Qualität (die beschriebenen Sachen haben alle so funktioniert) in einem netten Stil. Bei meinem ersten Versuch hatte ich auch mit Support zu tun, die freundlich, schnell und hilfreich waren. Hier habe ich jetzt einen Account mit ssh-shell-Zugang auf einer Linux-Maschine mit guter Netzanbindung. Mit Mail, Backup und vielen Freiheiten seine eigenen Sachen laufen zu lassen. Und natürlich unter meiner Domaine :-).

Das PostgreSQL Code-Repository ist jetzt über einen ssh-Tunnel für mich von überall erreichbar und VisualWorks mit der Visualisierung läuft prima unter christianhaider.de/haushalt.

Meine neue private Online-Identität ist jetzt mail@christianhaider.de, christianhaider.de/blog (WordPress) und eine Homepage unter christianhaider.de.

Und über was will ich nun eigentlich schreiben? Tja, mal schaun… Natürlich über Smalltalk, Grafikprogrammierung, PDF und programming-as-a-business und open source, aber auch über OpenData, Transparenz und (Piraten-)Politik. Wir werden sehen…

Happy hacking!