Typickým příkladem jsou vánoční položky. Deset měsíců se neprodávají, v listopadu a prosinci prodej doslova vystřelí. Hlavním úskalím zde bylo naučit model, aby rozpoznal sezónní prodeje od náhodných prodejů nebo outlinerů. V tréninkovém okně (33 měsíců) měla položka takové vrcholy pouze dva, takže model je snadno považoval za šum a dál předpovídal nuly.
Co přesně selhalo
Součástí každé vizualizace je graf znázorňující:
Řešení:
Rozšířil jsem dataset o nové signály, které modelu pomohli pochopit sezónnost:
Max. hodnota vrcholu: informace o maximálním dosud zaznamenaném vrcholu.
U části sortimentu model tlačil predikce k nule. Položky s velmi nízkým obratem a dlouhými sériemi nul rychle „naučily“ model bezpečné pravidlo → předpovídej stále nulu.
Co přesně selhalo:
Řešení:
Tento problém byl jedním z nejtěžších. U některých položek – zejména když se spojí nízké objemy a promo akce – se nulové predikce stále tlačily do popředí. Pomohla až změna normalizačního postupu (individuální přístup pro každou feature) a přidání nových kontextových features.
Typickým příkladem je drobná elektronika, většinu roku se prodává po jednotkách, ale jakmile e-shop spustí týdenní slevu −20 %, objednávky vyskočí o desítky kusů a po skončení kampaně zase spadnou. V datasetu byli slevové kampaně zastoupeny poměrně často – některé položky je měli i několikrát do roka.
Co přesně selhalo:
Řešení:
Opět jsem využil feature engineeringu a přidal datasetu nové informace:
Další test jsem tedy provedl již s těmito úpravami. Na první pohled jsou globální rozdíly malé,u některých metrik se výsledky dokonce mírně zhoršily. Je to logické, položky se sezónním, promo nebo sporadickým prodejem tvoří jen zlomek objemu, takže v souhrnných číslech je „převáží“ zbytek sortimentu. Zhoršení je tedy spíše pravděpodobnostní šum než reálný propad kvality. Vizuální kontrola potvrdila zlepšení modelu u predikce problémových položek.
Je také potřeba mít na paměti, že jde o stochastický problém – model se při každém tréninku trochu liší. Pokud je nastavení správné, tyto odchylky zůstávají malé — typicky v řádu jednotek procent.
| Metrika | Predikce | Nová predikce | ||
|---|---|---|---|---|
| Hodnota (ALL) | Hodnota (Item) | Hodnota (ALL) | Hodnota (Item) | |
| WAPE | 28.4178 | 42.0787 | 29.9001 | 39.1834 |
| RMSE | 46.3156 | 21.1877 | 52.8141 | 20.9628 |
| R² | 0.9004 | 0.9072 | ||
| MAPE | 52.4587 | 59.802 | ||
| ROBUST | 0.4986 | 59.7858 | 0.5259 | 62.4322 |
| STABLE | 0.3677 | 0.3702 | ||
IČO: 172 28 018
DIČ: CZ 172 28 018
Data Box ID: ykwdnxf
sales@neebile.cz
Jičínská 226/17, Praha, Žižkov, PSČ 130 00 Česká republika
(910) 658-2992
© 2025 Vytvořeno DigitalWays