Ведение
В этой статье я хочу рассказать об одном улучшении, которое технически не очень сложно, но, я думаю, очень полезно. Идея в том, чтобы при продаже через интернет, можно было задать алгоритм изменения цены на товар. О том, как я к ней пришёл и что сделал для её реализации, будет эта статья.
Продать старый компьютер
Всё началось со старого компьютера. Точнее с того, что я решил его продать и вместо него купить новый. Продать мне хотелось как можно дороже, чтобы меньше пришлось доплачивать за новый.
![money](https://habrastorage.org/getpro/habr/post_images/7ed/895/157/7ed895157d661f3b1aa096c58970e42d.jpg)
Порывшись в интернете, я быстро определил диапазон цен на компьютер который я собирался продать. В общем, разместив объявление о продаже на бесплатном сайте, я стал ждать своего покупателя. Я подождал неделю…. потом ещё неделю…., я ждал, ждал, пока не истек срок моего объявления.
![tree](https://habrastorage.org/getpro/habr/post_images/314/960/2a4/3149602a49f27ae63ac778338859d4f3.jpg)
Срок истек, а компьютер я не продал. Но я не отчаивался, не получилось продать целиком, можно продать по частям. Посмотрев, почем продают запчасти в интернете, я разобрал компьютер и выставил на продажу то из чего он состоял. История повторялась, объявление висело, а покупателя не было. Тогда я стал снижать цену…
![man](https://habrastorage.org/getpro/habr/post_images/b21/938/7db/b219387db2a0a8179dc3722745f63552.jpg)
Но снижать каждый день очень нудное занятие. В итоге, я выставил минимальную цену на комплектующие и стал ждать. И покупатель пошел… Я бы даже сказал, что он побежал. Люди звонили на телефон и просили никому не продавать, обещая приехать как можно быстрее.
![people](https://habrastorage.org/getpro/habr/post_images/8b7/a9e/f4c/8b7a9ef4ca97039b401dd4f633931598.jpg)
В итоге все мои комплектующие были проданы за пару дней. Люди были довольны, а я не очень. Мне казалось, что я где-то сильно продешевил. Возникло ощущения, что я так сильно опустил цену, что меня буквально затопило покупателями. Алгоритм продажи явно где-то дал сбой. И сбой он дал в тот момент, когда мне надоело каждый день опускать по чуть-чуть цену.
И тут я задумался…
![monkey](https://habrastorage.org/getpro/habr/post_images/636/510/63b/63651063b9715022a78345f85ea093b5.png)
Идея
А что если расширить функционал сайта объявлений. Сделать так, чтобы цена на продаваемый товар автоматически снижалась каждый день!? В таком случае я бы нашел того покупателя, который бы согласился заплатить больше всех за мои комплектующие. Далее я решил обобщить эту идею. Продавец, в принципе, должен иметь возможность задавать алгоритм поведения цены на свой товар. Это с одной стороны избавит его от необходимости ручной корректировки цены, а с другой повысит интерес к предлагаемому товару, так как потенциальные покупатели начнут отслеживать цену в надежде купить по более выгодному предложению. Алгоритм изменения цены как бы помогает найти продаваемому товару своего покупателя. В итоге это должно упростить продажу и получить максимальную выгоду от сделки.
![hands](https://habrastorage.org/getpro/habr/post_images/7b9/12a/c5e/7b912ac5e315ae390b3c997f5e0d08e8.png)
Реализация
Следующим шагом был прототип. Я использовал C#, JQuery и Bootstrap, хотя на работе я пишу на Java и Angular. Очень хотелось сделать быстро и посмотреть, что получиться, отсюда и такой выбор технологий.
В процессе работы пришлось познакомиться с Google Maps API и способами сжатия и изменения размеров фотографий на стороне клиента при загрузке их пользователем.
- C Google Maps API я познакомился тут: developers.google.com/maps/documentation/javascript/tutorial
- Изменение размера фотографий их сжатие я сделал с помощью проекта: github.com/rossturner/HTML5-ImageUploader
Время шло, работа кипела и вот вуаля:
- YouTube: www.youtube.com/watch?v=3eoCZW-3tlo
- Исходный код лежит здесь: github.com/AlexKorole/BuyAndSell2
Алгоритмы
Был сделан сайт. На страничке продавца пользователь может загрузить информацию о товаре и выбрать алгоритм изменения цены. В данной версии доступны следующие алгоритмы:
- Снижение цены от максимальной к минимальной
- Повышение цены от минимальной к максимальной
- Случайное изменение цены, в диапазоне от минимальной к максимальной
- Фиксированная цена, равная максимальной
- Фиксированная цена, равная минимальной
На скриншоте показан выбор алгоритмов:
![pageAlg](https://habrastorage.org/getpro/habr/post_images/698/473/f2e/698473f2e182176f51f561f5b9bfe588.png)
Так же можно указать шаг изменения цены. К примеру: на 10 рублей каждые 3 секунды или 100 рублей каждый день.
![pageStep](https://habrastorage.org/getpro/habr/post_images/be4/18e/f8f/be418ef8f990b0df456ef2955ef00879.png)
На страничке покупателя можно увидеть предлагаемые товары и цену на них. Для того, чтобы увидеть алгоритм изменения цены была добавлена кнопка “Админ”.
![pageBuyer](https://habrastorage.org/getpro/habr/post_images/f1b/92b/d00/f1b92bd006bb95c3528918e2e0f3fed7.png)
Если кнопку “Админ” выключить, то колонка “Статус цены” не будет отображаться. Фактически это скроет от покупателя тип выбранного алгоритма изменения цены.
Заключение
В этой статье я решил рассказать об идее, которая долгое время не давала мне покоя. Возможно, она имеет какой-то смысл и сможет сделать интернет продажи более гибким и удобным инструментом или, напротив, она так и останется ещё одной идеей, которой не суждено быть воплощенной в жизнь. В любом случае, я считаю, что она интересна и достойна публикации.
Комментарии (28)
Rusli
14.08.2018 16:51+1Ваша схема хорошо работает только в том случае, если товар у продавца в единственном экземпляре. А если у вас 100 экземпляров, то уже непонятно, как использовать.
Вот у авиакомпаний в этом деле громадный опыт. Цены меняются от многих параметров одновременно, включая даже такой, сколько людей просто посмотрели цену на данный рейс.alex_29 Автор
14.08.2018 17:06Спасибо за комментарий. При оптовых покупках тоже должно работать. Голландский аукцион оптовый сам по себе. Идея же в том, чтобы найти цену по которой будут брать товар. Как только покупатель стал покупать товар, можно зафиксировать цену, либо увеличить интервал, после которого цена поменяется.
Rusli
14.08.2018 17:15Как только покупатель стал покупать товар, можно зафиксировать цену, либо увеличить интервал, после которого цена поменяется — да, хорошая мысль, но надо максимально упростить процедуру задания всех этих настроек. Вспомните аукционы на Ебей, разумная же система. Но популярностью не пользуется, почти все покупают по схеме Buy Now, а почему? Да просто не хочется играться, всем хочется нажать на одну кнопку и все.
alex_29 Автор
14.08.2018 17:24Так я как мог, так и написал в прототипе. В том то и дело, что это не Аукцион, а просто некая автоматизация функции изменения цены. Вы выставили на продажу товар, задали диапазон цен на него и установили функцию изменения цены. Я на вскидку придумал 5 простых функций, можно добавить ещё пару более сложных. Покупатель по прежнему видит кнопку "Buy Now", о том что цена может измениться он не обязан знать, а продавцу облегчили жизнь, т.к. теперь ему не надо каждый день в ручную цены менять. (про голландский аукцион я привел пример, так как о нем написали в первом комментарии, суть идеи в том, что это не аукцион)
alex_29 Автор
14.08.2018 17:05Для тех, кто хочет потрогать вживую, развернул демо-сайт:
Страничка покупателя: http://gloryln.ru/test/
Страничка продавца: http://gloryln.ru/test/Seller.html
berez
14.08.2018 17:31-2На авито продавец, у которого некруглые цены, вызывает подозрение — уж не дурачок ли…
В продаже все просто. «Средняя цена» на авито — это цена, по которой люди берут уже неохотно. Соответственно, если хотим продавать долго и нудно — ставим «среднюю» цену. Можно даже выше среднего поставить — покупатель все равно найдется с некоторой вероятностью (мало ли, вдруг он именно за вашим товаром охотится). Готовимся долго и нудно продлевать объявления.
Хотим продать побыстрее — скидываем процентов 20. Через пару дней, если никто не прибежал — еще процентов 5-10. И на этом уже можно остановиться. Если за неделю не ушло — возможно, товар просто плохо продается. Если снижать дальше, на халяву набегут перекупы.
ЗЫ: «Бардовая сумка» — порадовал старика… В комплекте — гитара, растянутый свитер и, собственно, сам бард? :)alex_29 Автор
14.08.2018 17:47Не совсем понял про "Бардовая сумка". Мы с Вами знакомы?
berez
14.08.2018 18:48На картинке у вас была «бардовая сумка». Только почему-то бордового цвета. Сейчас почему-то картинки не грузятся — видимо, вы их с народа удалили или куда-то перенесли.
Вряд ли мы знакомы.alex_29 Автор
14.08.2018 20:52Извините, я не видел ошибки. Все проверили, а на картинки никто не посмотрел перед публикацией. Там и видео с ошибкой. Как вы узнали что картинки с народа? Я думал, что при публикации все копируется в хранилище хабра.
berez
14.08.2018 21:28Как вы узнали что картинки с народа?
«Источник изображения» посмотрел. Там были ссылки на народ.ру. Возможно, копировалка не сработала (если она автоматическая).
nikee
15.08.2018 12:44Если будет известно про такой функционал на определенном сайте, то все будут выжидать снижения цены до минимума и в итоге вы так же продадите свой товар по минимальной цене или надеяться на то, что товар купят по какой то средней цене в период ожидания. Зачем же тогда терять время если товар можно продать сразу по минимальной цене.
alex_29 Автор
15.08.2018 13:36Я это учел, для этого алгоритмов 5 штук ( их может быть и больше, я на вскидку просто взял самые очевидные). По-хорошему 3 из них существенны — один от max к min, другой от min к max, 3-ий — random. Покупатель не видит, какой алгоритм выбран для конкретного товара. Отсюда, угадать как двигается цена, без ежедневного мониторинга нельзя. Второй момент — покупателей много и они не могут все быть в сговоре и ждать. В какой-то момент один из ни купит, а другие останутся ни с чем. Отсюда, покупает тот, кому эта вещь реально нужна, а не спекулянты, которые покупают с целью дальнейшей перепродажи. Так же можно усложнить алгоритмы, сделать, к примеру, переменный шаг изменения цены, или менять направление — от снижения к росту и от роста к снижению на каких-то временных интервалах.
nikee
15.08.2018 15:06Это все выглядит прекрасно с точки зрения продавца, а покупатель просто уйдет к другому продавцу где такой же товар дешевле.
alex_29 Автор
15.08.2018 15:18Ну статья не о том, как сделать товар дешевле. А о том, как можно автоматизировать изменение цены на товар. Если брать алгоритм снижения цены, то сначала покупатели возможно будут уходить, но по мере снижения будут покупать и у продавца. Потом, далеко не всегда берут потому что дешевле.
berez
15.08.2018 15:38все будут выжидать снижения цены до минимума
Все — не будут. Люди разные, мотивы и обстоятельства у них тоже разные.
Кому-то надо срочно купить, а в магазинах нету. И пофиг на цену.
Кто-то выбирает товар поближе — чтоб через весь город не переться.
Кто-то увидет магические буквы «цена снижена» и купит не задумываясь.
Кто-то побоится, что товар по хорошей цене уплывет к другому, и купит не дожидаясь минималки.
Да и вообще. Кто сказал, что покупатель при взгляде на объявление сразу увидит, какую минимальную цену решил назначить продавец? Вовсе не очевидно, что такие вещи будут отображаться в интерфейсе покупателя.
Да даже если и будут. Можно выставить минимальную цену в 1 рубль. Покупатели в этом случае сразу поймут, что по минималке товар, скорее всего, не уйдет — кто-нибудь обязательно купит его раньше. А значит, надо торопиться, иначе уведут из-под носа. Фактор недостатка времени — излюбленный прием втюхивателей всех мастей, фактически классика жанра. «Спешите! Только сегодня! Завтра станет поздно!». :)alex_29 Автор
15.08.2018 15:53"все будут выжидать снижения цены до минимума" — это Ваша фраза из другого комментария, а не моя. Если я правильно понял Ваш комментарий, вы подтверждаете что товар купят и создастся некий ажиотаж. Далее, цена меняется сама по себе, в приемлемом для меня, как продавца, диапазоне цен. Никаких лозунгов, рекламных компаний и ложных покупателей я не предлагаю. Все происходит максимально прозрачно. У меня была первоначально идея, что как только покупатель выражает желание купить, превращать продажу в аукцион на повышение, но я от этого решил отказаться, т.к. это подрывает доверие к продавцу и создаёт ситуацию типа "втюхать". Я же предлагаю решение win-win, т.е. довольны и продавец и покупатель. Я же описал ситуацию в статье, где цена товара упала так сильно, что он ушел за бесценок. Вы же предлагаете продавать как можно дешевле, чтобы покупатель был в выигрыше, а продавец в проигрыше. Но при таком раскладе продавцы просто не будут приходить на эту площадку и будут искать другие места, либо вовсе перестанут продавать. Ну и в целом, статья не о том, как продать дешево. А об автоматизации изменения цены на товар!
berez
15.08.2018 16:06«все будут выжидать снижения цены до минимума» — это Ваша фраза из другого комментария, а не моя.
Нет, это не Моя фраза. Я такого не говорил.
И весь дальнейший ваш текст — это спор с каким-то другим комментарием. По крайней мере, я нигде не предлагал продавать как можно дешевле.alex_29 Автор
15.08.2018 16:11Извините, я не посмотрел на ник. Я думал, что это nikee. Но про втюхивателей я вроде туда ответил. Ну и даже по Вашему первому комментарию. Идея в автоматизации продажи. Стремление сэкономить время продавцу, чтобы вместо ручной настройки и перестройки цен, можно было просто задать алгоритм и ждать продажи. Причем интервал изменения ценя может быть как большим так и маленьким — это не обязательно 1 или 2 дня.
berez
15.08.2018 19:47Стремление сэкономить время продавцу, чтобы вместо ручной настройки и перестройки цен, можно было просто задать алгоритм и ждать продажи.
Т. е. цель «продать побыстрее» не приоритетна? Тогда можно сэкономить время продавцу вообще по максимуму: выставить одну фиксированную цену и ждать продажи. :)
А если не удалось продать за месяц и объявление ушло в неактивные — снижаем цену и перевыставляем объявление. И так — до победного конца. :)alex_29 Автор
15.08.2018 20:13Сэкономить время — имеется ввиду, что вместо того, чтобы в ручную, в зависимости от того как идут у него продажи, заходить на сайт и менять цену на товар, заняться чем-то другим, пока алгоритм изменения цены сделает это за него. Причем цена не обязательно должна меняться каждый день. Пусть меняется раз в неделю или в месяц. Я предлагаю машине довести дело до победного конца. Ну, а если хочется продать быстрее, то меняем алгоритм и пусть цена меняется каждый час, в этом случае продашь быстрее. Идея в автоматизации изменения цены. Зачем делать все руками, если это может сделать автомат?
berez
16.08.2018 16:02Да понял я, понял. :)
Просто удивляюсь тому, насколько далеко вы зашли в реализации идеи, но при этом как-то упускаете практический аспект.
Вещь нумер раз: цена покупки. Звонит вам покупатель: «Алё, Александр? Я по вашему объявлению с авито, хочу купить славянский шкаф за наличку. Когда можно забрать?».
Вопрос: по какой цене уходит шкаф?
Если цена выставлена вручную — никаких проблем, открыли объявления, посмотрели. А вот если цена меняется автоматически? Да еще каждый час? Да еще, простихоспидя, рандомно? Будете у покупателя спрашивать? :)
Вторая вещь — собственно, настройки алгоритмов. Вам-то, понятно, интересно со всем этим поиграться и вы хорошо представляете, как оно будет работать. Но случайному продавцу все это — темный лес, зато одна из самых насущных проблем — понять диапазоны цен на похожий товар. Вот если бы у вас был какой-то анализатор списка товаров, который бы предлагал начальный и конечный диапазон цен — было бы удобно. А если еще и алгоритм наиболее подходящий бы предлагал — вообще было бы прекрасно.
Зачем делать все руками, если это может сделать автомат?
Вопрос несколько короче — зачем вообще менять цену? :)
Я пока вижу только одно «удобство» — не надо придумывать точную цену. Установил диапазон, выбрал алгоритм — и радуешься. В остальном от вашего подхода одни неудобства.
Вернемся к самому началу статьи. Выставили «нормальную» цену — не продается. Выставили минимальную цену — набежали покупатели. Так может, именно цену-то и надо «оптимизировать»? Сделать некого виртуального ассистента по подбору цены, чтобы на основании сведений о товаре и пожеланий клиента предлагал несколько цен на выбор (продавать дорого и долго, средненько, дешево и быстро)?alex_29 Автор
16.08.2018 19:56Не совсем понимаю, зачем менять каждый час? Хотя бы раз в день. Я просто написал демо, в котором можно выставлять любой интервал. На практике минимальный шаг — это раз в день, а может и раз в неделю. Отсюда, когда вам позвонит покупатель, цена не будет меняться во время звонка, он вам скажет ту цену, которую он видит.
Потом с алгоритмом: можно сделать все настройки по умолчанию и все что надо будет сделать это его выбрать. Ничего, кроме диапазона цен, настраивать не надо будет.
Я не вижу неудобств если цена меняется раз в неделю, даже при изменении цены раз в 3 дня неудобств не возникает. Если менять цену каждую секунду, минуту или час, то будут неудобства. Но как мне написать демо и показать его, если цена будет меняться только раз в день или неделю? Поэтому в демо версии есть любые интервалы.
Анализатор цен — довольно трудоемкая задача и я считаю, что менее затратно гулять в пределах диапазона. Ну и всем известные компании предлагают вам такие анализаторы или инструменты для анализа.
Виртуальный ассистент — это некий робот, настройками которого можно манипулировать и который можно подозревать в неадекватных настройках. Тут же минимум скрытых манипуляций и подозрений.
berez
16.08.2018 20:51Не совсем понимаю, зачем менять каждый час?
Ну, у вас такой вариант прозвучал, а я представил себе ситуацию. :)
На практике минимальный шаг — это раз в день, а может и раз в неделю.
Раз в неделю — это уже практически статичная цена. :)
Анализатор цен — довольно трудоемкая задача и я считаю, что менее затратно гулять в пределах диапазона.
Для реализации в рамках торговой платформы это несложно — все данные-то под рукой. Всего-то и надо посчитать максимум, минимум и медиану по цене.
Виртуальный ассистент — это некий робот, настройками которого можно манипулировать и который можно подозревать в неадекватных настройках.
С таким подходом и алгоритм можно подозревать в манипуляциях — мало ли как его на стороне торговой площадки реализуют. :)alex_29 Автор
16.08.2018 21:571) про каждый час я написал в ответе на ваш комментарий, где говорилось о желании продать как можно быстрее. В статье про час ни слова нет.
2) Для пользователя цена действительно может казаться статичной, почему нет. Главное, что она меняется во времени, а скорость изменения это выбор каждого.
3) я не призываю делать анализатор, если вы считаете что это просто, напишите об этом.
4) можно все подозревать в манипуляциях, одно дело робот, другое дело функция.
martin__marlen
15.08.2018 16:39Точно, а еще можно к двойному аукциону добавить стандартные доли товарной группы, продавать на них фьючерсы, хеджироваться…
alex_29 Автор
15.08.2018 16:48Я отказался от аукционов в данной идее. Сложно отследить игроков (продавец может сам себе цену набивать через разные ip). В комментарии я просто описал мысли, которые мне приходили в процессе и от которых я отказался. Была ещё мысль добавить кнопку "Куплю за...", чтобы продавец сразу видел хотя бы одного покупателя. И вариации с "Куплю за..." — в одном случае все видят, что кто-то хочет купить за определенную цену, в другом предложения приходят только продавцу и никто не видит их. От "Куплю за..." я отказался, предположив, что покупатель будет навязывать более низкую цену, чем та, за которую он готов купить. Т.е. я за возможность автоматической настройки изменения цены во времени. Остальное в данной статье не рассматривается.
Hardcoin
Вы переизобрели голландский аукцион. Тем не менее идея хорошая, она явно нашла бы своего пользователя, если, например, Авито её бы реализовал.
alex_29 Автор
Спасибо за комментарий, есть сходство с голландским аукционом. Вы правы, я больше задумался о том, что эту модель можно применить в сети интернет, не как аукцион, а как сайт по продажам.