Modele krzywych popytu — model liniowy
W realnym świecie krzywe popytu czyli funkcje liczby sprzedanych sztuk od ceny są zależne od tak wielu czynników, że nie sposób opisać ich analitycznie.
Mimo to rozważenie kilku prostych teoretycznych modeli popytu jest bardzo użyteczne w kontekście szacowania błędów pomiarowych, potencjalnej rentowności wdrażania dynamicznego wyceniania oraz budowania intuicji związanej z tym tematem. Modele analityczne mają jeszcze jedną zaletę, można je parametryzować co z kolei pozwala na dostrzeganie zależności, które nie byłyby łatwe do wykrycia wśród surowych danych pomiarowych.
Dlatego ten wpis poświęcony będzie przedstawieniu kilku prostych modeli krzywych popytu i omówieniu ich w kontekście optymalizacji cen.
Modele popytu:
- Liniowy [s =-|α|p+β]
- Wykładniczy [s =αe^-βp]
- Wymierny [s =1/(α+p^β)]
- Nieelastyczny [s =αθ(β-p)]
W podanych wzorach `s` oznacza szybkość sprzedaży, `p` to cena, α oraz β są parametrami modelu, a θ schodkową funkcją Haviside (przyjmuje 0 dla ujemnych argumentów, 0.5 w zerze i 1 dla dodatnich argumentów).
W każdym z przypadków celem jest znalezienie szybkości zarabiania czyli iloczynu szybkości sprzedaży oraz marży (oznaczymy go przez `g`) oraz określenie jak jego maksimum zależy od podanych parametrów.
Zanim do tego przejdziemy wprowadzimy jeszcze dwa parametry: `p_0` czyli cenę produkcji lub zakupu z hurtowni, oraz `m` marżę równą `p-p_0`.
Model liniowy

Przedstawiona na wykresie niebieska linia prezentuje sprzedaż. Widzimy, że maleje ona wraz z wzrostem ceny, jest to dla wielu produktów racjonalne założenie. Pionowa czerwona linia to cena poniżej której sprzedaż się nie opłaca. Po lewej stronie od czerwonej linii widzimy spadek zysku oznaczonego pomarańczowo poniżej zera. Widać, że z jednej strony przy takim modelu windowanie ceny do maksimum jak i obniżanie jej w okolice zerowej marży są złymi taktykami. W tym przypadku lepiej działa znalezienie złotego środka który plasuje się równo między punktem zerowej sprzedaży i zerowej marży, a konkretnie tam gdzie zielony wykres czyli pochodna zysku osiąga wartość zerową.
Ciekawym pytaniem jest jak algorytm do wyznaczania optymalnej ceny poradziłby sobie w tym przypadku. W celu zbadania tego założymy, że akty zakupu mają rozkład Poissona. Rozsądnie założymy też, że sprzedawca ma pewne wyobrażenie dotyczące rozsądnej ceny i ustalił ją na 0.4 czyli dwu-krotność ceny hurtowej. Zakładamy, że zarówno sprzedawca jak i algorytm nie znają parametrów krzywej popytu. Zadaniem algorytmu jest zbadać krzywej popytu jednocześnie zmieniając cenę na optymalną. Za jednostkę czasu przyjmujemy czas w jakim do tej pory sprzedawało się 60 sztuk towaru. Dzięki temu uzyskujemy rozsądny kompromis między redukcją błędów pomiarowych a szybkością dochodzenia do najlepszej ceny.
Zobaczmy jak algorytm poradził sobie z tym zadaniem.

Zaczęliśmy od ceny 0.4. Nie wiedząc nic o podaży przy innych poziomach cenowych algorytm zaczął od testowania poziomu 0.3. Zauważywszy bardzo słabą sprzedaż dokonał korekty i sprowadził cenę 0.42. Tutaj wynik był nadspodziewanie dobry, bo w wyniku błędu pomiarowego nagle kupiło znacznie więcej osób niż zwykle. Cena poszybowała do 0.75 co z kolei ponownie przełożyło się na spadek sprzedaży. Warto zwrócić jednak uwagę, że i tak jest ona lepsza niż przy początkowej cenie. Kolejne trafienie w 0.6 dało rekordowe zyski po czym algorytm zaczął badać już tylko punkty z zakresu cenowego od 0.55 do 0.62 nie oddalając się w bardziej ryzykowne poziomy cenowe. Owszem dalsze sprzedawanie po tych skrajnych cenach przyniosłoby więcej dokładnych danych, ale wiąże się z kosztem alternatywnym nie uzyskiwania maksymalnego zysku.
Przy założonych parametrach zysk w jednostce czasu przy sprzedaży po początkowej cenie 0.4 wynosił 0.12, po podniesieniu ceny do 0.6 wzrósł do 0.16, średni zysk podczas procesu optymalizacji ceny (12 jednostek czasu) wyniósł 0.136, a jeśli zakończylibyśmy optymalizację na ostatniej cenie jaką badaliśmy, to średni zysk wynosił by 0.158. Poniżej wykres który prezentuje jak zachowywał się zysk w czasie procesu optymalizacji ceny.

Podsumowując w omawianym przykładzie na danych testowych pokazaliśmy jak używając algorytmu do dynamicznej optymalizacji cen można podnieść zysk o 31%. Taki wynik uzyskano prowadząc sprzedaż tego samego produktu w takich samych pozostałych warunkach. Różnica polegała jedynie na tym, że w początkowo cena była wyznaczona intuicyjnie, a na koniec w oparciu wyniki pomiarów.
Pomimo, że sprzedaż trwała tyle czasu, że bez zmiany ceny sprzedano by 720 sztuk, a podczas procesu optymalizacji ceny sprzedano tylko 533 sztuki towaru, a więc sprzedaż spadła o 26%, to jednocześnie marża wzrosła o 78% co w konsekwencji pozwoliło podnieść zysk o 31%. Czasami opłaca się odwrotne działanie, czyli obniżenie ceny i podniesienie sprzedaży, to zależy z której strony optimum startujemy.
W kolejnym artykule omawiamy model wykładniczy, w którym ekscytujące jest to, że nie ma górnej granicy ceny powyżej której już nikt nigdy by nie kupił.
