Перейти к содержимому

Результативность территорий

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

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

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

  • Ведёт единое распределение. Каждый клиент закреплён ровно за одной территорией, каждая территория — за менеджером или несколькими менеджерами.
  • Считает выполнение плана. Воронка и выполнение плана по территориям обновляются ежедневно из живых данных, без противоречащих таблиц.
  • Показывает пробелы в покрытии. Территории, где воронка или активность ниже порога, отмечаются автоматически.
  • Сравнивает территории честно. Сводная таблица показывает активность, воронку и закрытую выручку рядом, за один и тот же период.
  • Поддерживает перераспределение. При смене ответственного посреди квартала история остаётся за исходной территорией, а новые показатели идут к новому владельцу.
  • Одна территория на клиента. Уникальность закрепления проверяется на уровне данных: попытка отнести клиента к двум территориям — ошибка проверки, а не повод для двойного учёта.
  • Клиенты без владельца видны. Каждый клиент без территории или ответственного попадает в отдельный список, иначе часть рынка выпадает из отчётов.
  • План хранится с версиями. Корректировка плана посреди квартала создаёт новую запись с датой вступления в силу. Иначе нельзя объяснить, почему выполнение вдруг изменилось.
  • Воронку взвешивают. Сумму воронки умножают на вероятность этапа, а сделки без активности, например, три недели считают зависшими. Пороги — настройки.
  • Результат рядом с усилиями. Журнал активности связывают с территориями, чтобы руководитель видел не только выручку, но и объём работы.
  • Гибкие границы территорий. Территорию можно задать по региону, размеру клиента, отрасли или их сочетанию. Один менеджер может вести несколько территорий, но показатели считаются по каждой отдельно.
  • Доступ и источники. Региональный руководитель видит свои территории, руководитель продаж — всё. Если распределение ведётся в CRM, сервис читает его оттуда без миграции; если в таблице — её импортируют один раз и дальше ведут в сервисе.

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным Filament 4.x. Отправляйте их по одному и проверяйте результат каждого шага.

Создай модели и миграции для дашборда территорий: Territory (название,
регион, сегмент, отрасль, руководитель), TerritoryAssignment (территория,
менеджер, дата начала, дата окончания), Account (название, территория —
ровно одна, внешний id), Quota (территория, период, сумма, дата вступления
в силу, версия), Deal (клиент, территория на момент создания, этап,
вероятность, сумма, дата последней активности, дата закрытия). Добавь
фабрики.
Сгенерируй Filament-ресурсы для Territory и Account. Добавь импорт
распределения клиентов из CSV с проверкой: клиент без территории
или с двумя территориями — ошибка строки с понятным сообщением.
Сделай отдельный список клиентов без территории или ответственного.

Проверьте, что импорт файла с дублирующимся клиентом не проходит молча.

Сделай страницу сравнения территорий: сводная таблица с взвешенной
воронкой, выполнением плана по действующей версии Quota, закрытой
выручкой и числом активностей за один выбранный период. Сделки без
активности дольше порога из конфига не учитывай во взвешенной воронке.
Добавь фильтры по региону и сегменту и сортировку по любой колонке.
Добавь фоновую задачу, которая ежедневно пересчитывает показатели
и отмечает территории с воронкой или активностью ниже порога. Добавь
действие «Перераспределить территорию»: закрывает текущее назначение
датой и открывает новое; сделки до этой даты остаются за прежним
менеджером в истории.
Настрой доступ: региональный руководитель видит только свои территории,
руководитель продаж — все. Примени ограничение к таблицам, виджетам
и экспорту. Добавь виджет динамики выполнения плана по территориям
и экспорт сводки за период.

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