• +420 603 279 940
  • info@e-shop.report

Automatizovaný výpočet cen produktů

Machine learning (strojové učení) v praxi, aneb automatizovaný výpočet cen produktů. Na základě vašich obchodních dat, výkonu produktu v poslední době a také na základě dat z cenových porovnávačů, vám vypočteme ideální cenu vašeho produktu.

V tomto článku budeme hovořit o:

1. Co je to machine learning (strojové učení) a jak jej využíváme?

2. Jaké hodnoty vstupují do výpočtu modelu a proč si myslíme, že jsou dobré?

3. Jak se výpočet řeší technicky - funkce MS SQL 2017

4. Jaký je výsledek a jak s ním pracovat?

5. Jaké jsou plány do budoucna?

 

1. Co je to machine learning (strojové učení) a jak jej využíváme?

 

Na úvod trošku teorie, abychom se dostali na stejnou rovinu a vysvětlili si pojmy z této oblasti :) Trošku nudnější část, ale určitě stojí za to přečíst :)

Machine learning (strojové učení), je podoblast umělé inteligence. Zabývá se tvorbou algoritmů a technik, které se mohou naučit předpovídat data, přizpůsobit se změnám okolního prostředí a zefektivňovat tak svou činnost na základě předchozích vstupů.

Zdroj: IT Slovník

V e-commerce se využívá například k zobrazování doporučených produktů, k tzv. personalizaci stránek, na základě chování jedince se porovná chování skupiny a doporučí se produkty, které byly nejvíce stejnou skupinou nakupovány a tím se zvyšuje pravděpodobnost koupě produktu, objednání, atd.

Základem je tedy model chování, který je vytrénovaný z miliónů (čím více dat, tím lépe) vzorků a neustále se precizuje - trénuje. Model chování obsahuje určité vstupní parametry na základě kterých je vytvořen.

V E-SHOP.REPORTU využíváme strojové učení k predikování vývoje ceny produktu - vezmeme miliony záznamů dat konkrétního zákazníka služby a jeho produktů, a na základě kritérií, viz níže, dokáže strojové učení vypočítat, jaká by měla být, vzhledem k okolnostem, vývoji, nová cena produktu. Tato cena se mění každý den, neboť do modelu vstupují stále nové hodnoty a model se učí.

 

 

2. Jaké hodnoty vstupují do výpočtu modelu a proč si myslíme, že jsou dobré?

 

2. 1 Obchodní hodnoty

 

Z hlediska obchodního pracujeme s těmito hodnotami, které jsou pro výpočet modelu povinné a je tedy nutné je do služby posílat z vašeho IS - některé však dokážeme dopočítat sami:

  • prodejní cena
  • nákupní cena
  • přirážka
  • marže
  • sleva
  • skladová dostupnost
  • doporučená maloobchodní cena
  • a další, které vzhledem ke know-how nemohu vyjmenovat :)

 

Proč tyto všechny hodnoty? Jistě budete souhlasit, že produkt, kterého máme mnoho kusů na skladě a neprodává se moc dobře, potřebuje nějakou pobídku. Pokud tedy ceny porovnávačů, viz níže, dovolí, jsme s prodejní cenou výše a naše cenová pozice není první místo, pak máme prostor pracovat se snížením ceny s ohledem na sklad - ne vždy tedy vyšší hodnota znamená, že je to dobře - pokud mám vyšší množství na skladě a produkt se neprodává, model cenu navrhne snížit. Samozřejmě nikdy nejde pod navrženou marži a přirážku a už vůbec ne pod nákupní cenu :)

 

2.2 Výkon produktu

 

Dalším kritériem vstupujícím do modelu je výkon produktu - rozhodně se budeme snažit více prodat produkt, o který je velký zájem, budeme tedy mírně zvyšovat cenu a budeme sledovat, co se s produktem a jeho prodejností stane - pokud jeden z klíčových ukazatelů, viz níže, poklesne, například počet prodejů nebo zobrazení, stane se produkt neatraktivní a pomalu budeme cenu zpět snižovat, až najdeme míru vybalancování a přesnou cenu, která produktu svědčí.

Pracujeme s těmito hodnotami:

  • zobrazení za posledních 30 dnů
  • zobrazení od data vložení produktu
  • nákupy za posledních 30 dnů
  • nákupy od data vložení produktu
  • datum posledního zobrazení na e-shopu
  • datum posledního nákupu na e-shopu
  • a další, které vzhledem ke know-how nemohu vyjmenovat :)

 

2.3 Cenové porovnávače

 

Jak už bylo řečeno výše, rozhodně je nutné pracovat s daty cenových porovnavačů, protože určitě nechcete, aby vám algoritmus přepsal vaši cenovou pozici, např. na Heuréce, na horší :) Také se pracuje s minimální cenou a pokud by se stalo, že algoritmus by nastavil cenu nižší, je na to správce upozorněn a záleží pak na jeho rozhodnutí, zda povolí. V případě, že vaše pozice na cenu, např. na Huréce, není první, pak rozhodně máte zájem, aby se s cenou pracovalo.

Celý algoritmus pracuje tak, že stahuje denně data všech dostupných porovnavačů (no, to je plán, zatím je tam pouze Heuréka :) a zobrazuje vám historii vývoje ceny u vás, na Heuréce, prostě všechny data přehledně na jednom místě v jednom grafu, kde můžete sledovat korelace mezi jednotlivými křivkami.

