Кейс: автоматизация изменения цен в прайс-листе торгующей компании

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

Как было

Из-за постоянных проблем с изменениями цен клиент обратился ко мне для автоматизации процесса. Выяснилось, что проблема была сразу по двум направлениям:

  • скорость работы — из-за большого количества изменений уходило много рабочего времени сотрудника компании
  • качество работы — ошибки в ценах возникали слишком часто, из-за чего приходилось проверять и переделывать повторно

Вот как это работало: контент-менеджер в течение всего рабочего дня получал изменения по ценам от руководства. Далее ему нужно было внести изменения:

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

Переход на задачи

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

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

Пример оформления карточки задачи в битрикс24

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

Чуть позже мы перешли в другой менеджер задач, где для прайс-листа выделили отдельную канбан-доску. В ней 4 этапа:

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

Структура сайтов

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

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

Остальные сайты посвящены одному товару или одной группе товаров и не содержат всего ассортимента. Большая часть из этих дополнительных сайтов вообще не имеет CMS и реализована статично с помощью только HTML и CSS, без PHP.

Структура прайс-листов компании

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

Прототип на бутстрапе

Когда я приступил к реализации технической части, то первым делом решил сделать кликабельный прототип. Скачав фреймворк Bootstrap, я сделал главную страницу будущего сервиса. Она состояла из таблицы с прайс-листом (название, цена, ответственный менеджер и т.д.).

Чтобы избежать проблемы долгого редактирования через CMS, я сразу сделал все ячейки таблицы редактируемыми. Названия и цены сделал через поля ввода, а параметры, имеющие ограниченное количество допустимых вариантов (например, ответственный менеджер) — через выпадающие списки.

Прототип системы на бутстрапе

В каждой строке таблицы была кнопка сохранения изменений именно по данному товару.

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

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

Первая работающая версия (MVP)

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

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

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

Итого первая работающая версия позволила вместо 2 изменений по каждому основному сайту (эксель и админка сайта) делать только одно изменение в главном прайсе. Для 3 основных сайтов экономия составляла 6 действий против 1 действия, и т.д.

Финальная версия

Протестировав работу на минимально функционирующей версии и получив отличные результаты, мы перешли к её дальнейшему развитию.

Например, эксель-файлы даже после автоматической генерации загружались на сайты вручную через FTP-клиент. Я подготовил ТЗ для программиста и он заменил это на загрузку по кнопке в системе. Для сравнения — ручная загрузка на один сайт занимает около 2-3 минут чистого рабочего времени на 1 сайт. После автоматизации на то же действие стало уходить 2-3 секунды.

Также мы сделали возможность редактирования списков объектов. На примере всё тех же ответственных менеджеров — появилась отдельная страница с списком менеджеров, где каждого менеджера можно было отредактировать или удалить, а также добавить нового. И так для каждого из подобных списков. Другими словами, получилась полноценная CRUD-система.

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

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

Для удобства контент-менеджера сделали подсветку строк таблицы, в которых содержались изменения:

  • желтый цвет — товар был изменён
  • зеленый цвет — товар был добавлен
  • красный цвет — товар был удалён

Результаты

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

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

Измерения процента ошибок показали следующие результаты по годам:

  • 2020 год — 59% ошибок
  • 2021 год — 12% ошибок
  • 2022 год — 3% ошибок

В должностной инструкции контент-менеджера прописали, что допустимый процент ошибок — 10%. Если месяц закрывался с ошибками менее 10%, то контент-менеджер получает бонус.

Подсчёты показали экономию 26 рабочих часов ежемесячно
Максим Истляев аватар
Истляев Максим

Интернет-маркетолог. В интернете также известен под ником FladeX.

В данный момент занимаюсь интернет-маркетингом для b2b и сферы услуг.

Ранее несколько лет занимался изучением и модернизацией phpBB, вёрсткой и интеграцией шаблонов под различные CMS, фронтэнд-разработкой, инвестициями в информационные сайты.

Заинтересован в сотрудничестве. Вы можете заказать у меня услуги по интернет-маркетингу, лидогенерации, технической настройке сайтов, SEO.