SAS corporate blog
Data Mining
Project management
17 October 2019

Оптимизация аптек: что мы сделали с помощью математики



Оказалось, что аптечный бизнес достаточно прост в плане старта (аптека крупной франшизы открывается чуть ли не по механике «далее-далее-ок»), но достаточно сложный в управлении. При этом таким он не кажется. Сложная часть в управлении запасами, то есть в поставке лекарств, медсредств и прочего в конечную розничную точку. В реальности делают это люди руками и часто жёстко лажают.

Очень часты ситуации недозаказа товара (когда нужного ходового лекарства просто нет в аптеке), перезаказа (товар поставляется на пару ближайших лет) или неправильного распределения по сети аптек (в одной нет, а в другой — на шесть месяцев запаса). Таблетки компактные, выкладка в аптеках — хорошо, если 5 % от товарного запаса, поэтому восемь–десять миллионов рублей можно запросто спрятать даже на 15 квадратных метрах в ящиках. А потом у этих лекарств внезапно уже через год закончатся сроки годности.

Проблема — в ручном управлении запасами и в неправильном прогнозировании спроса: рынок таков, что часто в начале года подписываются обязательства на год вперёд, и производитель впихивает тонны неходового товара аптечным сетям.

Конечно же, в этой ситуации очень не хватает математической модели. Ну мы с ней и пришли. В процессе сделали ещё несколько чудесных открытий про рынок.

Как всё устроено


Лекарства бывают двух типов:

  1. Которые можно достать только у одного поставщика. Например, в прошлом году была рыночная дефектура по дипроспану (инъекции для суставов): в какой-то момент руководство в последней аптеке, где он был, выкупило десять пачек и продавало или использовало их на вторичном рынке.
  2. Которые имеют дженерики (то есть прямые аналоги, этот термин в аптечной среде не подразумевает ухудшения качества). Аспирина или омепразола явно много разного, и если у одного поставщика он пропадёт, то всегда можно будет найти лекарство с таким же МНН.

Гораздо сложнее с первым типом товаров. Если производитель не смог произвести или если в заказе что-то не рассчитали, то есть шанс оставить несколько аптек или даже всю сеть без нужного медикамента. Примерно отсюда вытекает логическое следствие, по которому большинство серьёзных контрактов заключается на год, и нужно купить сразу много всего. То есть договориться на определённый объём, а потом постепенно его получать, распределять по аптекам и оплачивать.

В начале каждого года вы подписываетесь на то, что продадите определённое количество какого-то медикамента. Это ложится в план поставок дистрибьютора (их три крупных в России) и дальше — в план производства.

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

В итоге при неправильном прогнозировании своих возможностей аптеки оказываются в жёстком перестоке. Выкручиваются по-разному: делают мотивацию персоналу, акции. Но вот рекламировать товар не имеют права, потому что медицина. В итоге всё идёт через первостольника — фармацевта в аптеке. У них мотивация: продал больше дорогого нитроглицерина такой-то фирмы вместо обычного — получаешь больше. Или продал витаминки вдогонку к каждому двадцатому заказу — тоже.


Из этого графика видно, что по данному препарату остаток почти вдвое больше нужного.

Прогнозирование спроса


До нашего прихода аптечная сеть самостоятельно строила прогноз скользящим средним и делала очень много ручных корректировок, потому что модель не всегда попадала. Точнее, они использовали автоформирование заказа и возможность его редактировать. Редактированием, на наш взгляд, несколько злоупотребляли, потому что практически в каждый заказ шли ручные вмешательства. Это случалось скорее от недостатка модели: так автозаказ не учитывал то, что уже едет в аптеку, но ещё не было принято на склад розничной точки.

В итоге они облепляли каждый заказ облаком ментальных костылей и делали поправки на пальцах: «это едет, этого надо в два раза больше, тут поставщик плохой, ещё дозакажем, а в этом сезоне зима холодная, надо ещё и этого». Подход имеет право на жизнь, но он оказывается очень неточным в сухом остатке. Чисто по имеющемуся прогнозу работать невозможно: сделали заплаточку — заработало в одном месте, но сломалось в другом — сделали заплатку туда. В итоге никто не может вспомнить, с чего всё начиналось и почему. Зато работает куча поправок на всё:

— Зачем вы добавили по десять пачек всех лекарств из этого списка?
— Да система всегда тут вниз ошибается, ну я и корректирую вверх.

— А зачем вы взяли 12 упаковок на точку, когда среднемесячный расход — две штуки?
— Ну, я подумал, что мало, вот и добавил!
— А вы понимаете, что это на пять аптек, и сейчас кто-то останется без них?
— Да? Ой. Ну, закажите ещё.

— Почему вы только три флакона везёте?
— Потому что у вас за месяц уходит одна-две штуки.
— На прошлой неделе взяли пять штук! Везите десять, ироды!!!

Выяснилось, что KPI закупщика считаются по отсутствующим товарам. Не по эффективности оборота, не по каким-то ещё более близким к коммерции критериям, а по тому, насколько много таблеток он впихает в каждую аптеку. То, что их потом списывать по истечении срока годности, — это уже не его головная боль. Снижение маржи и продажа по себестоимости в конце срока годности — тоже.

Фактическое исполнение заказа было около 20 %.

Что сделали


Дальше мы решаем классическую задачу розницы по прогнозированию спроса. Она обсасывалась уже сто раз и известна, пожалуй, каждому.


