ProjekteProjekt B
Prognosegüte, ehrlich dargestellt
Walk-Forward über 159 Wochen gegen die Vorwochen-Fortschreibung. Auf der Entscheidungsebene 20,6 statt 28,2 Prozent Fehler. Auf der obersten Aggregatebene ist die einfache Fortschreibung minimal besser, und das steht hier, nicht in einer Fußnote.
- Rolle
- Modellierung, Messung und Darstellung
- Zeitraum
- seit 07/2025
- Umfeld
- Absatzprognose der Plattform aus Projekt A
- Wochen Walk-Forward, alle out-of-sample
- 159
Wie gemessen
Zahl der geprüften Wochen. Für jede Woche lernt das Modell nur aus Daten davor und wird an genau dieser Woche gemessen.
- Fehler auf Entscheidungsebene, statt 28,2 % bei Fortschreibung
- 20,6 %
Wie gemessen
Gewichteter mittlerer absoluter Prozentfehler (WMAPE) auf der Ebene Tiere je Woche über die 159 Wochen, für Modell und Fortschreibung gleich berechnet.
- Wochen besser als die Fortschreibung auf Kunde × Artikel × Woche
- 150 von 159
Wie gemessen
Wochen, in denen der Fehler des Modells auf der Ebene Kunde × Artikel × Woche unter dem der Vorwochen-Fortschreibung lag.
- Paare aus Kunde, Artikel und Woche in der Messung
- 789.650
Wie gemessen
Zahl der Kombinationen aus Kunde, Artikel und Woche, die in die Messung auf der feinsten Ebene eingehen.
Walk-Forward über 159 Wochen out-of-sample. Auf der obersten Aggregatebene ist die Fortschreibung minimal besser; dort gibt es keine Zahl.
Jede Woche lernt das Modell nur aus Wochen davor und wird an genau einer Woche geprüft, die es nie gesehen hat. Dann rückt das Fenster vor. Über 159 Wochen ergibt das 159 Prüfungen, keine davon mit Wissen aus der Zukunft.
Kurzfassung: je Abschnitt der erste Absatz, dazu Kennzahlen und Grafik.
Ausgangslage
Eine Prognose ist erst dann ein Argument, wenn sie an etwas gemessen ist. Die Plattform aus Projekt A rechnet Absatzprognosen. Die Entscheidung, um die es geht, ist die Zahl der Tiere je Woche. Die Frage der Fachseite war einfach: Ist das Modell besser als das, was wir bisher tun? Bisher hieß: die Vorwoche fortschreiben. Diese Fortschreibung ist die Messlatte. Sie ist billig, jeder versteht sie, und sie ist schwerer zu schlagen, als es klingt.
Ich wollte eine Antwort, die vor einem technischen Interviewer besteht und die eine Geschäftsführung ohne Übersetzung lesen kann. Das heißt: derselbe Maßstab für Modell und Messlatte, ein Zeitraum, der lang genug ist, und ein Ergebnis, das auch die unbequeme Ebene zeigt.
Entscheidung
Drei Festlegungen, bevor eine Zahl gerechnet wurde.
Erstens: Walk-Forward statt einer einzigen Aufteilung in Training und Test. Für jede Woche lernt das Modell nur aus Daten, die vor dieser Woche vorlagen, und wird dann auf genau diese Woche angewendet. 159 Wochen nacheinander, alle out-of-sample. So sieht der Test aus wie der Betrieb.
Zweitens: die Vorwochen-Fortschreibung als Messlatte, nicht ein zweites Modell. Wenn das Modell die Fortschreibung nicht schlägt, hat es keinen Wert, egal wie elegant es ist.
Drittens: ein Fehlermaß auf drei Ebenen. Ich nutze den gewichteten mittleren absoluten Prozentfehler, kurz WMAPE. Große Mengen wiegen darin mehr als kleine, und kleiner ist besser. Die Entscheidungsebene, Tiere je Woche, zählt am meisten. Die feinste Ebene, Kunde mal Artikel mal Woche, zeigt, ob das Modell auch im Detail trägt. Die oberste Aggregatebene zeigt, ob es im Großen etwas hinzufügt.
Umsetzung
Das Modell lernt aus der Verkaufshistorie und wird je Woche neu angepasst. Die Fortschreibung braucht kein Training. Sie nimmt die Vorwoche als Prognose. Beide bekommen dieselben 159 Wochen und dieselbe Bewertung.
Auf der feinsten Ebene sind das 789.650 Paare aus Kunde, Artikel und Woche. Auf der Entscheidungsebene sind es die Tiere je Woche über denselben Zeitraum.
Nebenbei habe ich ein Gate gebaut: einen Klassifikator, der vorab entscheiden sollte, ob für ein Paar überhaupt Absatz zu erwarten ist. Ich habe ihn in sechs Varianten gemessen. Keine war besser als die einfache Heuristik, die vorher diese Aufgabe hatte. Also ist er raus. Ein verworfener Baustein, der gemessen wurde, ist mir lieber als ein eingebauter, der nur plausibel klingt.
Drei weitere Ideen habe ich auf dieselbe Art geprüft und verworfen oder zurückgedreht.
Wetter: Die Vermutung war, dass Grillwetter den Absatz treibt. Gegen eine Kalender-Basislinie aus Wochentag, Kalenderwoche und Jahr bleibt vom Wetter kein eigenes Signal übrig. Was wie Wettereinfluss aussah, war Saisonalität, und die steckt schon im Modell. Ergebnis: keine Wetter-Schnittstelle. Ferien und Feiertage wirken, sind aber kalenderbestimmt und brauchen keine externe Quelle.
Ein gemeinsames Modell über alle Standorte: klingt nach mehr Daten und besserer Prognose. Im Walk-Forward war es an jedem Standort schlechter als das jeweilige Einzelmodell, über alle Horizonte. Ich habe es zurückgedreht und die Einzelmodelle neu trainiert.
Artikelebene für die Tierentscheidung: Ein Modell auf der feinsten Ebene, hochgerechnet auf Tiere, war nicht besser als ein Modell direkt auf der Entscheidungsebene. Dafür hatte es einen fehleranfälligen Zuordnungsschritt mehr. Die Artikelebene bleibt, wo sie gebraucht wird, im Vertrieb. Für die Tiere wird auf der Ebene prognostiziert, auf der entschieden wird.
Im September habe ich die Bewertung um die Frage erweitert, was ein Fehler kostet. Der übliche Fehlerwert misst Kilogramm. Entschieden wird aber über Tiere, und dort ist die Richtung teuer: Zu wenig heißt Zukauf zum Tagespreis. Die neue Messung zählt je Woche, ob die Tierzahl über eine betrieblich begründete Schwelle danebenliegt, getrennt nach Richtung. Die Schwelle ist ein Schlachttag, beim Rind 17,5 Prozent der Wochenmenge. Auf 160 Prüfwochen ordnet diese Messung die Modelle anders als der Fehlerwert. Zwei Ansätze liegen im Fehlerwert fast gleichauf, mit 70,3 und 67,3 Prozent. In der teuren Richtung landet der eine in 48,8 Prozent der Wochen, der andere in 31,2 Prozent. Ehrlich dazugesagt: In Euro gerechnet ordnen sich die Modelle weitgehend wie beim alten Wert. Der Gewinn liegt in der Richtung, nicht in der Höhe.
Die Prognose liefert eine Spanne, nicht nur einen Wert. Der Vorschlag war bisher immer die Mitte. Das ist keine neutrale Wahl. Die Mitte stimmt nur, wenn zu wenig und zu viel gleich teuer sind, und bei Frischware und Gefrierware ist das in verschiedene Richtungen nicht der Fall. Jetzt lässt sich je Tierart festlegen, wie sicher die Menge reichen soll. Ohne Einstellung bleibt es bei der Mitte. Der Bereich endet bei 10 und 90 Prozent, weil die Prognose darüber hinaus nichts gemessen hat. Wer mehr eintippt, bekommt eine Ablehnung statt einer stillen Kürzung.
Der Bestellvorschlag für Tiere startet abgeschaltet. Ein Vorschlag soll erst dann vorbelegt werden, wenn seine Trefferquote gemessen ist. Gemessen sind jetzt 84,4 Prozent über 320 Beobachtungen. Eingeschaltet ist die Automatik trotzdem nicht. Die beste Methode schätzt im Schnitt um 10 Prozent zu niedrig, die fast unverzerrte trifft seltener. Das ist eine fachliche Abwägung, keine Rechnung, und sie liegt bei der Fachseite.
Ergebnis mit Messung
| Ebene | Modell | Vorwochen-Fortschreibung |
|---|---|---|
| Oberste Aggregatebene | schlechter | minimal besser |
| Tiere je Woche (Entscheidungsebene) | 20,6 % | 28,2 % |
| Kunde × Artikel × Woche, 789.650 Paare | 50,0 % | 58,8 % |
Auf der Entscheidungsebene senkt das Modell den Fehler von 28,2 auf 20,6 Prozent. Auf der feinsten Ebene von 58,8 auf 50,0 Prozent, und zwar in 150 von 159 Wochen. In den übrigen Wochen war die Fortschreibung besser.
Auf der obersten Aggregatebene ist die Vorwochen-Fortschreibung minimal besser als das Modell. Das gehört hierher und nicht in eine Fußnote. Die Erklärung ist unspektakulär: Im Großen mittelt sich vieles weg, und die Vorwoche ist dort ein sehr guter Schätzer. Das Modell bringt seinen Nutzen eine Ebene tiefer, dort, wo entschieden wird. Wer nur die Summe braucht, braucht das Modell nicht. Das sage ich der Fachseite so.
Im September habe ich nachgemessen, über zwölf Wochen und an allen drei Standorten. Die Wochensumme liegt je nach Standort zwischen 3,1 und 11,1 Prozent Fehler. Je Kunde und Woche sind es 35 bis 44 Prozent, je Artikel und Woche 42 bis 50 Prozent. Auch hier gibt es eine unbequeme Ebene: Je Kunde und Artikel schlägt das Modell im kurzen Zeitraum die Vorwoche nicht. Es liegt dort sogar hinter dem einfachen Mittel der letzten vier Wochen, an einem Standort mit 41,3 gegen 36,1 Prozent. Daraus habe ich eine Regel gemacht: Auf den Arbeitsseiten stehen zuerst einfache Regeln. Das Modell kommt erst dazu, wenn es sie schlägt. Die Messung über 159 Wochen bleibt die belastbare Aussage zur Tierzahl.
Die Prognose ist nur so gut wie die Rechnung danach. Die Seite zur Schlachtzahl lag lange um den Faktor 2,7 über dem, was wirklich geschlachtet wird. Der Rechenweg war richtig, die Frage falsch: Die Seite zeigte, wie viele Tiere nötig wären, wenn auch das knappste Teilstück ohne jeden Zukauf reichen soll. Ein großer Teil des Bedarfs wird aber zugekauft. Mit dieser Größe trifft die Rechnung jetzt auf 6 Prozent genau. Beide Zahlen stehen nebeneinander, klar beschriftet.
Was ich anders machen würde
Ich würde den Messrahmen vor dem ersten Modell bauen. Walk-Forward, Messlatte und die drei Ebenen stehen dann fest, bevor ein Modell hineingestellt wird. Jedes weitere Modell bekommt automatisch dieselbe Prüfung, und niemand kann sich die Ebene aussuchen, auf der es gut aussieht.
Ich würde die unbequeme Ebene von Anfang an ausweisen, als festen Teil jeder Auswertung, nicht als Nachtrag. Eine Auswertung, die nur die guten Ebenen zeigt, verliert das Vertrauen der Fachseite beim ersten Nachrechnen.
Beim Gate hätte ich früher aufhören sollen. Sechs Varianten waren zu viele. Wenn die ersten beiden die Heuristik nicht schlagen, sagt das meist schon alles.
Ich hätte früher gemessen, was ein Fehler kostet, nicht nur wie groß er ist. Ein Fehler von 20,6 Prozent sagt, wie weit die Prognose im Mittel daneben liegt. Er sagt nicht, in welche Richtung und wie teuer. Seit September messe ich das. Die Modelle ordnen sich danach anders, und das hätte ich gern vor der Auswahl gewusst.
Technik
- LightGBM
- Python
- Walk-Forward-Validierung
- WMAPE