9.9 KiB
Executable File
9.9 KiB
Executable File
Архитектура автоматизации воронки развития
Обзор
Воронка развития должна автоматически управлять жизненным циклом потенциальных объектов от момента обнаружения до передачи в управление.
Источники данных для воронки
1. Ручное добавление (реализовано)
- Менеджер вручную добавляет объект через форму
- Статус:
analysis(по умолчанию)
2. Импорт из файлов (CSV/Excel)
- Массовый импорт объектов из внешних источников
- Парсинг адресов, характеристик, контактов
- Автоматическое создание записей в воронке
3. Интеграция с внешними API
- Парсинг публичных реестров (Росреестр, ГИС ЖКХ)
- Мониторинг сайтов конкурентов
- Интеграция с CRM системами
4. Автоматическое обнаружение
- Анализ отзывов жильцов (модуль PR)
- Выявление недовольства текущей УК
- Мониторинг социальных сетей и форумов
Автоматическое перемещение по стадиям
Стадии воронки:
- analysis (Анализ) - начальная стадия
- negotiation (Переговоры) - активная работа с собственниками
- preparation (Подготовка) - подготовка к ОСС
- voting (Голосование) - идет ОСС
- transfer (Передача) - объект передан в управление
Правила автоматического перехода:
1. Analysis → Negotiation
Триггеры:
- Probability >= 30% (автоматически)
- Создана маркетинговая активность для объекта
- Проведена первая встреча с активистами
Условия:
- Минимум 3 контакта с собственниками
- Наличие хотя бы 1 активиста
2. Negotiation → Preparation
Триггеры:
- Probability >= 60%
- Собрано >= 5 активистов
- Проведено >= 3 встреч
Условия:
- Технический аудит завершен
- Подготовлен проект договора управления
3. Preparation → Voting
Триггеры:
- Создано ОСС для объекта (автоматически)
- Probability >= 70%
Условия:
- ОСС создано и запланировано
- Подготовлены все документы
4. Voting → Transfer
Триггеры:
- ОСС завершено успешно (quorum > 50%, решение "за")
- Probability >= 90%
Условия:
- ОСС статус = 'completed'
- Результат голосования положительный
5. Откат стадий
Negotiation → Analysis:
- Нет активности > 30 дней
- Probability < 20%
Preparation → Negotiation:
- ОСС отменено
- Probability < 50%
Автоматический расчет probability
Формула расчета:
probability = baseProbability +
(activistsCount * 5) +
(meetingsHeld * 3) +
(adsDistributed / 10) +
(auditScore * 0.2) -
(daysInactive * 0.5)
Где:
baseProbability= 20% (для новых объектов)activistsCount= количество активистов (макс 10)meetingsHeld= количество встреч (макс 10)adsDistributed= количество розданных листовок (макс 500)auditScore= оценка технического аудита (0-100)daysInactive= дней без активности (макс 60)
Обновление probability:
- При каждом изменении маркетинговых метрик
- При завершении технического аудита
- Ежедневно (cron job) для пересчета по времени
События и триггеры
1. Создание ОСС
-- При создании ОСС автоматически:
-- 1. Обновить статус pipeline на 'voting'
-- 2. Связать ОСС с pipeline объектом
-- 3. Отправить уведомление менеджеру
2. Завершение ОСС
-- При завершении ОСС:
-- 1. Если quorum > 50% и решение "за":
-- - Обновить статус pipeline на 'transfer'
-- - Создать запись в buildings (если еще нет)
-- - Связать building_id с pipeline
-- 2. Если ОСС провалено:
-- - Обновить probability (-20%)
-- - Вернуть статус на 'preparation' или 'negotiation'
3. Завершение технического аудита
-- При завершении аудита:
-- 1. Обновить probability на основе wear_percent и projected_margin
-- 2. Если wear_percent > 70%:
-- - Уменьшить probability на 15%
-- 3. Если projected_margin < 10%:
-- - Уменьшить probability на 10%
4. Обновление маркетинговых метрик
-- При обновлении метрик:
-- 1. Пересчитать probability
-- 2. Проверить условия для перехода на следующую стадию
-- 3. Автоматически перевести, если условия выполнены
Deadlines и напоминания
Автоматические напоминания:
- 7 дней в стадии - напомнить менеджеру о необходимости действий
- 30 дней без активности - предупреждение о риске потери объекта
- Deadline ОСС - напоминание за 3 дня до окончания
- Просроченные задачи - ежедневные уведомления
Интеграция с другими модулями
Связь с модулями:
- ОСС модуль - автоматическое создание ОСС при переходе в 'preparation'
- Аудит модуль - автоматическое создание задачи на аудит при 'negotiation'
- Маркетинг модуль - автоматическое создание активности при добавлении объекта
- Buildings модуль - автоматическое создание здания при 'transfer'
Реализация
1. Таблица для истории переходов
CREATE TABLE development_pipeline_history (
id BIGSERIAL PRIMARY KEY,
pipeline_id VARCHAR(50) REFERENCES development_pipeline(id) ON DELETE CASCADE,
from_status VARCHAR(20),
to_status VARCHAR(20),
reason TEXT,
triggered_by VARCHAR(50), -- 'auto' | 'manual' | user_id
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
2. Таблица для правил автоматизации
CREATE TABLE development_automation_rules (
id BIGSERIAL PRIMARY KEY,
rule_name VARCHAR(100) NOT NULL,
from_status VARCHAR(20),
to_status VARCHAR(20),
conditions JSONB, -- условия для срабатывания
enabled BOOLEAN DEFAULT TRUE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
3. Cron задачи (Node.js)
- Ежедневная проверка условий для автоматических переходов
- Пересчет probability для всех объектов
- Проверка deadlines и отправка уведомлений
4. Триггеры в БД
- Автоматическое обновление статуса при создании ОСС
- Автоматическое обновление при завершении ОСС
- Логирование всех изменений статуса
Примеры workflow
Сценарий 1: Успешный объект
- Объект добавлен вручную →
analysis(probability: 20%) - Проведена встреча, найдены активисты → probability: 35% →
negotiation - Проведено 3 встречи, 5 активистов → probability: 65% →
preparation - Создан технический аудит → probability: 70%
- Создано ОСС → автоматически
voting - ОСС завершено успешно → автоматически
transfer+ создан building
Сценарий 2: Потеря объекта
- Объект в
negotiation45 дней без активности - Автоматическое снижение probability до 15%
- Автоматический откат в
analysis - Уведомление менеджеру о риске потери
Сценарий 3: Импорт из файла
- Загружен CSV с 50 объектами
- Автоматическое создание записей в
analysis - Автоматическое создание маркетинговых активностей
- Распределение по менеджерам (round-robin или по районам)