Как ускорить расчёты на производстве лакомств для животных в десятки раз: кейс TiTBiT

Python
Celery
JavaScript
React
Docker

«Альпинтех» — производитель лакомств для собак, кошек и птиц. Его продукция широко известна в России по маркам «Синий Кот», TiTBiT и Biff. Эти названия узнают даже те, кто не держат дома животных. Совместно с техническим подразделением компании заказчика мы помогаем ей ускорять многочисленные расчёты в десятки раз.

Креативные разработчики из Сибири помогают оптимизировать производственный бизнес

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

TiTBiT — крупный производитель зоотоваров в России

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

TiTBiT в цифрах

TiTBiT пользуется большой популярностью на крупнейших маркетплейсах — продукция бренда получает 4,9 из 5,0 звёзд.

Ассортимент состоит из сотен наименований, и производитель успевает изготавливать 3,5 млн упаковок продукции ежемесячно. Каждый день завод отгружает лакомства для животных в разные уголки нашей страны.

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

Прошлые технологии не поспевали за ростом компании — заказчик рисковал лишиться сделок на миллионы

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

  • аналитики компании улучшают и оптимизируют действующие системы расчётов в соответствии с её новыми потребностями;
  • программисты автоматизируют их. Расчеты ведутся в Excel и с помощью скриптов на Python.

Может возникнуть вопрос, почему компания TiTBiT не могла сразу разработать систему, не нуждающуюся в доработке? Ответ на него простой: ранее она была небольшой, имеющегося инструментария хватало для поставленных задач. С ростом бизнеса возникли трудности с масштабированием: количество скриптов постоянно увеличивалось, добавление новых расчётов вызывало затруднения, а порой и ошибки.

Итог был не слишком радужным: специалистам TiTBiT приходилось тратить больше ценнейшего ресурса —своего времени — на рутинные операции. Если же эти процессы автоматизировать, то можно не только в разы увеличить скорость расчётов, но и обеспечить более точный и предсказуемый результат.

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

Разработали монитор ресурсов

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

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

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

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

Внедрили калькулятор коммерческих предложений

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

До привлечения нашей команды компания выводила новые товары так:

  1. К позициям, ранее востребованным оптовыми покупателями, добавляли похожий продукт из новой линейки.
  2. Метрики похожих товаров сравнивали с помощью разных инструментов, включая рейтинг товаров
  3. По результатам исследования делали коммерческое предложение с более привлекательными для целевой аудитории продуктами.

Аналитики «Альпинтеха» создали систему расчёта, которая смогла охватить все необходимые показатели. Одни из них обрабатывали вручную, другие — в таблицах, третьи — при помощи скриптов.

Эта схема себя оправдывала, когда компания была небольшой. С расширением бизнеса расчёты становились всё более объёмными, а риск ошибки переноса и обработки данных, вызванный человеческим фактором, повышался.

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

Результат выглядит так:

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

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

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

2. Сравнение товаров. Во внимание принимается ряд параметров, включая:

  • цену продукта для конечного покупателя, содержащую НДС;
  • количество единиц товара;
  • выручку, в том числе с вычетом расходов (маржа);
  • выручку на магазин;
  • маржу на одну единицу продукции и др.

3. Создание коммерческого предложения. В этом документе для пары товаров выполняется расчёт тридцати параметров по плановым и текущим показателям, а также инвестициям. Сервис самостоятельно выполняет их анализ и рекомендует заменить менее выгодный товар другим. Результат можно сохранить в формате .xlsx.

Так выглядит коммерческое предложение для вторичных продаж:

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

Разработали страницу «Рейтинг номенклатуры»

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

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

Объединили всё в общую систему

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

Мы проделали ещё ряд работ, направленных на то, чтобы система стала более эффективной и удобной для пользователей:

  1. Добавили систему логирования. Она позволяет увидеть детально каждый расчёт, со всей последовательностью производимых операций. Это даёт возможность менеджерам обнаружить невалидные данные, промежуточные расчёты и появившиеся ошибки.
  2. Разработали документацию по проекту. Она содержит все необходимые инструкции по запуску и работе. Новые специалисты смогут без особых затруднений воспользоваться функциями системы, а программисты компании — развивать её в соответствии с потребностями бизнеса.
  3. Автоматизировали обновление. Благодаря CI/CD обновления автоматически поступают на сервер. Без использования этой технологии процедура проходила бы в ручном режиме, что неизбежно вызывало бы долгие простои в работе системы во время тестирования обновлений. Старый метод также неудобен тем, что возможны ошибки, вызванные человеческим фактором. Теперь же процесс обновления системы полностью автоматизирован.
  4. Применили утилиту ruff для форматирования кода. Он в полной мере соответствует гайдлайнам стилей и выполнен в едином формате. С таким кодом легче работать и нам, и специалистам «Альпинтеха».
  5. Оптимизировали работу базы данных. Она стала работать лучше благодаря подключению метода fail-fast, повышению нормальной формы базы данных и проведению индексации дат с ключами. Это дало следующие плюсы:
    • с fail-fast при возникновении ошибки программа тут же оповещает о ней, а не делает попытки выполнить ошибочную команду. Все обнаруженные недочёты фиксируются в табличном протоколе выполнения операций;
    • при более высокой нормальной форме отсутствует возможность сослаться на несуществующий объект, что повышает надёжность базы данных;
    • использование индексации ключей обеспечивает более высокую скорость работы системы (в 2,5 раза). Этот инструмент выполняет сбор тех полей данных, которые требуются чаще других, а затем выносит их в отдельный столбец. Имея к ним оперативный доступ, программа работает намного быстрее.

Технологии, использованные для системы

В проекте TiTBiT мы адаптировались под уже  используемые инструменты клиента, а именно:

  • Python;
  • Celery;
  • PostgreSQL;
  • Pandas;

Но всё-таки кое-что мы предложили добавить сами:

  • Docker;
  • Dash;
  • Bootstrap;
  • ReactJS;
  • Redis;
  • Gitlab;
  • Alembic;
  • SQLAlchemy.

Избавили от рутины: какое влияние оказали изменения на бизнес заказчика

После запуска клиент получил возможность:

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

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

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

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

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

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


Написать в телеграм

Читать еще

Исправили баги и увеличили аудиторию приложения с 50 тыс. до 110 тыс. Кейс федеральной аптечной сети

Swift
SwiftUI