У нас было 540 точек, 120 мерчендайзеров, 30 ТП, 2 супервайзера, 5 таблиц в XLS и один пакет на ПО маршрутизации

У нас было 540 точек, 120 мерчендайзеров, 30 ТП, 2 супервайзера, 5 таблиц в XLS и один пакет на ПО маршрутизации

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

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

  • Обобщенной задаче коммивояжера (TSP).
  • И построению оптимального расписания-плана.
Как это обычно бывает

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

  • Проверить выкладку и полноту ассортимента шоколадок на полках. Провести переговоры с представителем точки по поводу расширения ассортимента шоколадок.
  • Решить финансовый вопрос по долгам владельца.
  • Подготовить все к предстоящей маркетинговой акции: размещение и оформление дополнительных витрин и стоек, и т.д.

Итак, у вас 30 ТП, 120 мерчендайзеров, 540 точек (среди которых есть и огромные супермаркеты, и ларьки, и всякие заведения HoReCa, например, кафе). И вам нужно до завтра спланировать работу ваших сотрудников на предстоящий квартал с учетом специфики каждой точки, соглашений по работе с ней, планируемых маркетинговых акций и других факторов. На входе — 5 табличек в XLS, которые вёл ваш предшественник.

Возможные решения

Первый напрашивающийся вариант — вы даёте каждому торговому представителю по 4 мерчендайзера в подчинённые, выделяете район города и говорите: «Совершай возвратно-поступательные движения как хочешь, но спайс должен поступать». И ставите план по прибыли. Это вариант родом из 40-х годов, и он явно неоптимален. Почему? Потому что районы разные, охват точек будет неоптимальным, расход ресурсов непрогнозируемым, да и просто люди имеют свойство действовать в обходе точек по жадным алгоритмам вместо более прогрессивных вариантов наподобие хотя бы имитации отжига. Также высока вероятность неоптимального распределения ресурсов по задачам и точкам, в народе такая ситуация называется «то густо, то пусто».

  • Задачи, которые надо делать на каждой точке и частоту их выполнения (например: раз в месяц говорить про деньги, два раза в неделю смотреть выкладку, раз в неделю подвозить товар), а также плановая длительность реализации задач (например, поправить выкладку в супермаркете — 20 минут, а в ларьке — 5 минут)
  • Затем прописываете параметры работы точек (например, время работы, местоположение и прочее).
  • Внимательно смотрите на карту своего района и расчерчиваете граф между этими точками, обозначая время. На всякий случай ещё указываете, когда и какая дорога менее проходима из-за пробок, а также с учетом дорожных ограничений (знаков, скорости, направления движения и так далее).

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

Да и на практике людей обычно не 120, а несколько тысяч.

Следующий виток

Вы приходите к производителю шоколадок и говорите: «Мне кажется, тут есть что оптимизировать». И, посчитав на коленке возможную выгоду, вы покупаете лицензию на софт, который специализируется на таких задачах.

  • Получать за адекватное время (от 10 минут до часа в зависимости от региона, количества ресурсов и пр.условий) оптимальный квартальный/полугодовой план работы ТП и мерчендайзеров.
  • Сделать нагрузку на каждого человека в команде равномерной (чтобы он не перерабатывал и не сидел просто так), оптимизировать количество привлекаемых сотрудников и технических ресурсов
  • Оптимизировать использование транспорта (например, за счёт более продуманных маршрутов).
  • Добиться возможности решения каждой из задач плана в нужное время.
  • В случае изменения входных данных можно в краткие сроки производить корректировку планов.
Что на входе?

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

Пример карточки сотрудника с транспортным средством

Параметры ресурса.

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

Во-вторых, у вас есть электронные карты местности, содержащие данные о дорогах. Самое ценное на картах — это возможность простроить маршруты от точки до точки со знанием времени их прохождения и соблюдением правил дорожного движения. В первую очередь, нас интересует характеристика дорог (покрытие, направление и средняя скорость движения по ним). В некоторых случаях есть статистические данные по пробкам — например, движение вечером будет вестись с коэффициентом скорости 0,3. Многие поставщики карт предоставляют возможность пользователям (с определенным уровнем доступа) вносить изменения, например, появилась информация о ремонтных работах на участке дороги длительностью в месяц.

Обработка

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

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

Далее формируется план посещения точек с учетом распределения по зонам. Он может быть передан в корпоративную систему управления или учета, например, посредством файлов формата xml или с помощью web-сервисов.

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

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

В таких случаях нужно пересчитывать тот кусок плана, который был аффектирован в результате воздействия этого фактора. Данные просто довносятся на вход, и софт выдаёт корректировки. Их также можно вносить руками.

📎📎📎📎📎📎📎📎📎📎