Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Введение
Производствам и оптовым компаниям постоянно необходимо отвечать на вопросы
"Что производить?", “В каком количестве?” и “Какие цены устанавливать?”
В последние несколько лет основной инструмент нахождения на них ответа - использование таблиц Excel для планирования спроса и производства. Но увеличение количества данных
о позициях и рост скорости перемен затрудняет его, и, к тому же, огромный объем информации остается не учтен. Естественным решением становятся алгоритмы анализа данных, которые начинают играть все большую роль.
В статье мне хотелось бы рассказать, как в вышеперечисленных вопросах может помочь анализ данных, осветить основные проблемы его внедрения и использования.
Чего можно достичь?
Бизнесу и менеджменту интересны в первую очередь показатели и решение проблем,
а не сложные алгоритмы.
Рассмотрим основные направления улучшений:
Повышение доступности позиций при тех же складских остатках на конец недели/месяца
Увеличение прибыли и выручки за счет удовлетворения непокрытого ранее спроса, оптимизации цен и рекомендаций по улучшению позиций
Расчет спроса и его эластичности относительно различных характеристик товаров
Сегментация позиций по их характеристикам
Отсутствие издержек на наем группы аналитиков (достаточно объяснить существующему персоналу как работает система, почему и когда ей можно доверять)
Пункты 3,4 - в том числе и несуществующих позиций.
Это без учета решения проблем наподобие “Толком не понятно, как устроен сбыт.
Что-то продается хорошо, а что-то не очень. Есть склад и все просто работает”
(реальный ответ собственника).
Почему существующий подход (Excel) не может так?
Как уже было сказано во введении - банальный рост потоков информации. Остается только упускать детали, нанимать больше сотрудников, более дорогостоящих и умных (причем потребность не будет даже линейно зависеть от объема данных), либо экспериментировать
с использованием программных средств автоматизации.
Допустим, нанимаем людей. Люди, несомненно, в задаче, которую они решают здесь и сейчас крайне хороши, но много ли задач они могут изучать одновременно каждую неделю?
Как минимум, это требует существенных трудовых затрат.
Почему анализ данных?
Сказать, что раньше ничего подобного не было - явно солгать. Всегда была статистика, всегда кто-то извлекал полезную информацию из данных. Но что тогда изменилось?
Собственно, как и везде: данных стало больше, вычисления стали дешевле.
Если раньше мы могли в основном применять только статистику, то сейчас стало доступно огромное число других инструментов (машинное обучение и его направления, например, глубинной обучение). Они, банально, оказываются точнее. А в некоторых случаях позволяют решать принципиально новые задачи.
Основные решаемые задачи
Планирование спроса. Производим ровно столько, сколько нужно, повышаем прибыль
и снижаем остатки на складах. Производство имеет большие мощности и заинтересовано производить в том количестве, которое будет необходимоОптимизация цен
Определение эластичности спроса товаров по различным товарам
Перераспределение товаров между каналами сбыта. Товара, то, может, произвели достаточно, но вот если он находится на складе в другом конце страны, а спрос надо удовлетворить здесь и сейчас - мы в беде
Определение зависимости эластичности спроса на товары от различных параметров
Сегментация позиций и изучение особенностей спроса на них
Причем при определенных математических манипуляциях во всех пунктах можно изучать метрики для товаров, которых еще не существует (с некоторой потерей точности, но это того стоит).
Аналитика создает проблемы
В большинстве случаев с аналитикой ассоциируют большое количество статистики, графиков. Попробуйте во всем этом разобраться. Выглядит это так, будто одну головную боль (Excel) заменили на другую, но побольше. Потому люди и боятся аналитики.
А математики-программисты, которые ее создают, только возмущаются, что человек
“просто не хочет думать головой”.
Сам я всегда математике учился. Но вот не понимаю этого. Программы должны упрощать
и улучшать жизнь. Они должны подсказывать решение и давать краткое и простое объяснение “почему так?” (а уже потом, если человеку недостаточно, позволять ему во всем этом копаться).
Да, это сложно. Алгоритмы порой сложно интерпретировать простым языков.
Но мы на то и математики, чтобы решать такие проблемы…
У нас “нет данных”
Не могу говорить за всех, но в большинстве случаев они все же есть (если мы говорим
о производствах и оптовых компаниях). Все используют CRM, ERP системы и другие системы электронного учета. У почти каждой из них есть свое API, по которому можно загружать данные, причем никакого вреда вашим системам не будет (иначе, у компаний разработчиков этих систем давно были бы проблемы). Тут данные о продажах, запасах, клиентах, закупленных, использованных материалов и т. д. Поверьте, для математика это ценный клад
(пусть его и необходимо сначала немного почистить).
А алгоритмы со временем не сломаются?
Есть проблема деградации моделей машинного обучения со временем. Решается она
не так сложно - контролируем модели, считая статистики на ее предсказаниях. Если начинает работать хуже – обучаем на новых данных. Получается, что ухудшение работы модели в пределах небольшой погрешности.
Можно ли им доверять?
Вот тут, пожалуй, основная проблема. Она не решена полностью. Но и люди далеко
не рациональны (просто нам как-то надежнее им доверять и сразу понятно, кого винить).
Существует прямая зависимость между точностью и интерпретируемостью алгоритмов:
Статистические методы. Хорошо интерпретируемы (математиком), но точность меньше,
чем у остальныхМашинное обучение. Алгоритмы, работающие на основе похожести объектов. Да, строгих доказательств нет, но все же есть понимание, почему алгоритм выдает именно такой результат
Глубинное обучение (нейронные сети). Черный ящик. Если данных реально много, как правило, наиболее точный. Стоит отметить, что сейчас активно выходят статьи
в направлении интерпретации принципов их работы
Что делать? Например, комбинировать алгоритмы, строить эвристики. Если методы в комбинации показывают существенно различные предсказания - стоит задуматься об их точности. Так можно застраховаться от провальных предсказаний. Вообще, тут есть достаточно способов, но в рамках данной статьи их не уместить.
Что дальше?
Затронута только самая верхушка. Каждый раздел, на самом деле, достоин отдельной статьи. И если такой материал будет полезен, рассмотрим более подробно.
Сейчас с командой тестируем прототип решения для оптимизации управления ценообразованием и прогнозирования спроса на данных компаний для подтверждения ценности. Несколько позже поделимся, каких цифр удалось достичь нам.
P.s.: это моя первая статья на habr. Не претендую на идеальность. Хотел лишь сделать полезный материал.