Dynamicka cenotvorba / pricing engine

Dynamicka cenotvorba / pricing engine
« kdy: 22. 02. 2019, 19:10:08 »
Viem ze toto nie je nic nove na svete a plno spolocnosti to uz riesilo a prislo s nejakymi navrhmi. Osobne vsak zatial neviem o ziadnom rieseni ktore je mozne aplikovat na konkretneho uzivatela a nie na vecsiu skupinu a s pouzitim pred-vypocitanych cien.

Prakticky ma zaujima, ci je vobec realne vytvorenie dynamickeho enginu ktory by vypocital cenu produktov na zaklade definovanych podmienok pre kazdeho uzivatela samostatne?

Problemom su query ktore pouzivaju cenovy rozsah alebo radenie podla ceny. Pokial je pocet produktov vo vysokych cislach tak by to znamenalo nutnost nacitania vsetkych produktov, vypocitania cien pre kazdy samostatne a nasledne aplikovanie filtra/podmienok query. Co je samozrejme mozne, ale odpoved by asi nebola vygenerovana v dostatocne rychlom casovom useku na to aby to bolo realne pouzitelne v produkcii.

Je vobec nieco take mozne? Realne ma napada akurat nejaka forma paralelizmu a shardovania ale komplexnost takehoto riesenia mi pride znacne vysoka do realnej prevadzky, respektive by to vyzadovalo asi tim odbornikov nieco take dat dokopy, jednotlivec by to asi sam nenakodil.


Re:Dynamicka cenotvorba / pricing engine
« Odpověď #1 kdy: 22. 02. 2019, 19:41:14 »
O takhle obecném zadání se dá napsat jediné – ano, obecně to možné je. Napište alespoň, v jakých se pohybujete řádech – co je počet produktů ve vysokých číslech? Je to 100 nebo 100 milionů? Jak jsou definované ty podmínky, na základě kterých se cena počítá? Kolik je současně pracujících uživatelů? Jak přesně by podle vás vypadalo to filtrování nebo řazení podle ceny? Nějak mi to nejde dohromady s tím vysokým počtem produktů – přece nechcete uživateli zobrazovat 100 milionů produktů seřazených podle ceny. Nedává smysl ukazovat uživateli víc než malé desítky položek najednou, ve větším množství nebude uživatel nic hledat ručně, ale musí mít nástroj na zpřesnění filtru.

alex6bbc

  • *****
  • 1 428
    • Zobrazit profil
    • E-mail
Re:Dynamicka cenotvorba / pricing engine
« Odpověď #2 kdy: 22. 02. 2019, 21:43:34 »
Uz se dneska nakupuje pomoci mobilu, waze sleduje jizdu auta, v kazdem okamziku se budou analyzovat data od kazdeho jednoho uzivatele a hned se na to muze reagovat.... Zmenou ceny, reklamou, nasmerovanim kam jet atd.

Re:Dynamicka cenotvorba / pricing engine
« Odpověď #3 kdy: 23. 02. 2019, 10:14:22 »
Shardovanie? Paralelizmus? Prečo? Veď to znie jednoducho.

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Dynamicka cenotvorba / pricing engine
« Odpověď #4 kdy: 23. 02. 2019, 18:17:40 »
Takovou cenotvorbu pro konkrétní uživatele jsem dělal nedávno a není na tom nic komplikovaného. Ovšem měl jsem jen asi 5k položek, tedy nic moc.


Re:Dynamicka cenotvorba / pricing engine
« Odpověď #5 kdy: 24. 02. 2019, 17:29:59 »
Tazatel píše, že bude problém seřadit produkty podle individualizovaných cen, což je potřeba bez ohledu na to, kolik produktů nakonec na jedné stránce ukážu.

Samozřejmě je klíčové vědět, jak se individualizovaná cena stanoví (zda se například sahá do dalšího systému či se pro stanovení ceny používá např. poloha uživatele) a dále jak dlouhou platnost bude takto stanovaná cena mít (podle toho se pak může cena předpočítat dopředu nebo cachovat).

Bez znalosti těchto parametrů nelze říct, zda je problém jednoduchý (jedno VIEW v databázi) nebo složitý (propojení několika systémů).

Nakonec si myslím, že ve skutečnosti ty ceny nebudou tak úplně individualizované, ale budou to zase jen ceny pro skupinu přičemž akorát bude ta skupina definovaná dynamicky (například zákazníci, kteří vygenerovali určitý obrat apod.)

Re:Dynamicka cenotvorba / pricing engine
« Odpověď #6 kdy: 24. 02. 2019, 19:48:32 »
Tazatel píše, že bude problém seřadit produkty podle individualizovaných cen, což je potřeba bez ohledu na to, kolik produktů nakonec na jedné stránce ukážu.
K čemu je to potřeba? Dejme tomu, že mám nějakou špatně roztříděnou kategorii, ve které mám 500 produktů. Uživateli jich na první stránce chci zobrazit 20 s nejnižší cenou – pak potřebuju mezi těmi 500 produkty najít 20 s nejnižší cenou pro uživatele a ty pak setřídit podle skutečné ceny. K tomu nepotřebuju spočítat individuální cenu pro všech 500 produktů, protože u velké části z nich nejspíš dokážu určit rovnou, že se na první stránku nevejdou. Ty individuální ceny se asi budou pohybovat v nějakém pásmu, nepředpokládám, že by jeden produkt stál pro jednoho uživatele 10 Kč a pro druhého milion.

Santa

Re:Dynamicka cenotvorba / pricing engine
« Odpověď #7 kdy: 24. 02. 2019, 19:58:24 »
co tak do samostatnej tabulky prepocitavat pri zmene podmietok pre usera (insert update) custom ceny per user a nasledne tuto tabulku pouzit v joine a ak je poziadavka na order podla ceny, tak orderovat nad tymto joinom ?

ako tu uz bolo napisane, vsetko zalezi od realneho objemu userov a produktov a este aj od pouzitej databazy