.
This commit is contained in:
+232
@@ -0,0 +1,232 @@
|
||||
ТЕХНИЧЕСКОЕ ЗАДАНИЕ v0.2
|
||||
Подсистема: модуль «Маркетинг» (Анализ + Продвижение + Результаты) платформы NAK.AI
|
||||
|
||||
1. Общие положения
|
||||
Цель подсистемы:Реализовать единый модуль «Маркетинг», который для предпринимателя МСБ выполняет полный цикл:
|
||||
Собирает минимальные данные о бизнесе.
|
||||
Проводит автоматический маркетинговый анализ (рынок, конкуренты, ЦА, каналы, SWOT).
|
||||
Формирует понятный аналитический отчёт с рекомендациями простым языком.
|
||||
Позволяет на основе анализа создать и запустить продвижение (кампанию).
|
||||
Отображает результаты продвижения в виде метрик и простых выводов.
|
||||
Роль пользователя: владелец или представитель МСБ (без штатного маркетолога).Интерфейс: полностью на русском языке, без перегруза терминами.
|
||||
|
||||
2. Целевая аудитория и сценарий использования
|
||||
Малый и средний бизнес в Казахстане.
|
||||
Пользователь не обязан разбираться в маркетинге.
|
||||
Ожидание: “я отвечу на несколько вопросов → система сама всё посчитает → покажет выводы → предложит готовое продвижение”.
|
||||
Важно:Нельзя заставлять пользователя:
|
||||
выбирать типы рекламы (таргет/контекст и т.д.),
|
||||
выбирать форматы продвижения “по-умному”,
|
||||
считать бюджеты и вручную настраивать каналы.
|
||||
Система сама принимает сложные решения и даёт гибкий, но простой интерфейс.
|
||||
|
||||
3. Общая структура модуля «Маркетинг»
|
||||
Модуль «Маркетинг» включает 3 логических блока:
|
||||
Блок А. Маркетинговый анализ
|
||||
Блок B. Автоматическое продвижение
|
||||
Блок C. Результаты кампаний
|
||||
В UI это один раздел “Маркетинг” с навигацией по шагам.
|
||||
|
||||
4. Блок А. Маркетинговый анализ
|
||||
4.1. Назначение блока
|
||||
Собрать минимальный набор входных данных и выполнить автоматический анализ, чтобы:
|
||||
объяснить предпринимателю, на каком рынке он работает,
|
||||
кто его конкуренты,
|
||||
кто его клиент,
|
||||
какие каналы и форматы для него перспективны,
|
||||
в чём его сильные и слабые стороны.
|
||||
4.2. Пользовательский поток (step-by-step)
|
||||
Шаг А1. Экран «Начать анализ»
|
||||
Поля ввода (всё максимально простым языком):
|
||||
Чем занимается ваш бизнес?Тип: строка, max 255Примеры подсказок:
|
||||
«Студия маникюра»
|
||||
«Магазин детской одежды»
|
||||
«СТО по ремонту авто»
|
||||
Где вы работаете?Тип: строкаПримеры:
|
||||
«Алматы»
|
||||
«Астана»
|
||||
«Онлайн по всему Казахстану»
|
||||
Что вы продаёте?Тип: строкаПримеры:
|
||||
«Наращивание ресниц»
|
||||
«Пальто зимние»
|
||||
«Установка дверей»
|
||||
Кто ваш клиент? (опционально)Тип: строка + быстрые кнопки выбора:
|
||||
Женщины 20–40
|
||||
Мужчины 25–45
|
||||
Семьи
|
||||
Молодёжь
|
||||
Все подряд
|
||||
Кнопка: «Начать анализ»
|
||||
После нажатия создаётся сущность MarketingAnalysis со статусом PENDING.
|
||||
|
||||
Шаг А2. Обработка анализа
|
||||
Бэкенд:
|
||||
Меняет статус PENDING → IN_PROGRESS.
|
||||
Запускает внутренние алгоритмы анализа (в рамках MVP можно сделать заглушки/правила).
|
||||
Подзадачи анализа:
|
||||
Анализ рынка (MarketInsights)
|
||||
Анализ конкурентов (CompetitorInsights)
|
||||
Анализ ЦА (AudienceProfile)
|
||||
Анализ каналов (ChannelInsights)
|
||||
SWOT (SwotAnalysis)
|
||||
Формирование рекомендаций (Recommendation)
|
||||
|
||||
Шаг А3. Экран «Анализ выполняется»
|
||||
Пользователь видит:
|
||||
Прогресс-бар (этапы: рынок → конкуренты → ЦА → SWOT → отчёт)
|
||||
Сообщение:
|
||||
«Система анализирует ваш рынок, конкурентов и целевую аудиторию. Это может занять немного времени.»
|
||||
Опрашивается GET /api/marketing/analyses/{id}/status до состояния COMPLETED или FAILED.
|
||||
|
||||
Шаг А4. Экран «Готовый отчёт»
|
||||
После завершения анализа:
|
||||
UI запрашивает GET /api/marketing/analyses/{id} и отображает блоки:
|
||||
Обзор бизнеса (кратко, на основе BusinessProfile + входных)
|
||||
Рынок (MarketInsights)
|
||||
Конкуренты (CompetitorInsights)
|
||||
Целевая аудитория (AudienceProfile)
|
||||
Каналы (ChannelInsights)
|
||||
SWOT (SwotAnalysis)
|
||||
Рекомендации (список Recommendation)
|
||||
Кнопки:
|
||||
«Сохранить отчёт» (на будущее – выгрузка PDF/Word)
|
||||
«Перейти к продвижению» → открывает блок B.
|
||||
|
||||
5. Блок B. Автоматическое продвижение
|
||||
5.1. Назначение блока
|
||||
На основе данных анализа автоматически:
|
||||
сформировать цель кампании,
|
||||
предложить стратегию,
|
||||
создать структуру кампании и контент-пакет,— чтобы предпринимателю не пришлось самому разбираться в каналах и форматах.
|
||||
5.2. Пользовательский поток (step-by-step)
|
||||
Шаг B1. Экран «Выбор цели продвижения»
|
||||
Появляется после клика «Перейти к продвижению» или при заходе в маркетинг → вкладка «Продвижение».
|
||||
Пользователь видит вопрос:
|
||||
«Какой результат вы хотите получить?»
|
||||
Карточки-цели (CampaignGoal):
|
||||
Увеличить продажи (increase_sales)
|
||||
Получить больше заявок/звонков (get_leads)
|
||||
Повысить узнаваемость бренда (awareness)
|
||||
Продвигать акцию или спецпредложение (promo)
|
||||
Кнопка: «Продолжить»
|
||||
После выбора вызывается POST /api/promotion/campaigns с:
|
||||
{
|
||||
"business_id": "<id>",
|
||||
"analysis_id": "<last_or_selected>",
|
||||
"goal_id": "increase_sales"
|
||||
}
|
||||
Создаётся Campaign со статусом DRAFT.
|
||||
|
||||
Шаг B2. Автоматическое формирование стратегии
|
||||
Бэкенд:
|
||||
Читает MarketingAnalysis по analysis_id.
|
||||
Использует данные:
|
||||
AudienceProfile
|
||||
ChannelInsights
|
||||
MarketInsights
|
||||
Recommendation
|
||||
Формирует сущности:
|
||||
Strategy: общее описание, длительность (например, 7–14 дней).
|
||||
CampaignChannel: какие каналы будут использоваться.
|
||||
ContentItem: список контентных единиц (черновики).
|
||||
Пример:
|
||||
Каналы: Instagram, Telegram, 2GIS
|
||||
План:
|
||||
3 поста в Instagram
|
||||
7 сторис
|
||||
1 подборка на маркетплейсе/каталоге
|
||||
1 простая рассылка по клиентам (если есть база – позже)
|
||||
|
||||
Шаг B3. Экран «Стратегия продвижения»
|
||||
UI запрашивает GET /api/promotion/campaigns/{campaign_id} и отображает:
|
||||
Цель кампании (человекочитаемый текст)
|
||||
Каналы, которые выбрала система
|
||||
Краткое текстовое описание стратегии:
|
||||
«На основе вашего анализа система рекомендует 2 недели активного продвижения в Instagram и Telegram с упором на отзывы и примеры работ.»
|
||||
Пользователь может:
|
||||
«Принять стратегию» → переход к контенту
|
||||
«Редактировать детали» (в MVP можно просто подсветить, что это появится позже или минимально корректировать текст/названия)
|
||||
|
||||
Шаг B4. Экран «Материалы кампании» (контент-пакет)
|
||||
Отображаются ContentItem:
|
||||
Список:
|
||||
Тип: пост / сторис / баннер / email
|
||||
Канал
|
||||
Черновой текст (который может быть сгенерирован системой)
|
||||
Подсказка по визуалу (например: «фото до/после», «фото товара на человеке»)
|
||||
Пользователь может:
|
||||
Просмотреть
|
||||
При необходимости подправить текст (на фронте)
|
||||
Нажать «Готово, перейти к запуску»
|
||||
|
||||
Шаг B5. Экран «Запуск кампании»
|
||||
Простой экран подтверждения:
|
||||
«Кампания готова к запуску.Вы можете использовать эти материалы для публикации на своих площадках.В следующих версиях система сможет автоматически публиковать материалы через интеграции.»
|
||||
Кнопка:
|
||||
«Зафиксировать запуск кампании» → POST /api/promotion/campaigns/{id}/activate
|
||||
Статус Campaign меняется на ACTIVE.
|
||||
|
||||
6. Блок C. Результаты кампаний
|
||||
6.1. Назначение
|
||||
Показать предпринимателю понятную картину, как сработало продвижение:
|
||||
без сложных метрик,
|
||||
с упором на результат: охват, вовлечённость, заявки, наиболее эффективные каналы.
|
||||
6.2. Пользовательский поток
|
||||
Шаг C1. Список кампаний
|
||||
Экран:
|
||||
Таблица или карточки кампаний:
|
||||
Название кампании
|
||||
Цель
|
||||
Статус: DRAFT, ACTIVE, FINISHED
|
||||
Краткая метрика: например, «Охват: 13 200, Заявок: 31»
|
||||
Данные: GET /api/promotion/campaigns?business_id=...
|
||||
|
||||
Шаг C2. Экран «Результаты продвижения» (детали кампании)
|
||||
Показывает:
|
||||
Основные показатели (CampaignMetrics):
|
||||
Охват (суммарно)
|
||||
Вовлечённость (лайки/клики/сообщения)
|
||||
Заявки/обращения (если будут интеграции/ручной ввод)
|
||||
График:
|
||||
Ось X: дни
|
||||
Ось Y: охват/клики или композитный KPI
|
||||
По каналам:
|
||||
Instagram: охват, вовлечённость
|
||||
Telegram: охват, клики
|
||||
Прочие
|
||||
Итоговый вывод системы (короткий текст):
|
||||
«Лучше всего сработал Instagram, основная активность пришлась на 3–5 день кампании. Рекомендуется повторить подобный формат постов и усилить работу с отзывами.»
|
||||
|
||||
7. Сущности данных (укрупнённо)
|
||||
(Ты их уже видел, но теперь в рамках одного модуля.)
|
||||
7.1. Общие
|
||||
BusinessProfile
|
||||
MarketingAnalysis
|
||||
MarketInsights
|
||||
CompetitorInsights
|
||||
AudienceProfile
|
||||
ChannelInsights
|
||||
SwotAnalysis
|
||||
Recommendation
|
||||
7.2. Продвижение
|
||||
Campaign
|
||||
CampaignGoal
|
||||
Strategy
|
||||
Channel
|
||||
CampaignChannel
|
||||
ContentItem
|
||||
CampaignMetrics
|
||||
Связь главная:Campaign.analysis_id → MarketingAnalysis.id
|
||||
|
||||
8. Важные бизнес-правила и нюансы
|
||||
Пользователь не выбирает тип продвижения (“таргет” / “контекст”) — только цель, всё остальное решает система.
|
||||
Не задаём вопрос про бюджет на этом этапе (подписная модель).
|
||||
Не перегружаем терминами: CTA, CTR, CPC и т.д. — только человекочитаемые объяснения.
|
||||
В модуле «Маркетинг» нет технических слов “AI”, “нейросеть”, вместо этого — “система”, “анализ”.
|
||||
Переход от блока Анализа к Продвижению — мягкий, логичный, без ощущения “другого продукта”.
|
||||
|
||||
9. Нефункциональные требования (кратко)
|
||||
Все тексты для пользователя — на русском.
|
||||
Логирование действий пользователя и ключевых событий.
|
||||
API версионируемый: /api/v1/...
|
||||
Архитектура должна позволять вынести анализ и кампании в отдельные сервисы/очереди при росте нагрузки.
|
||||
Reference in New Issue
Block a user