Все началось с планерки
Начальник собрал нас на четвертую планерку на этой неделе. В его горящих глазах читалось – «У меня для вас интересная задача». Звучала она так: “Мы уже третий день загружаем товар клиенту, а доставщик не успевает его довезти. Кладовщики трижды выгружали и загружали эти коробки! Начальник склада сегодня сам на своей машине повёз клиенту товар, хотя на коробке жирным написано VIP! Кто в этом виноват?”
Считаем до 10. Выдыхаем. И начинаем читать между строк.
Предпосылки к задаче или описание проблемы:
-
Менеджер нашёл платёжеспособного клиента и продал ему на большой чек.
-
Дальше менеджер запросил предоплату (ну или в кредит отгрузил), подготовил все документы, согласовал дату отгрузки, убедился, что товар есть на складе, зарезервировал его под клиента. В итоге потратил много времени компании (получил за это зарплату и бонус) и поставил заказ на отгрузку.
-
Кладовщик на удалённом складе моментально поймал задачу и подготовил товар к отгрузке: пробежал по ячейкам, собрал позиции, пропикал их штрихкодером, провёл каждый товар под камерой, на случай возвратов и порчи товара при доставке, запаковал в коробки, наклеил штрих-код и положил всё у складских ворот.
-
Начальник склада приехал пораньше, распределил все заказы по маршрутным листам: у каждой машины - своя зона доставки. Есть адрес доставки – знаем, какая машина повезёт.
-
Водители приехали к 07:00, забрали заказы в фургоны и помчались развозить клиентам. Все возвращаются на склад в разное время: кто в 21:00, кто в 22:00, иногда в машинах остаются коробки с недоставленными заказами. Да, не все клиенты могут принять товар после 18:00.
И кажется, так можно работать и дальше, если бы не проблемы:
Клиент по три дня ждёт товар, доставщик не успевает привезти заказ, недовольство клиента нарастает. Водитель не может изменить маршрут и привезти товар недовольному клиенту с утра, потому что любые изменения в обычном маршруте приведут к опозданию к другим клиентам. Кладовщики тратят время на разгрузку и повторную погрузку «недовозов» (водители обоснованно не хотят оставлять груженный автомобиль ночью на стоянке). И босс абсолютно прав: мы терпим убытки на ровном месте.
Решаем проблему с доставкой
Мы провели мозговой штурм и придумали несколько вариантов, как работать с «недовозами» и недовольными клиентами:
-
Нанять дополнительные машины, чтобы они успели все развести.
-
Если свои водители обойдутся слишком дорого, то нанять сторонних доставщиков или сервисы доставки. Это может быть дешевле, или нет. Надо посчитать.
-
Можно доставлять товар в 2 смены, есть же ночные клиенты!
-
Ну или дать бонус водителям, если те успеют доставить все товары.
-
Можно нанять логиста в штат, чтобы начальник склада не составлял маршрутные листы.
-
Пусть маршрутный лист составляет компьютер по какому-нибудь алгоритму.
Выводы:
Когда проводишь мозговой штурм, важно зафиксировать все идеи, особенно самые бредовые. Не факт, что одна идея будет решением. Возможно, потребуется комплекс идей. У нас так и получилось.
Мы разделили все 6 решений на ответственных и бросились их прорабатывать. Я отвечал за 6й блок и выбрал сервис маршрутизации от Яндекса. У них как раз проходила акция - 3 месяца полного функционала в подарок. У нас было время на тестирование и расчет рентабельности.
Автоматизация доставки и плюсовая экономика
Напомню о проблемах, которых мы узнали на планерке:
-
Много времени уходит на составление маршрутных листов
-
Водители доставляют товары клиентам, которые ближе/удобнее для них, а не важнее для компании
-
Город разделен на зоны доставки, однако водители жалуются на длинные маршруты и что не успевают довезти заказ клиенту
-
О том, что товар не был доставлен, узнаем только на следующий день (при погрузке)
С помощью умных алгоритмов мы могли все эти проблемы решить, оставалось лишь посчитать экономику.
Дальше будут грубые расчеты:
Сервис Яндекс.Маршрутизация стоил около 140 тысяч рублей за год.
Зарплата водителя составляла 70 тысяч рублей в месяц. Использование сервиса предполагало, что за счёт умной маршрутизации мы МЕНЬШИМ количеством машин сможем доставить БОЛЬШЕЕ количество товара.
Новый бизнес-процесс по этапам
Внедрение нового бизнес-процесса в компании длилось около 3-х месяцев.
У Яндекс.Маршрутизации есть готовая внешняя обработка
www.yandex.ru/routing/doc/vrp/concepts/1c-connection.html
Мы её тут же попробовали, но для себя решили, что удобнее работать через Excel. Тут важно сказать, что внедрение происходило почти год назад и сейчас готовая обработка от Яндекса “превратилась” в расширение.
Но тогда работа через выгрузку Excel-файла очень гладко легла в наш внутренний бизнес-процесс:
-
Можно начать тестирование маршрутизации уже сейчас (не дожидаясь окончания программирования)
-
Удобно менять параметры доставки в Excel и настраивать алгоритм ресурсами пользователя, без привлечения программиста 1С, чтобы увидеть, при каких исходных данных маршрут становится оптимальным для нашей компании. Так мы сэкономили не просто человекочасы, а человекогоды.
В результате получился такой бизнес-процесс в 1С УТ11:
-
Заказ клиента переходит в статус к отгрузке (Менеджер делает на основании Заказа -> Реализацию товаров и услуг, 1С автоматом делает -> Ордер. Склад на основании Ордера делает сборку товара с Ячеек. В итоге мы имеем список ордеров со статусом “Собрано без ошибок”)
-
Дополнительно мы можем сформировать “Задание на перевозку” и попросить водителя отвезти документы или выполнить какое-то поручение.
-
Оба эти документа попадают в Excel, сформированный по правилам Яндекс.Маршрутизации.
-
Яндекс.Маршрутизация анализирует данные файла (Приоритеты клиента, окна доставки, тип авто, количество машин, количество рейсов) и выдаёт готовые маршруты для распределением по машинам. Эту информацию мы получаем в виде второго файла Excel.
-
а) Мы подгружаем этот файл нашей обработкой в 1С УТ11 и видим, в каких машинах поехали наши заказы.
б) Эти данные сама Яндекс.Маршрутизация отправляет в сервис Мониторинга и мы в режиме реального времени видим, где наши заказы, какие заказы успеют доставить в срок, а какие привезут с опозданием. В последнем случае нужно согласовывать с заказчиком позднюю доставку или переносить на завтра, чтобы машина не ехала зря (у водителей на Android-ах стоит мобильное приложение, которое и занимается мониторингом)
Главное – подобрать правильные параметры
Яндекс.Маршрутизация дает большое количество параметров для настройки, поэтому важно помнить:
ЧТОБЫ ПОЛУЧИТЬ правильный РЕЗУЛЬТАТ,
НУЖНО ПОДОБРАТЬ правильные ПАРАМЕТРЫ
На подбор параметров ушло около 2-х месяцев.
Процесс настройки происходил так:
-
Мы взяли шаблон Excel с сайта Яндекс.Маршрутизации https://yandex.ru/routing/doc/vrp/concepts/example.html
И там же описание всех параметров https://yandex.ru/routing/doc/vrp/concepts/excel-fill-guide.html -
Внесли свои данные: Склады, Автомобили, Заказы
-
Посмотрели на работу алгоритма по распределению заказов….. и не поверили. 3 машины никогда не успеют развести столько заказов - это НЕРЕАЛЬНО.
-
Запустили Маршрутный лист в работу. Водители в шоке, но едут (если упустить 2 дня «байкота», когда водители случайно ехали не по порядку маршрута. И несколько дней, когда выяснилось, что в базе 1С адреса отгрузки не соответствуют реальным)
-
Водители успели. Пробуем ещё раз с начала.
-
Поменяли параметры, подобрали оптимальные.
Пример заполнения EXCEL с нашими параметрами приложен к статье.
Программировать в 1С с готовыми шаблонами намного приятнее, чем придумывать, как заполнить все эти колонки.
-
Внесли дополнительные реквизиты в 1С.
Все работы делали через расширение. Можно скачать его ниже в разделе Файлы.
О том, как оно работает, расскажу в следующей статье.
Вот так выглядят дополнительные параметры в карточке клиента:
И в карточке автомобиля:
Задание на перевозку пережило более 6-ти реинкарнаций - это один из последних вариантов:
Как же теперь это работает?
Время формирования маршрутных листов составляет 5 минут:
-
Логист (это мы так хитро называем начальника склада =) нажимает кнопку «ВЫГРУЗИТЬ в EXCEL»
-
В ЛК Яндекс.Маршрутизации подгружает этот Файл и жмёт «Планировать»
-
Яндекс.Маршрутизация отдает готовые маршруты. Логист нажимает 2 кнопки по очереди «Сохранить в EXCEL» и загрузить в сервис Мониторинга. Водители получают информацию по заказам и маршрутам и бегут закидывать товары в машины.
-
Логист нажимает “ЗАГРУЗИТЬ из EXCEL” и сохраняет план доставки с номерами машин в 1С.
Оцениваем результаты внедрения
Поток заказов остался стабильным: как до, так и после автоматизации мы работали в среднем с 40 заказами в день:
Но теперь мы смогли уменьшить количество машин на 2 для доставки тех же объемов заказов и запустить доставку день-в-день благодаря работе водителя в 2 смены:
Мы подвели итоги месяца и увидели, что используя динамическое планирование (маршрут составляется с учётом текущих параметров заказов) мы меньшим объемом машин успеваем доставлять в срок чуть больший объем заказов.
Благодаря сокращению автопарка мы окупили Яндекс.Маршрутизацию за 1 месяц и пришли к схеме: 2 постоянно работающие собственные машины + 1-2 наёмные в зависимости от количества заказов.
Мотивируем водителей
Чтобы помочь водителям быстрее адаптироваться к новой схеме, мы решили ввести систему мотивации. Сделали в 1С дополнительный отчет по итогам доставки, который “сам” считает зарплату водителю (бонусы и оклад). Для расчёта использовали 3 показателя: количество км, количество точек доставки, время работы. Коэффициент для каждого показателя хранится в карточке автомобиля.
Водитель знает, сколько он получит за рейс, ЕЩЁ ДО ВЫЕЗДА. Это очень мотивирует доставить все товары.
Повторюсь, само расширение приложено к статье
Теперь, если в вашей компании возникнут проблемы с доставкой, вы знаете, что делать.
Благодарю за ваше бесценное время!