Восстановленный спрос, прогноз и оптимальные запасы по критичному препарату — виагре.

Вопрос — в настройке модели. Мы используем следующие правила:

  1. Обычный подход к оптимизации запасов — восстановление спроса (выбрасывание участков без этого товара в наличии для статистики), прогнозирование спроса авторегрессиоными моделями с учётом трендов, сезонности, календарных событий, формирование графика поставок, расчёт оптимальных запасов в аптеках и на складе, создание заказов.
  2. Учёт ненадёжности поставщика: чем больше сюрпризов способен преподнести поставщик, тем больше нужен складской запас на сеть.
  3. Учёт незаменимости препарата для оперативных закупок: активированный уголь запасать смысла нет: он есть у каждого поставщика. Медикаменты по формуле после раскрытия патента — тоже. А вот уникальные новые лекарства — да.
  4. Некоторые товары нуждаются в холодном хранении: там более жёсткая оптимизация запаса на розничной точке.
  5. Наркотические средства поставляются по спецусловиям.
  6. Нельзя перемещать товар между аптеками, поэтому по возможности нужно использовать более частые и более мелкие транзакции поставок.

Последний пункт может показаться странным, но правильный процесс по медицинским препаратам в том, что нужно взять их из аптеки и отправить обратно на центральный склад. Там принять, провести новый партионный учёт (то есть завести как новую SKU с другим сроком годности фактически) и снова распределить. При этом каждая партия товара от поставщика проходит процесс её сертификации, что несколько усложняет документооборот. Весь этот процесс, естественно, — ручной.


По некоторым товарам есть НЗ (обязательный запас, который всегда должен быть в аптеке, на взгляд ассортиментщиков), вот восстановление спроса и моделирование остатков по одному из них.

В итоге им проще выкидывать товар после истечения срока годности, чем пытаться его перераспределить. Есть лайфхак с «кустами» аптек, когда несколько розничных точек принадлежат одному директору, и он может относительно просто перераспределить между ними, но и там есть пара подводных камней. Правильно строить систему мультиэшелонной оптимизации, где потребность склада формируется из потребности аптек с регламентированным покрытием. Потребность аптек рассчитывается на основании статистического прогноза с учётом тренда и сезонности. Товар распределяется среди всех аптек по продажам, сокращая отрицательную функцию за упущенную прибыль. Запас склада разделяется на несколько виртуальных запасов, один из которых обеспечивает товаром аптеки, а другие используются для выполнения маркетинговых обязательств, оптовых продаж и т. д. Но доказать второе очень сложно. В итоге мы сейчас строим среднерыночный прогноз по всем аптекам, затем формируем правильный общий заказ на склад, а затем со склада небольшими транзакциями распределяем по мере расходования.


На этом графике видно, что товар был в одной аптеке в перестоке, а в двух других его не было в это время.

Пошли первые результаты, вот графики по некоторым препаратам:


Первый пример.


Второй пример.

До этого распределение по аптекам имело ещё одну особенность. Товар доставался тем, кто ближе к началу списка по алфавиту! То есть в случае 12 пачек лекарств со средним расходом за период две штуки первые шесть аптек на «А» получают его, а остальные — нет. В другой сети были выделены приоритетные аптеки: там сначала товар шёл по одному списку, потом — по другому. Но примерно так же. Если будете открывать аптеку, то постарайтесь не называть её на «Ы». Лучше назовите её «Аахенозавр», а юрлицо ООО «ААА». Будет много вопросов, но вы будете с товаром.

Директора аптек знали эту особенность и старались договориться заранее, чтобы урвать весь товар: лучше хранить у себя, чем ждать у моря погоды. Это тоже вызывало неравномерности в старой модели и создавало неповторимый вкус противодействия ИТ-мерам, потому что привычная схема ломалась в сторону более экономически выгодной для всей сети.

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

Как выяснилось, примерно похожие вещи иногда делаются с выкладкой лекарств: там вполне может стоять препарат, который не будет продаваться годами.

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

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

Почему нет лучших кадров? Потому что в сфере высокая текучка кадров, в том числе — в руководстве. Это приводит к хаосу в управлении системами отчётности и не очень точному пониманию собственных бизнес-процессов. Фразы «Я не знаю, где это посмотреть» и «Да быть такого не может! Как вы это нашли?» — одни из самых частых при наших диалогах за ИТ-системами.

Думаете, достаточно? Нет. Если вы приходите автоматизировать что-то в реальный мир, то там далеко не чистая математика, а много-много поисков исходных данных и их унификации. В нашем случае ещё особенности:

  • Бизнес пользуется сразу несколькими справочниками товаров, в справочниках часто встречаются грамматические ошибки или особенности написания, из-за чего схожие товары могут попадать в разные категории.
  • Тарность, то есть количество пачек таблеток в транспортной упаковке, постоянно меняется и хранится в головах у людей на местах.
  • Логистические дуги описаны не всегда корректно: ссылаются на закрытые аптеки или на выведенные из матрицы товары.
  • Нельзя посмотреть товародвижение целиком. Не из одной системы, а просто нельзя. Нужно собирать его по эху из многих систем и бумаг.

В итоге мы снизили дефицит на 15 % и сократили товарный запас на пять дней просто правильным перераспределением товара и более точным прогнозированием спроса (без учёта промо, к нему дозаказывали всё же руками). Продажи изменились вверх на 1,5 %. Математика победила в этом раунде.

+52
13.9k 98
Comments 25