Navrhuji tento algoritmus a rád bych zde prověřil, jak je možné
ho dále zdokonalit.
Algoritmus pro vyhodnocování počtu dní, kdy konkrétní zboží dojde na skladě
Pro spolehlivé upozorňování vidím jako důležité 3 kroky:
- musíme vědět jak rychle se konkrétní zboží vyprodává
- v něm musíme zahrnout i sezónní výkyvy v prodejnosti
- upozornit potřebný počet dní předem, aby se zboží stihlo včas doobjednat a naskladnit
Pro odhad, kdy se konkrétní produkt vyprodá, je třeba brát
jen počet dní, po které je skutečně na skladě a lze koupit v e-shopu (dále budu
používat termín „dostupné“ zboží). Podělením počtu prodaných kusů počtem dní,
kdy bylo zboží dostupné, získáme průměrný počet kusů prodaných za den. Číslo by mělo být zaokrouhlené na 1-2 desetinná čísla
podle toho, jak často se zboží prodává (pozn. 0,01 znamená 4 prodané kusy za
rok). Příklad: zboží bylo dostupné 15.1.-4.2., tedy 20 dní, během
kterých se prodalo 10 kusů. 10/20=0,5 prodaného produktu za den.
Vliv sezónnosti
Aby algoritmus v únoru nedoporučoval objednávat počet kusů
zboží, který by odpovídal prodávanosti v předvánoční sezónně, je ideální
rozdělit rok na 365 dnů a sledovat průměrnou prodávanost v jednotlivých dnech v
loňském roce s tím, že bychom toto číslo
povýšili o procento růstu/poklesu, které očekáváme pro rok aktuální. Pokud
bychom tedy plánovali tento rok zvýšit prodeje o 10 %, vynásobili bychom čísla
v jednotlivých dnech 1,1krát. Příklad: zboží bylo dostupné všech 365 dní v
roce a prodalo se ho 200 kusů, tedy průměrně 0,55 kusů denně. Ale v březnu se
ho prodávalo průměrně jen 0,1 kusů za den, zatímco v listopadu 2 kusy denně.
Pokud by byl plán prodat o 10 % zboží více, počítali bychom, že chceme v
průměrný listopadový den letos prodat 2,2 kusu produktu.
Tento algoritmus je možné aplikovat u zboží které jsme
prodávali už v minulém roce. Co ale udělat u novinek?
Nové zboží
Jednodušší je varianta, kdy je nové zboží zbožím
nahrazujícím původní – třeba nová generace stejného produktu s menší obměnou –
v tom případě je možné nastavit, aby nové zboží podědilo vývoj prodejnosti
zboží nahrazovaného (pokud už nebudeme původní zboží prodávat).
Zajímavější to bude v případech, kdy se jedná o zcela nové
zboží. Pokud nejde zboží přirovnat k jinému zboží, aby podědilo vývoj
prodejnosti (třeba pro jistotu ponížený o určité procento), tak lze nejdříve
objednat zkušební množství a podle zájmu o něj pak doobjednat. Mohli bychom ale
také postupovat tak, že bychom jednotlivým dnům v roce přiřadili proporcionální
hodnotu celkových tržeb/marže za celý rok. Příklad: pokud bychom měli hlavní
sezónu před Vánoci a nízkou v březnu, tak bychom v březnových dnech dosahovali
např. 0,1 % celkových ročních tržeb, zatímco v listopadových dnech třeba 1 %. Každý
den v roce by tak měl určitou váhu a podle ní bychom věděli, jestli zboží
objednávat méně nebo více.
Toto řešení by bylo vhodné pro zboží, které má stejné sezónní
výkyvy, jako celý e-shop průměrně. To bude ale nastávat málokdy, proto navrhuji
zboží přiřadit ke konkrétní kategorii zboží a sledovat váhy dní během roku jen
této kategorie, protože bude sezónu zohledňovat mnohem efektivněji. Váhy
jednotlivých dní by se tak nepočítaly z tržeb/marže všeho zboží v e-shopu, ale
jen ze zboží ve stejné kategorii. Pozn.: pozor na to, aby statistiku
nezkreslovalo, pokud máme mimo sezónu zboží této kategorie vyprodané nebo jinak
nedostupné.
Váhy díky přiřazení ke kategorii mohou zpřesnit i
předpokládané prodeje u zboží, které není nové, ale často bylo v loňském roce
nedostupné a neměli bychom tak možnost váhy stanovit jinak. V tom případě
můžeme vzít prodejnost ve dnech, které známe a ostatní dny dopočítat podle vah
prodejnosti kategorie.
Objednání zboží, které se brzy vyprodá?
Řekněme tedy, že známe počty předpokládaných prodejů každého
zboží v našem e-shopu. Na základě toho jsme schopni zjistit, za kolik dní se
pravděpodobně které zboží vyprodá. U každého dodavatele bychom pak měli
evidovat počet dní, se kterým musíme počítat od objednání do naskladnění a
zveřejnění v e-shopu. Algoritmus by nás tak měl na nutnost doskladnění
upozornit v dostatečném předstihu, tedy počet dní pro objednání + počet dní pro
nashromáždění dostatečného množství zboží u jednoho dodavatele, aby mohlo být
objednáno.
Teď musíme ošetřit to, že u každého dodavatele objednáváme v
jiných časových rozestupech, na základě toho, kdy se nám nashromáždí tolik
zboží k objednání, abychom splnili podmínky minimální objednávky dodavatele,
aby se nám vyplatila doprava, nebo splnili jinou podmínku.
V administraci e-shopu by tedy měla být tabulka ke každému
dodavateli, ve které se bude hromadit seznam zboží k objednání, cílová částka
pro minimální hodnotu objednávky bez DPH, hodnota aktuálně připravované
objednávky a hodnota, za kterou ještě musíme doobjednat (minimální hodnota
mínus aktuální hodnota). Součástí této tabulky by měla být možnost zobrazit
ostatní zboží tohoto dodavatele, u kterého bude vždy počet dní, během kterých
se zboží pravděpodobně vyprodá (seřazené vzestupně) a označení důležitosti
konkrétního produktu – ideálně barevné ikonky např. TOP100, TOP300, TOP500
podle toho, jak je pro nás tento produkt důležitý z pohledu celkových
potenciálních tržeb/marže v následujícím období, třeba 1-2 měsíců. To nám
umožní rychle přidat další zboží do
objednávky tím, že budeme moci u každého produktu přidat počet kusů pro
objednání.
Pokud bychom chtěli systém ještě zdokonalit, mohli bychom si
zadat jak často chceme u kterého dodavatele objednávat (např. jednou za 30 dní)
a algoritmus může doporučovat přesný počet kusů zboží, který je třeba
doobjednat, aby vystačilo po potřebnou dobu. Dopočítal by zase množství na
základě loňské prodejnosti v těchto dnech a předpokládaného růstu.
Pokud tedy dosáhneme minimální hodnoty objednávky, ideální
je mít možnost exportu pro dodavatele, nebo si budeme muset vystačit s tím, že
objednávku přepíšeme do objednávkového systému dodavatele.
Na co bychom si měli dávat pozor?
Pokud je objednávek některého zboží málo, ale v objednávce
je vždy hodně kusů, může to s algoritmem negativně zamávat. Přeženu do na
příkladu: pokud se zboží celý rok neprodá žádný kus kromě jednoho dne – může to
být náhoda, která se nemusí opakovat ve stejném dni příští rok nebo ani měsíci či celý rok.
Stejně tak pokud je jen pár objednávek do roka po více kusech, může to být
náhoda, která nemusí znamenat, že se následující rok prodá ve stejném dni nebo
měsíci.
Jak algoritmus vylepšit?
Toto je zatím teoretická úvaha za použití selského rozumu,
která by využívala strojového učení a nesporně má mouchy. Určitě bude
potřebovat dozor s kritickým myšlením a budu muset ještě popřemýšlet, jak by
mohla fungovat lépe. Určitě by toho dost vyplynulo z praxe. Poradíte ještě před
implementací, jak by se dala zvýšit její spolehlivost?
Žádné komentáře:
Okomentovat