Моделирование рынка при динамическом ценообразовании
Введение
При разработке первой версии проекта была допущена ошибка в архитектуре: при каждой итерации расчетов происходили запросы в БД, поэтому симулятор получился очень медленным. Было принято решение отказаться от данной концепции и задействовать во второй версии только структуры языка Python и возможности библиотеки Pandas. Это привело к ускорению примерно в 20 раз, при этом базовая логика осталась неизменной. Теперь можно строить модели для некольких тысяч клиентов. Первая версия сохранена только для ознакомительных целей и может содержать ошибки и неточности в коде!
Шаг 1
Приступаем к разработке прототипа модели. Для примера возьмем рынок сыра. Представим, что у нас нет в распоряжении истории продаж за предыдущие периоды, поэтому мы будем опираться только на данные, которые можно найти на просторах Интернета. Их статистическая точность в данном случае не важна, так как по факту они лишь ориентиры при настройке модели. Исходя из среднестатистической нормы потребления сыра в нашей стране рассчитываем общий объем продаж, среднесуточное потребление на одного человека, также сформируем структуру реализации по видам продукта. Количество населения не равно количеству покупателей. Зная пропорции распределения одиночек и разных видов семей, можно посчитать приблизительное количество потенциальных покупателей в городе. Со структурой ритейлеров, которые занимаются продажей сыров, дело обстоит несколько сложнее. Фактический пересчет всех магазинов в городе – дело весьма трудоемкое, но можно руководствоваться процентами, которые занимают федеральные торговые сети во всей стране. Если тот или иной ритейлер отсутствует в конкретном регионе, его долю можно отдать местным магазинам.
Шаг 2
Данная модель является лишь демонстрацией, поэтому все цены получены путем умножения базовых значений (декабрь 2019 года) на ежедневные коэффициенты. Было подготовлено три сценария цен: заморозка значений всеми игроками рынка, динамическое изменение, одновременное повышение. Первый и второй варианты очень маловероятны в реальной жизни, тем интереснее использовать их при моделировании.
Шаг 3
Поочередно выбираем каждый из сценариев для формирования сводного прайс-листа на год и выгружаем цены в отдельные файлы csv. Полученные данные необходимо перенести в проект.
Шаг 4
В модели настраиваем стартовые параметры, которые будут влиять на состав рандомных групп, структуру торговых сетей города, временной диапазон расчета. Симуляция рынка запускается на группах в 3000 человек. Промежуток моделирования - 1 месяц. В основе принятия решения лежат следующие факторы: данные о пользователе из системы, баланс продукта, предыдущая цена, по которой он приобретал товар, а также текущие цены на рынке, исходя из выбранного сценария.
Шаг 5
После консолидации датасетов с данными о продажах строим интерактивный управленческий отчет для посика инсайтов в ценовой политике на предстоящий год.
Оценка такого способа моделирования рынка
Плюсы
- Возможность запуска моделирования даже на холодном старте, то есть не нужны исторические данные
- Возможность видеть в динамике как свою позицию на рынке, так и конкурирующих фирм
- Возможность видеть, как изменение в ценах отражается на объемах продаж (в кг и руб.)
Минусы
- Сложность (или невозможность) применения при большой номенклатуре
- Невозможность применения для товаров ситуационного спроса
- Необходимость переработки модели для товаров сезонного спроса
- Необходимость относительно точного угадывания ценовой политики конкурентов
- Ресурсоемкость выполнения расчетов для большой группы клиентов