Извлекаем 900 000 рублей прибыли в месяц из школьной математики

Не бывает точных моделей, но бывают полезные.

Кому только не приписывают

В этой статье мы, пользуясь знаниями из школьной программы по математике и программой первого семестра по экономике, будем увеличивать прибыль розничного бизнеса.

Помимо этого нам потребуются данные для анализа, их проще всего взять на маркетплейсе через API. Как именно — смотрите предыдущую статью. Конечно, данные можно и из другой системы взять, принцип не поменяется.

Давайте начнем с примера. Предположим, у нас есть некоторый товар в некотором количестве, для определенности — 1000 чайников с закупочной ценой 1000 рублей, и мы хотим их выгодно продать. А что значит выгодно?

С одной стороны, всю тысячу можно распродать за день по 1050 рублей. Это будет приносить 50 тысяч рублей в день, но только один день. Если можем закупать товар быстро и без ограничений — почему бы и нет?

С другой стороны, мы можем продавать их по 5 тысяч рублей за штуку. За десять лет нет-нет да и распродадим. Зато 4 миллиона маржи. В таком случае наши чайники будут приносить нам 1095 рублей в день. В этом случае правильно было бы еще учесть стоимость замороженных денег и стоимость хранения товара. Какая сейчас ключевая ставка, 16% ? Получается, у нас заморожено, в среднем, 500 тысяч рублей в течение 10 лет. Это минус 800 тысяч рублей. А стоимость хранения по тарифам Озона получилась больше 4 миллионов рублей. Работаем в минус, и это мы еще не все затраты учли.

Пример, пусть и искуственный, наводит на мысль, что оптимальная стратегия где-то посередине.

Давайте вспомним про зависимость спроса от цены товара, её еще называют эластичностью спроса и часто иллюстрируют такими графиками.

Графики из статей про эластичность спроса
Графики из статей про эластичность спроса

Мне это совершенно не нравится по двум причинам. Во-первых, потому что спрос отложен по оси X, а цена — по оси Y. Но ведь в нашем случае цена влияет на спрос, а не спрос на цену! Если быть точнее, спрос на цену тоже влияет, но это уже цепь обратной связи в процессе поиска оптимальной стратегии продавцом. В дальнейшем на иллюстрацииях по оси X будет отложена цена, по оси Y — спрос. В нашей модели это уместнее и нагляднее. Во-вторых, графики стремные по своему оформлению.

Давайте построим свой график зависимости спроса от цены.

Изменяем цену - изменяется количество покупок
Изменяем цену - изменяется количество покупок

Где-то на этом графике существуют себестоимость единицы товара и розничная цена единицы товара. Давайте их отметим.

Себестоимость синяя, текущая цена - красная
Себестоимость синяя, текущая цена - красная

А где тут прибыль? Давайте найдем прибыль на нашем графике. Но прежде нужно разобраться с размерностями осей. По оси X у нас цена в рублях, это понятно. По оси Y — величина спроса. Что такое спрос? В нашем случае — количество проданных товаров за единицу времени. Получается, прибыль тоже будет за единицу времени.

Прибыль за единицу времени - это площадь такого прямоугольника
Прибыль за единицу времени - это площадь такого прямоугольника

На графике прибыли за единицу времени соответствует площадь прямоугольника, высота которого — спрос при текущей розничной цене, а ширина — разница между розничной ценой и себестоимостью. Получается, наша задача — максимизировать эту площадь.

А на что мы можем повлиять?

Уменьшить себестоимость товара — уже нет, он уже лежит на складе. Раньше думать нужно было.

Подвинуть вверх красную кривую спроса — на первый взгляд, нет, это состояние рынка. На второй взгляд — да, будем вкладываться в продвижение — кривая поползет вверх, но и себестоимость поползет вправо. Оставим это за рамками статьи.

Остается розничная цена. Её-то мы можем менять как хотим (для корректности стоит вспомнить РРЦ, но это не наш случай)

Стоит немного увеличить розничную цену на нашем графике — и прибыль за единицу времени вырастет. Новая цена — светло-зеленая.

