- MySales generuje prognozy na sześciu poziomach hierarchicznych — od całej sieci po poszczególne kombinacje SKU–sklep — przetwarzając terabajty danych dla dużych sieci handlowych.
- Silnik automatycznie oczyszcza historyczną sprzedaż, izoluje czynniki wpływające (cena, promocje, pogoda, wskaźniki makroekonomiczne) i wybiera najlepszy model bez interwencji manualnej.
- Specjalne algorytmy obsługują nowe produkty i rozszerzanie dystrybucji, zapewniając dokładne prognozy nawet przy ograniczonej lub nieistniejącej historii sprzedaży.
- Wbudowane obliczanie zapasu bezpieczeństwa, korekty prognozy krótkoterminowej i modelowanie upliftów promocyjnych dostarczają kompletny wynik gotowy do zamówień w ramach jednego przebiegu.
Przegląd
MySales opiera się na matematycznie rygorystycznym silniku prognozowania, zwalidowanym na setkach milionów kombinacji SKU–sklep. Generuje stabilne prognozy popytu wysokiej jakości dla każdego produktu w każdym sklepie — w pełni automatycznie i na dużą skalę.
Silnik operuje na sześciu poziomach hierarchicznych, przechodząc od najbardziej zagregowanego widoku do najbardziej szczegółowego:
| Poziom | Zakres |
|---|---|
| Kategoria produktów — cała sieć | Najszerszy sygnał popytowy |
| Kategoria produktów — region | Regionalne trendy kategorii |
| Kategoria produktów — sklep | Wzorce kategorii na poziomie sklepu |
| SKU — cała sieć | Popyt na produkt w całej sieci |
| SKU — region | Regionalne zachowanie produktu |
| SKU — sklep | Najbardziej szczegółowa jednostka prognozy |
Ta struktura hierarchiczna jest fundamentalna. Gdy silnik nie może ustalić wiarygodnej zależności na poziomie szczegółowym (np. elastyczności cenowej dla pojedynczego SKU w jednym sklepie), czerpie dane z wyższych poziomów hierarchii, gdzie dostępna jest większa ilość danych. Rezultatem jest prognoza jednocześnie szczegółowa i statystycznie wiarygodna.
Sieć ze 100 sklepami i 10 000 SKU generuje milion kombinacji SKU–sklep. Pomnożone przez 3–4 lata dziennej historii, jedno przeliczenie prognozy przetwarza gigabajty danych dla małych sieci i terabajty dla dużych. MySales obsługuje to poprzez równoległe pakowanie danych w wielu wątkach przetwarzania.
Etap 1: Ładowanie i przygotowanie danych
Proces prognozowania rozpoczyna się od załadowania wszystkich istotnych danych z systemu zarządzania bazą danych oraz z magazynu plików MySales (warstwy optymalizacyjnej redukującej obciążenie bazy danych przy dużych wolumenach).
Źródła danych obejmują:
- Historyczną sprzedaż, ceny, rabaty, stany magazynowe i dane paragonowe
- Hierarchię produktów i dane podstawowe artykułów
- Hierarchię geograficzną i dane podstawowe sklepów
- Źródła zewnętrzne: pogodę, wskaźniki makroekonomiczne i ceny konkurencji
W przypadku nowych sklepów lub nowych SKU system uzupełnia brakującą historię danymi ze sklepów lub produktów analogicznych. Zawsze priorytetowo traktuje rzeczywiste dane sprzedażowe, stosując dane analogowe wyłącznie dla okresów, w których brak jest informacji o nowym podmiocie.
Po załadowaniu dane są grupowane w paczki przetwarzania i dystrybuowane do wielu równoległych wątków (zazwyczaj od 3 do 9) w celu współbieżnego obliczania.
Etap 2: Oczyszczanie sprzedaży i ekstrakcja linii bazowej
Zanim silnik obliczy trend i sezonowość, musi oddzielić rzeczywiste wzorce popytu od szumu wprowadzanego przez zmiany cen, rabaty, promocje i braki magazynowe.
Pierwotne oczyszczanie sprzedaży usuwa efekty tych czynników wpływających z historycznych danych. Zamiast całkowitego odrzucania dotkniętych okresów, MySales izoluje i kwantyfikuje wpływ każdego czynnika. Pozwala to zachować możliwie najwięcej historii sprzedaży, co jest kluczowe w środowisku handlu detalicznego, gdzie częsta rotacja asortymentu pozostawia niewiele nieobjętych zmianami okresów.
Okresy ze znaczącymi stratami sprzedaży spowodowanymi brakami magazynowymi lub niewystarczającym poziomem zapasów są wykluczane na każdym etapie analizy.
To podejście do oczyszczania umożliwia wiarygodne oszacowanie trendu i sezonowości nawet przy historii sprzedaży obejmującej zaledwie jeden rok. Gdy pozostają luki, silnik uzupełnia je danymi z wyższych poziomów hierarchii prognozowania.
Obliczanie sezonowości wykorzystuje jednocześnie obie metody:
| Metoda | Kiedy jest stosowana |
|---|---|
| Sezonowość multiplikatywna (indeks sezonowy) | Zmienność sezonowa skaluje się wraz z ogólnym trendem |
| Sezonowość addytywna | Wahania sezonowe pozostają stałe niezależnie od trendu |
System automatycznie wybiera metodę najlepiej dopasowaną do każdej kombinacji. Na poziomie grupy produktów obliczana jest również sezonowość średniej ceny grupowej, uwzględniająca tendencję do zbieżności sezonowych szczytów popytu z wyższymi średnimi cenami.
Obliczanie trendu następuje kolejno. Po usunięciu efektów ceny, rabatu, promocji i sezonowości silnik oblicza ogólny trend wzrostu lub spadku sprzedaży, a także średnią i medianę sprzedaży na podstawie oczyszczonych danych.
Etap 3: Analiza czynników wpływających i wybór modelu
Po ustaleniu czystej linii bazowej silnik przystępuje do kwantyfikacji wpływu poszczególnych czynników zewnętrznych na popyt.
Analiza zależności ocenia relację między sprzedażą a każdym czynnikiem wpływającym: ceną, rabatem, pogodą, wskaźnikami makroekonomicznymi (np. kursem walutowym), efektami kanibalizacji i innymi. Przy ocenie każdego czynnika system selektywnie usuwa wpływ bardziej dominujących czynników (np. promocji i sezonowości), aby wyodrębnić rzeczywisty efekt.
Przy analizie zależności cenowej system ocenia również trendy inflacji lub deflacji w celu oczyszczenia historycznych cen z nominalnych zniekształceń.
Szereg czynników jest analizowany oddzielnie dla niskiego, średniego i wysokiego sezonu. Na przykład elastyczność cenowa lodów różni się istotnie między zimą a latem. Silnik wychwytuje te różnice automatycznie, generując współczynniki specyficzne dla sezonu zamiast uśrednionych wartości rocznych.
Następnie silnik wypełnia dwie macierze:
- Macierz historycznych predyktorów — zaobserwowane wartości wszystkich czynników wpływających w okresie historycznym, w tym wskaźniki pochodne, takie jak stosunek ceny w bieżącym okresie do średniej ceny z poprzednich okresów.
- Macierz przyszłych predyktorów — prognozowane wartości każdego czynnika przy zróżnicowanym podejściu: proste średnie lub mediany dla jednych czynników, wartości prognozowane dla innych oraz dane wprowadzone przez użytkownika (macierze asortymentowe, przyszłe ceny, kalendarze promocyjne) tam, gdzie są dostępne.
Współczynniki korelacji są obliczane na podstawie tych macierzy, a silnik automatycznie formuje kandydackie modele prognozowania z czynników wykazujących istotny wpływ na sprzedaż.
Testowanie i wybór modelu następuje kolejno. Silnik ocenia zarówno automatycznie wygenerowane, jak i wstępnie skonfigurowane modele pod kątem historycznej dokładności sprzedaży. Podczas oceny wykluczane są okresy niewystarczających zapasów oraz promocji o największym wpływie. Wybierany jest model o najlepszej historycznej dokładności.
Etap 4: Generowanie i dopracowanie prognozy
Po wyborze najlepszego modelu silnik generuje prognozę na przyszłe okresy. Seria procedur udoskonalających zapewnia następnie stabilność i wiarygodność wyników.
Procedury po wygenerowaniu prognozy obejmują:
- Obliczanie minimalnych wartości sprzedaży w celu zapobiegania nierealistycznie niskim prognozom
- Analizę autokorelacji błędu modelu, wykorzystywaną do korekty prognozy na nadchodzące tygodnie
- Obliczanie predyktora AutoMult, który (w zależności od konfiguracji) koryguje prognozę na kolejne 6 tygodni na podstawie stosunku średniej prognozy do średniej rzeczywistej sprzedaży z ostatnich 3 tygodni
Uplift promocyjny jest obliczany w następnej kolejności. Silnik stosuje współczynniki upliftów generowane przez zestaw sieci neuronowych lub wykorzystuje dane z porównywalnych historycznych promocji. Uplifty są dostosowywane do indywidualnych cech każdej kombinacji SKU–sklep, z zastosowaniem minimalnych i maksymalnych limitów zapewniających stabilne wyniki dla produktów z ograniczoną historią promocyjną.
Po obliczeniu upliftów promocyjnych silnik przeprowadza równoważenie modelu z uwzględnieniem wszystkich czynników wpływających. Ten krok jest niezbędny, ponieważ efekty cenowe i promocyjne często wykazują wysoką korelację, a równoważenie zapewnia wewnętrzną spójność łącznej prognozy promocyjnej.
Opcjonalna funkcja kontroluje dystrybucję prognozy promocyjnej między sklepami. Jeśli prognoza promocyjna dla dowolnego sklepu odchyla się o więcej niż +/-30% (konfigurowalnie) od średniej grupy, system koryguje ją do wymaganego zakresu. Zapobiega to zawodnym prognozom dla sklepów z ograniczoną historią, w których nie udało się wiarygodnie określić elastyczności cenowej i innych zależności.
Etap 5: Zapas bezpieczeństwa, korekty krótkoterminowe i końcowe wyniki
Po skompletowaniu głównej prognozy silnik oblicza wyniki operacyjne wymagane do uzupełniania zapasów.
Zapas bezpieczeństwa jest obliczany jako odchylenie standardowe błędu prognozy w stosunku do historycznej sprzedaży. Aby uwzględnić sezonową zmienność zmienności popytu, prognoza jest dzielona na trzy zakresy (wysoki, średni i niski sezon), a zapas bezpieczeństwa jest obliczany oddzielnie dla każdego z nich.
Korekta prognozy krótkoterminowej doprecyzowuje prognozę na kolejne 2 tygodnie (konfigurowalnie) na podstawie średniej dziennej sprzedaży z ostatnich 7–14 dni okresów dostępności produktu. System ładuje dane sprzedażowe z ostatnich 28 dni, identyfikuje dni dostępności produktu i oblicza średnią dzienną sprzedaż oddzielnie dla okresów promocyjnych i niepromotocyjnych. Szczyty sezonowe są wykluczane, a średnie są korygowane o sezonowość, cenę, pogodę i inne czynniki. Wynik jest odzwierciedlony w predyktorze Daily Adjustment.
Dodatkowe wyniki końcowego etapu:
| Wynik | Przeznaczenie |
|---|---|
| Korekta prognozy głównej | Uwzględnia ręczne nadpisania wprowadzone przez użytkownika |
| Rekomendacje cenowe | Wyznacza optymalne punkty cenowe pod kątem przychodów lub marży |
| Szacowanie historycznego efektu ekonomicznego | Kwantyfikuje potencjalne zyski ze wzrostu sprzedaży, identyfikuje straty sprzedaży z nieznanych czynników oraz szacuje potencjalne redukcje zapasów |
Specjalne algorytmy
MySales zawiera dedykowane algorytmy dla dwóch scenariuszy, w których standardowe metody prognozowania nie sprawdzają się.
Nowe produkty bez przypisanych analogów. Gdy nowy produkt wchodzi do asortymentu i nie przypisano mu analogu, silnik wykorzystuje sprzedaż przeciętnego produktu w grupie asortymentowej. Koryguje tę linię bazową o elastyczność cenową grupy z uwzględnieniem konkretnej ceny nowego produktu oraz stosuje dodatkowe ograniczenia zapewniające stabilne i dokładne wyniki.
Rozszerzanie dystrybucji. Gdy produkt przechodzi z podzbioru sklepów do szerszego zasięgu, silnik generuje prognozy dla sklepów bez wcześniejszej historii sprzedaży.
Rozważmy produkt sprzedawany wcześniej w 10 z 30 sklepów w regionie. Na podstawie dobrych wyników category manager wprowadza go do wszystkich 30 sklepów. Dla 20 nowych sklepów silnik czerpie z dynamiki sprzedaży na poziomach SKU–region, grupa produktów–region i grupa produktów–sklep, aby wygenerować prognozę tam, gdzie nie istnieje historia sprzedaży na poziomie sklepu.
Pełny zestaw czynników wpływających używanych przez system jest definiowany przez użytkownika i może być indywidualnie dostosowywany do specyficznego środowiska danych i wymagań biznesowych każdego detalisty.
Co to oznacza dla Twojego biznesu
Silnik prognozowania MySales został zaprojektowany, aby wyeliminować manualny wysiłek i domysły charakteryzujące tradycyjne planowanie popytu. Każdy etap procesu — od oczyszczania danych, przez wybór modelu, po obliczanie upliftów promocyjnych — działa automatycznie i adaptuje się do specyficznych cech każdej kombinacji SKU–sklep.
Dla detalistów klasy enterprise przynosi to trzy konkretne rezultaty. Po pierwsze, dokładność prognoz wzrasta, ponieważ silnik analizuje każdy istotny czynnik popytowy i wybiera najlepszy model spośród setek kandydatów — zadanie niemożliwe do powtórzenia manualnie przez zespół analityków na dużą skalę. Po drugie, efektywność operacyjna rośnie, ponieważ cały proces — łącznie z zapasem bezpieczeństwa i korektami krótkoterminowymi — działa od początku do końca bez interwencji człowieka. Po trzecie, przypadki brzegowe są obsługiwane systematycznie: premiera nowego produktu, rozszerzanie dystrybucji i produkty z ograniczoną historią — wszystkie otrzymują dedykowane algorytmiczne rozwiązania zamiast doraźnych obejść.
Rezultatem jest fundament prognozowania, który skaluje się wraz z Twoim biznesem — od setek SKU po setki tysięcy — bez proporcjonalnego zwiększania liczebności zespołu planistycznego czy złożoności procesów.