233 lines
14 KiB
Markdown
233 lines
14 KiB
Markdown
ТЕХНИЧЕСКОЕ ЗАДАНИЕ 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/...
|
||
Архитектура должна позволять вынести анализ и кампании в отдельные сервисы/очереди при росте нагрузки.
|