Как сделать адаптируемый калькулятор расчета стоимости сложной продукции
Расскажем как автоматизировать процесс ценообразования составного товара на примере полиграфии.
ㅤ
Но сначала немного про нас
Создаем продукты для e–коммерс, медицины, медиа, недвижимости, финтеха и SaaS. Разрабатываем сайты, приложения и веб–сервисы. А также внедряем crm/erp–системы.
Мы убеждены, что дизайн и технологии являются лишь инструментом для достижения поставленных бизнес–задач, а вся магия происходит в глубокой аналитике перед каждым проектом.
ㅤ
ㅤ
Погрузимся в контекст
В процессе продажи полиграфической продукции при ценообразовании есть несколько трудностей:
1. Множество взаимосвязанных переменных (материалы, способы печати, дополнительные услуги, станки). Картон плотностью 190 белого цвета с глянцевой ВД-лакировкой сильно отличается в стоимости от мелованной бумаги плотностью 90 с фальцовкой .
2. Стоимость зависит от внешних факторов. Курс доллара, экспорт и импорт материалов, технологии производства, маркетинговые стратегии. Все это влияет производство, а следовательно и на продажи.
ㅤ
Задача клиента
Собрать красивый конструктор-калькулятор из таблиц в Excel и интегрировать его с erp-системой. Это нужно как для отдела продаж (много расчетов которые можно оптимизировать и много текущей мелкой работы которая много времени занимает) и для дальнего развития в продукт для самостоятельного расчета стоимости пользователями.
Важно:
1. Учитывать все условия расчета;
2. Иметь доступ к редактированию параметров администратором;
3. Возможность редактировать калькулятор без привлечения разработчика.
ㅤ
Как было изначально
Для каждого вида продукции свой отдельный файл с 6-7 таблицами. Минимальный набор: стоимость материалов, стоимость производства, технология, калькулятор и шаблон оформления заявки. Рассчитывается все в ручную менеджером в процессе разговора с клиентом. Долго, муторно, а если что-то забыли? Пиши пропало — звонить, извиняться, вносить коррективы и молиться, что заказчика устроят изменения.
ㅤ
Верхний уровень решения
В дизайн-концепции пошла в сторону функциональных зон. Разделили уровни взаимодействия с калькулятором на 5 частей:
1. Навигация по типам продукции. Просто выбираем категорию товара для расчета и данные для калькуляции подтягиваются автоматически.
2. Основные переменные. Это обязательные данные, без них никуда.
3. Опциональные переменные. Можно включать, а можно оставить не тронутым, зависит от задачи клиента.
4. Взаимодействие с расчетом. Здесь можем узнать стоимость настроенной продукции и добавить ее в общий заказ.
5. Корзина. Отражаем все товары, которые оформляем в заявку и отправляем в erp-систему.
ㅤ
Как избежали ошибок ввода данных
Изначально базовые параметры уже заданны. Разделили переменные на «зависимые» и «самостоятельные». При определенно выбранных «самостоятельных» параметров с бэк части прилетают допустимые значения «зависимых». Таким образом получилось избежать проблем в сочетании значений, которые нельзя посчитать.
ㅤ
Логика админ-панели
Больше всего трудностей было в формировании системы, которая выдержит добавление и удаление новых переменных без привлечения разработчиков. Нужно иметь возможность в определенный день изменить стоимость у определенного значения, в другой отключить его, а на следующей неделе добавить новый тип бумаги.
Решение этой проблемы — разбиваем данные на виды и генерируем таблицы на бэке в зависимости с допустимыми переменными через перебор значений. Для мелованной бумаги можно использовать плотность 90, 110, 130 и фактуру глянцевую и матовую, следовательно получаем таблицу с 6-ю строками для ввода стоимости.
Виды данных:
1. Динамичные таблицы. Стоимость зависит от переменных, поэтому необходимо генерировать разное количество строк. У мелованной 6, а у дизайнерской 18.
2. Статичные таблицы. Это самостоятельные ребята, их стоимость не зависит от выбранных значений. Фальцовка картона и гальки стоит одинаково.
3. База переменных. Используется как параметр для определения количества строк в динамичных таблицах. Им подчиняются «зависимые». При выборе мелованной бумаги, мы можем использовать в расчете только плотность 90, 110, 130.
ㅤ
В качестве заключения
В результате получился калькулятор, в котором можно настроить переменные для расчета в зависимости от бизнес задач компании или от экспорта и импорта материалов. Использовать для быстрого получения стоимости заказа клиента в несколько кликов и автоматически добавлять заявку в общий дашборд.
Для разработки внутренних продуктов компании писать в телеграмм🤖