Phase 7.2: Wasserfalldiagramm - wofuer der Erwartungswert-Plan bezahlt

Setzt den umsetzbaren Teil von Paket 3 aus Verbesserungen_03.md um
(Vorher-Nachher-Wasserfall, Business Impact). Neuer Generator
bilder_04/erzeuge_wirkung.py; das Supply-Chain-Kapitel bekommt damit sein
erstes Diagramm ueberhaupt.

Der Anlass: Die Tabelle nannte nur die Summen - 874.870 EUR gegen
351.356 EUR, 149 % mehr. Wofuer genau, stand nirgends.

Der Generator rechnet die Instanz erneut, wie es die Konvention verlangt.
Die Probe fiel gut aus: Der unabhaengige Nachbau reproduziert beide
abgedruckten Summen exakt, dazu 178,7 MWh Fehlmenge und 28/40 Szenarien mit
Abwurf. Kein Auseinanderlaufen - der erste Generator dieser Reihe, der
nichts findet.

Was die Zerlegung zeigt und die Tabelle nicht: Die Anfahrkosten sind in
beiden Plaenen gleich (58.000 EUR). Der Erwartungswert-Plan spart also nicht
dort, wo man es vermuten wuerde. Er spart 12.725 EUR Brennstoff und bezahlt
dafuer 536.239 EUR Lastabwurf - das 42-fache. "149 % mehr" ist eine Zahl,
ueber die man streiten kann; "wir sparen 12.725 EUR und riskieren
536.239 EUR" ist eine, ueber die man entscheidet.

Die Trennung von Brennstoff- und Abwurfkosten ist der einzige Zusatz
gegenueber bewerte() im Buchprogramm; dort wird sie nicht gebraucht.

Ein eigener Fehler unterwegs: Ein .replace(",", ".") fuer deutsche
Tausenderpunkte lag auf dem ganzen Titelsatz und machte aus "Brennstoff,
Preis" ein "Brennstoff. Preis". Jetzt gibt es euro(), das nur auf Zahlen
angewandt wird.

SVG byteidentisch ueber zwei Laeufe. Diagramme jetzt 33, davon 19 mit
Generator (16 Skripte). PDF unveraendert 746 Seiten.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
dschlueter 2026-09-08 11:41:07 +02:00
commit a0691e1919
13 changed files with 4530 additions and 3 deletions

View file

@ -77,7 +77,7 @@ sie unerwartet ab, ist etwas kaputtgegangen.
| Kapiteldateien | 22 | **31** |
| Kapitel | 15 | **23** |
| Anhänge | 4 | **5** |
| Zeilen im Gesamtdokument | 11 082 | **28 243** |
| Zeilen im Gesamtdokument | 11 082 | **28 253** |
| Größe des Gesamtdokuments | 606 KB | **1 593 KB** |
| Hauptüberschriften | 131 | **298** |
| registrierte Abschnitte | 122 | **295** |
@ -87,7 +87,7 @@ sie unerwartet ab, ist etwas kaputtgegangen.
| PDF-Seiten | — | **746** |
| Notebooks | — | **25** |
| Plotly-Figuren | — | **4** |
| Diagramme (SVG) | 26 | **32**, davon **18** mit Generatorskript (15 Skripte) |
| Diagramme (SVG) | 26 | **33**, davon **19** mit Generatorskript (16 Skripte) |
**Gegenprobe:** `build_version_03.py --check` läuft unverändert durch — Version 03 ist von
allen Änderungen unberührt.
@ -1652,6 +1652,44 @@ aus {ref:sec:praxisfallen-attribution}.
Kein neues Programm, keine neue Aufgabe — der Abschnitt bündelt Vorhandenes. Querverweise
730 → 755, PDF 744 → **746** Seiten.
### ✅ 7.2 Wasserfalldiagramm „was es bringt" ({ref:kap:supplychain})
Setzt den umsetzbaren Teil von Paket 3 aus `Verbesserungen_03.md` um (Vorher-Nachher-
Wasserfall, Business Impact). Neuer Generator `bilder_04/erzeuge_wirkung.py`; das
Supply-Chain-Kapitel bekommt damit **sein erstes Diagramm** überhaupt.
**Der Anlass:** Die Tabelle im Kapitel nannte nur die Summen — 874 870 € gegen 351 356 €,
149 % mehr. Wofür genau, stand nirgends.
**Der Generator rechnet die Instanz erneut**, wie es die Konvention verlangt („so können
Diagramm und Buchtext nicht auseinanderlaufen"). Die Probe fiel gut aus: Der unabhängige
Nachbau reproduziert beide abgedruckten Summen **exakt**, dazu 178,7 MWh Fehlmenge und
28/40 Szenarien mit Abwurf. Kein Auseinanderlaufen — der erste Generator dieser Reihe, der
nichts findet, und das ist ein Ergebnis für sich.
**Was die Zerlegung zeigt und die Tabelle nicht:**
| | Anfahrt | Brennstoff | Lastabwurf | Gesamt |
| --- | ---: | ---: | ---: | ---: |
| zweistufig | 58 000 € | 293 356 € | 0 € | **351 356 €** |
| Erwartungswert | 58 000 € | 280 631 € | 536 239 € | **874 870 €** |
Die **Anfahrkosten sind identisch** — der Erwartungswert-Plan spart also nicht dort, wo man
es vermuten würde. Er spart 12 725 € Brennstoff und bezahlt dafür 536 239 € Lastabwurf: das
**42-fache**. „149 % mehr" ist eine Zahl, über die man streiten kann; „wir sparen 12 725 €
und riskieren 536 239 €" ist eine, über die man entscheidet.
Die Trennung von Brennstoff- und Abwurfkosten ist der einzige Zusatz gegenüber `bewerte()`
im Buchprogramm; dort wird sie nicht gebraucht.
**Ein eigener Fehler unterwegs:** Ein `.replace(",", ".")` für deutsche Tausenderpunkte lag
auf dem **ganzen Titelsatz** und machte aus „Brennstoff, Preis" ein „Brennstoff. Preis".
Jetzt gibt es `euro()`, das nur auf Zahlen angewandt wird — mit einem Kommentar, der genau
davor warnt.
SVG byteidentisch über zwei Läufe. Diagramme jetzt **33**, davon **19** mit Generator
(16 Skripte).
---
## 8. Commit-Historie des V04-Strangs