Prognozowanie sprzedaży dla biznesu: od Excela do zespołów ML w pół roku
Decyzje biznesowe opierają się na prognozach sprzedaży: czy uruchomić promocję, czy dostosować budżet. Średnia błąd modelu 4,5% MAPE wydaje się idealna, ale jedna niepowodzenie o 20% niszczy zaufanie. Kierownictwo ignoruje dane, wprowadza ręczne korekty i rozszerza budżety z powodu strachu przed niepełnym spełnieniem planu. Kluczowy wymóg biznesowy to przewidywalność: czy zakończymy miesiąc w planie bez katastrofalnych błędów?
Celem projektu było stworzenie wiarygodnej prognozy sprzedaży, zamówień i przychodów na 45 dni do przodu dla dużego serwisu dostaw w skali całej firmy (79 miast, tysiące centrów formowania zamówień).
Początkowy zbiór modeli
Istniejące podejście obejmowało:
- Prophet na poziomie każdego centrum formowania zamówień: tysiące modeli dla logistyki. Problemy: brak uwzględnienia nowych centrów (oceny ekspertów w Excelu), dokładność nie sprawdzano na poziomie kraju, optymalizacja pod dokładność dzienną, a nie miesięczny plan.
- Excel z roczną sezonowością: rzeczywistość zeszłorocznej tygodni × współczynnik wzrostu (np. 1,15 przy +15%). Ocena wizualna, bez metryk.
- Prophet na poziomie kraju: z hiperparametrami, zewnętrznymi cechami (makroekonomia, święta, planowane rabaty). Średni błąd 1–2%, ale na krótkiej walidacji — artefakt.
Ekspertowe metody Excel były niereprodukowalne. Wszystkie podejścia wymagały jednolitego porównania.
Szczera walidacja typu rolling backtest jako fundament
Aby obiektywnie ocenić, wdrożono 12-miesięczny rolling backtest: symulacja codziennych prognoz na historii z ponownym uczeniem po każdym nowym dniu. Sprawdza model w realnych warunkach — wzrosty, spadki, akcje, święta.
Proces backtestu:
- Dzień 1: uczenie na danych do 1 stycznia → prognoza na 45 dni.
- Dzień 2: dodanie faktu 1 stycznia → ponowne uczenie → nowa prognoza.
- Powtarzanie do końca roku.
Sezonowość Excel została odtworzona w Pythonie — stała się bazową. Prophet na poziomie centrów: optymistyczne wyniki (bez nowych centrów). Prophet na poziomie kraju: wykryto problemy z cechami (planowane rabaty vs rzeczywistość).
Wynik: baseline (Excel) wykazał przewidywalność, ML — piękne średnie, ale wrażliwe błędy.
Excel przewyższa Prophet: lekcje prostoty
Nieoczekiwany wynik backtestu: Excel z roczną sezonowością przewyższył Prophet pod kluczową metryką — skumulowanym błędem w miesiącu (relewantym dla biznesu). Prophet wygrywał w precyzji dziennych prognoz, ale zawodził na długim horizontzie z powodu przeuczenia na trendach.
Porównanie metryk:
- MAPE (średnia bezwzględna procentowa błąd): Prophet lepszy.
- Skumulowany błąd za 30/45 dni: Excel lider.
Prophet rozkładający szereg na trend, sezonowość (dni/miesiące/roki), święta + znane cechy. Ograniczenia: jeden szereg, cechy znane z góry.
Przejście do szczegółowości: miasta i ML
Aby poprawić, podzielono prognozę na poziom miast (79). Pozwoliło to uwzględnić lokalne efekty: różne trendy popytu, nowe centra.
Wdrożono klasyczną ML:
- Gradient boosting (LightGBM/XGBoost) z opóźnieniami, średnimi kroczącymi, dummy dla dni tygodnia/świąt.
- Cechy: opóźnienia historyczne (1–30 dni), wzrost rok do roku, zewnętrzne (święta).
Wynik: poprawa względem baseline o 10–15% w skumulowanym błędzie, ale nie rewolucyjna. Problemy: słabe uchwycenie nieliniowych wzorców, wrażliwość na anomalie.
TSMixer: przełom i ograniczenia
Przejęto do sieci neuronowych. TSMixer (Temporal Sparse Mixer) — stan techniki dla szeregów wielowymiarowych. Działa jak MLP-Mixer dla czasu: kanały są niezależne, uchwytuje zależności między kanałami bez warstw rekurencyjnych.
Architektura:
- Wieże Past/Future dla cech historycznych i przyszłych.
- Bloki MLPMixer: mixing tokenów (po czasie) + mixing kanałów.
- Skalowanie: O(L * D) zamiast O(L²) w transformatorach.
Uczono na 79 miastach × 3 metrykach (sprzedaż/zamówienia/przychód). Backtest: TSMixer przewyższył baseline o 25%, gradient boostingu o 12%. Wady: nadal opóźnia się na szczycie świąt, wymaga dużo danych.
Ostateczny zespół: połączenie sił
Jednolita prognoza — zespół:
- Sezonowość Excel (30% wag): stabilność na długich trendach.
- Gradient boosting (40%): lokalne wzorce.
- TSMixer (30%): nieliniowości.
Wagi dobrane na podstawie stack-rank w backtestie (suma ranków według metryk). Wynik: MAPE 3,2%, skumulowany błąd miesięczny <5% w 95% przypadków. Przewidywalność wzrosła: biznes zaakceptował dane bez korekt.
Co ważne:
- Przewidywalność ważniejsza niż średnia dokładność: skupienie na skumulowanym błędzie w okresie.
- Rolling backtest — złoty standard oceny.
- Zespół wygrywa z czystymi modelami: prostota + ML.
- Szczegółowość (miasta) lepsza niż agregacja.
- Biznes wierzy, gdy model wytrzymuje testy stresowe (święta, spadki).
Podsumowanie transformacji
W ciągu pół roku z zoo modeli stworzono P.E.S.E.C. — codzienny strategiczny prognoz. Biznes używa go do decyzji bez paniki. Klucz: uczciwa ocena, skupienie na metrykach biznesowych, połączenie podejść.
— Editorial Team
Brak komentarzy.