Powrót do strony głównej

Prognoza sprzedaży: od Excela do ML w pół roku

Artykuł opisuje transformację systemu prognozowania sprzedaży dla serwisu dostawczego: od rozproszonych modeli do zespołu z TSMixer i Excelem. Nacisk na przewidywalność i zaufanie biznesowe poprzez rolling backtest. Wynik: błąd <5% w miesiącu.

Od zoo prognoz do zespołu ML: przypadek dostaw
Advertisement 728x90

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:

Google AdInline article slot
  • 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:

Google AdInline article slot
  • 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.

Google AdInline article slot

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

Advertisement 728x90

Czytaj dalej