Красный прямоугольник немного больше синего. Он шире, но меньше по высоте
Красный прямоугольник немного больше синего. Он шире, но меньше по высоте

С концепцией разобрались. Пора переходить к формулам и обработке данных.

Для начала, как понять, какая форма у нашей кривой спроса и предложения? На самом деле, нам это не нужно. Что нам действительно нужно — это знать её значение в какой-нибудь точке и угол её наклона. По сути, нам нужен дифференциал функции в точке, соответствующей какой-нибудь, пусть не оптимальной, но разумной цене. Будем использовать линейное приближение.

Если вернуться к графику, это равнозначно использованию вместо оригинальной функции её касательной.

Синяя касательная потно прилегает к графику в окрестности точки касания
Синяя касательная потно прилегает к графику в окрестности точки касания

Предположим, у нас есть история изменения цены товара и история заказов. Эти данные можно получить из API маркетплейсов. Что делать, если цена не менялась, рассмотрим потом. На графике это будет выглядеть следующим образом:

Так менялись продажи при изменении цены
Так менялись продажи при изменении цены

Думаю, стоит отметить, что данные нужно квантовать по времени, а не по цене. Если товар продавался по цене 1800 три дня — то это три точки на графике, а не одна. Надеюсь, суть понятна. Теперь этот набор точек нужно превратить в прямую. Этот процесс называется аппроксимация.

Аппроксимация точечных значений прямой
Аппроксимация точечных значений прямой

Прямая задается уравнением

Формула прямой
Формула прямой

Чтобы найти A и B, которые соответствуют синей прямой на нашем графике, можно воспльзоваться методом наименьших квадратов. Он немного выходит за рамки школьной программы обычной школы, насколько я помню, но в его основе все-таки школьная математика. В общем, A и B можно найти по нашим точкам по формулам:

Формула для A
Формула для A
Формула для B
Формула для B

Дальше все просто, нужно найти точку на этой прямой, которая будет соответствовать максимальной площади. Там по сути нужно формулу площади написать, найти производную, приравнять её к нулю и решить полученное уравнение. Не буду утомлять вас формулами.

Таким образом, мы посчитали некоторую оптимальную цену. А как быть, если нет исторических данных о изменении цены товара и его влиянии на продажи? Тут мы пошли таким образом: собрали статистику, какие значения может принимать коэффициент A на реальных данных для товаров, где эта история есть. И получилось, что подавляющая часть значений находится в пределах от -15 до -5. Тогда для увеличения цены мы будем брать -15, а для уменьшения — -5. И если даже с такими коэффициентами мы найдем более выгодную цену, то велика вероятность, что цену действительно нужно изменить, и это увеличит прибыль.

В итоге, работает ли это?

А это вопрос веры, я верю, что да. Доказать это надежно и убедительно — задача гораздо более сложная. Выделить только влияние фактора такого динамического ценообразования в реальности очень сложно. Но с другой стороны, есть убедительные доводы в пользу того, что это должно работать. Смотрите выше. Ну и мы это уже внедрили и протестировали, менеджеры по продажам в большинстве случаев были согласны с выводами такого алгоритма.

Сам же алгоритм на аккаунте с выручкой в 60 миллионов рублей в месяц, говорит: “Слушай меня и я увеличу прибыль за месяц на 900 тысяч рублей”.

Хотите протестировать на своих данных? Это можно, этот алгоритм — одна из двух десятков диагностик сервиса catalog.app. Регистрируйтесь, и посмотрим.

1
1 комментарий
Комментарий удалён модератором

Да, все так. Я пробовал прикинуть, насколько это повлияет на результат.
В общем, мало влияет, и на это есть несколько причин:
1. Мы максимизируем прибыль за единицу времени. Для этого и так необходимо, чтобы товар продавался побыстрее, а не лежал на складе.
2. В модели есть и другие допущения, которые в большей степени влияют на результат. Например, допущение о эластичности спроса, когда нет реальных данных о его эластичности.

Ответить