Z cenových porovnávačů nás nejvíce zajímají tato data:

  • minimální cena
  • pozice dle ceny
  • průměrná pozice
  • počet kliknutí
  • CPC
  • celkové náklady
  • počet objednávek
  • a další, které vzhledem ke know-how nemohu vyjmenovat :)

 

Data se vám pak zobrazí na takovémto přehledeném grafu, kde je možno jednotlivé křivky vypínat a zobrazovat, dle potřeby:

 

Lze přidat prakticky jakýkoliv z výše uvedených ukazatelů, které chcete zobrazovat.

Na grafu jde vidět, jak predikce reagovala na pokles minimální ceny na Heuréce a na snížení Nákupní ceny. Vzhledem k minimálnímu množství na skladě a počtu zobrazení predikce vyhodnotila, že je potřeba snížit Prodejní cenu a doporučila to - trendová (červená) křivka jde směrem dolů, lze tedy očekávat, že predikce bude doporučovat i nadále snížení Prodejní ceny, dokud nebude spokojena a prodeje produktu stoupnou, pak začne opět cenu produktu mírně zvyšovat - produkt probudí z letargie a nakopne ho, a pak jen udržuje ve výkonu.

Zelený pruh ukazuje, kde se s predikcí pohybujeme, i toto pole se dá nastavit, pokud správce potřebuje, stačí omezit zdola nebo shora tolerancí např. 10% a predikce se tomu přizpůsobí - defaultně však doporučujeme nechat predikci pracovat minimálně měsíc, aby se mohla naučit správně reagovat :)

 

3. Jak se výpočet řeší technicky - funkce MS SQL 2017

 

Ve verzi MS SQL 2017 existuje nově funkce PREDICT(), která dokáže pracovat s vygnerovaným modelem v binárním tvaru. Na serveru vůbec nemusí běžet Machine Learning Services, stačí zapnout podporu externích scriptů a pomocí jazyka R napsat funkci Logistické regrese - tedy funkci, která odhaduje pravděpodobnost určitého jevu na základě vstupních proměnných. Našim jevem je, jak již jistě chápete, vývoj ceny a predikce vývoje.

Díky inženýrům z Microsoftu stačí matematickou funkci logistické regrese obalit příkazem PREDICT a máme ceny :) Kdyby to bylo tak jednoduché, jistě by to dělal každý :) Jenže ono není. Je potřeba mít znalosti z e-commerce, jak co spolu koreluje, a to je velmi důležitý vstup do modelu. Rozhodně nemohu vždy dát za pravdu premie, že číslo 1 je, jako nižší, horší než číslo 10, například při cenové pozici na Heuréce je rozhodně 1 lepší, než 10, tedy je to vyšší = lepší, pozice. U prodejů to však platí naopak - 10 je rozhodně lepší, než 1 :) Proto je potřeba pravděpodobnost jevu napřed upravit a najít společného jmenovatele. To bez základů matematiky a znalosti jevů v e-commerce, nenapíšete.

Proto jsem nesmírně hrdý na náš tým, že po 3 měsících usilovné práce máme vytrénované první 3 modely na predikci a můžeme na 3 významných klientech porovnávat jejich výsledky. Ne, predikce zatím neposílá ceny přímo do e-shopu, ale na dashboard správce, který sám rozhodne, zda cenu zapíše do IS nebo ne. Snad nebude trvat dlouho a naše modely budou zcela autonomně zapisovat ceny přímo do e-shopu :)

 

4. Jaký je výsledek a jak s ním pracovat?

 

Nápovědy a doporučení jsou v přehledech produktů definovány zatím pouze ve formě upozornění - vždy při procházení seznamu právě prohlížených, dnes nakoupených či top nebo hero produktů uvidíte zelenou či červenou šipku, co doporučuje predikce - snížit či zvýšit cenu?

Je pak už na správci, zda doporučení využije nebo ne. A pokud ano, opět se vše projeví zpětne v predikci, jednak zaznamenáním změny v prodejní ceně a korelaci v navazujících křivkách a samořejmě informace, jaký to mělo efekt - zvýšilo se nějaké KPI? Zvýšil se počet zobrazení? Prodejů? Pokud ano, pak predikce napověděla právně. Pokud ne, má správce možnost cenu označit jako nedobře predikovanou a algoritmus se z toho poučí (no, měl by :).

 

5. Jaké jsou plány do budoucna?

 

Kromě toho, že chceme moduly vypilovat tak, že budou autonomně zapisovat ceny přímo do e-shopu, chceme pravidelně rozšiřovat vstupní hodnoty modelu.

Například jeden náš klient má prodeje závislé na počasí - určitě by bylo super doplnit do modelu, jaké produkty s jakou cenou se prodávají v horku a jaké v chladnu - to už je ale skutečně velmi pokročilá automatizace cen :)

 

  • Pavel Kramný
  • Machine learning, Nová funkce, Predikce, Strojové učení, Automatizace cen, Výpočet ceny

Diskuse k tématu: Automatizovaný výpočet cen produktů

Zkušební verze - nic neplatíte

30 denní zkušební verze. Připojte si svůj e-shop nebo se jen podívejte na demo data, co E-SHOP.REPORT vše umí - a budete to chtít také :)