← Все кейсы

B2B SaaS / Mobile / Системная архитектура

Редизайн раздела «Прайс-листы»

Ведущий дизайнер раздела Архитектура данных Retention D30 +22%

💡

Я пересобрал модель прайс-листов из ограниченного справочника в системный инструмент для проектов, отчётов и смет; это снизило ручное дублирование, сделало расчёты предсказуемее и повлияло на рост Retention D30 на 22%.

Задача

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

На момент старта проекта от пользователей через техподдержку и Product Owner регулярно поступал схожий фидбек:

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

Таким образом, задача заключалась не только в переработке интерфейса, но и в поиске модели, которая позволит:

☑️

Cнизить количество ошибок при работе с данными

☑️

Cократить ручные операции и дублирование

☑️

Встроить прайс-листы в ежедневные сценарии работы пользователей

Что изменилось после редизайна

Вывод

Ценность редизайна была не в обновлении экранов, а в новой модели работы с данными: она уменьшила ручные обходные сценарии и сделала финансовые расчёты более предсказуемыми.

По глубине бизнес-логики и количеству сценариев он сопоставим с отдельным приложением - команда iOS-разработки
По глубине бизнес-логики и количеству сценариев он сопоставим с отдельным приложением - команда iOS-разработки

По глубине бизнес-логики и количеству сценариев он сопоставим с отдельным приложением

1. Контекст и роль

101 — приложение для управленческого учёта, адаптированное под компании, занимающиеся ремонтом и строительством.

Кто пользователь:

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

image.png
image.png

Кто работал над проектом

Редизайн раздела начинали два дизайнера. Я подключился к проекту по собственной инициативе, когда стало очевидно, что ключевые сложности лежат не в интерфейсе, а в бизнес-логике и сценариях использования.

Через неделю Product Owner официально назначил меня дизайнером проекта. В дальнейшем я отвечал за развитие раздела единолично — от пересборки логики до передачи в разработку.

image.png
image.png

2. Проблема до редизайна

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

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

Такое решение масштабировалось только в условиях одного активного проекта.

image.png
image.png

3. Цели проекта

💡

Целью проекта было превратить раздел «Прайс-листы» из вспомогательного справочника в полноценный рабочий инструмент, адаптированный под разные роли пользователей и масштабируемый под рост бизнеса.

Ключевые направления работы:

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

Древовидная модель категорий и инструменты работы с позициями.

Разграничение прав доступа и видимости информации.

Использование прайсов в проектах, сметах и отчётах без потери актуальности данных.

Поддержка сегментированного ценообразования и будущих сценариев (включая юридическое подтверждение).

4. Ограничения и сложность

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

ОграничениеЧто усложняло
Ролевая модельКаждый экран и сценарий проектировались с учётом разграничения прав и изоляции данных
Мобильная платформаНеобходимо было уместить сложную структуру и управление большими объёмами данных в компактный интерфейс
Сквозная интеграцияТребовалось синхронно перестроить сценарии создания отчётов и смет. Это увеличивало объём проекта и усложняло его декомпозицию.
Итеративная разработкаИнтерфейс и логика проектировались так, чтобы первая версия была архитектурно завершённой и не требовала глобального рефакторинга при дальнейшем развитии.

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

5. Процесс и ключевые решения

5.1. От одного прайс-листа к масштабируемой системе

Изначально в продукте существовал один прайс-лист на компанию.

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

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

Решение — перейти к поддержке множественных прайс-листов в рамках одной компании:

image.png
image.png

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

Инструменты управления прайс-листами компании
Инструменты управления прайс-листами компании

Инструменты управления прайс-листами компании

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

5.2. От набора прайсов к управляемой гибкости

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

Количество прайсов увеличивалось, а сопровождение усложнялось.

Следующим шагом стала пересборка логики применения.

Решение — перейти к модели базового прайса с гибкостью на уровне проекта:

image.png
image.png

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

В результате удалось:

Руководитель получает инструменты контроля прайса на уровне проекта
Руководитель получает инструменты контроля прайса на уровне проекта

Руководитель получает инструменты контроля прайса на уровне проекта

5.3. От архитектуры к повседневному использованию

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

Задача: замкнуть систему и встроить обновлённую модель прайсов в реальные рабочие процессы.

Решение — пересобрать сценарии создания отчётов и смет:

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

Это позволило:

image.png
image.png

Таким образом, решения из 5.1 и 5.2 замкнули полный цикл:

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

Проверка сценариев на пользователях

После сборки ключевых сценариев я провёл серию юзабилити-тестов на действующих пользователях продукта (руководители проектов и исполнители). Участникам предлагалось выполнить типовые задачи:

Руководитель проекта

  1. Выбрать прайс-лист в новом проекте
  2. Изменить цены на все позиции в одной категории на 20%
  3. Скрыть 2 категории из прайс-листа проекта

Подрядчик (мастер)

  1. Создать отчёт, используя позиции прайс-листа
  2. Добавить собственную позицию не из прайса
  3. «Добить» сумму отчёта до целевой

Тестирование показало, что базовая модель с единым прайсом и вариативностью на уровне проекта хорошо считывается: пользователи корректно интерпретировали источник данных и не пытались дублировать прайсы без необходимости.

При этом выявились точки напряжения:

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

6. Итерации и развитие

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

Первая итерация

В релиз вошла базовая инфраструктура:

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

Осознанные ограничения

Принятие решений

Приоритизация функций проводилась совместно с дизайнерами с использованием ICE и согласовывалась с Product Owner в рамках планирования итераций.

Потенциал развития

В дальнейшем система может выйти за рамки внутреннего инструмента:

image.png
image.png

7. Результаты и личный вклад

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

Ключевые результаты:

Моя роль и ключевые выводы

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

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

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

Продуктовый вывод

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