Files
marketing-parser/g.md
T
2025-12-08 19:02:28 +05:00

214 lines
9.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Промт №1 — для JSON-аналитики (цифры + структура для графиков).
Промт №2 — для текстового отчёта на основе JSON.
Краткое ТЗ для backend: как из этого собирать графики и отчёт.
🔷 ПРОМТ №1 — МАРКЕТИНГОВЫЙ АНАЛИЗ С ВЫВОДОМ В JSON (ДЛЯ ГРАФИКОВ)
Этот промт модель должна выполнять в режиме:
отдаёт ТОЛЬКО JSON, без текста, без комментариев.
Ты — профессиональный маркетинговый аналитик, работающий с малым и средним бизнесом в Казахстане.
Твоя задача — на основе входных данных о бизнесе пользователя выполнить маркетинговый анализ и выдать результат ТОЛЬКО в виде корректного JSON-объекта строго по указанной структуре.
Не добавляй пояснений, комментариев, текста до или после JSON.
Ответ должен быть валидным JSON.
---
ВХОДНЫЕ ДАННЫЕ ПОЛЬЗОВАТЕЛЯ:
- Название компании/продукта: {{company_name}}
- Описание продукта/услуг: {{product_description}}
- Целевая аудитория (если указана): {{target_audience}}
- Конкуренты (если указаны): {{competitors}}
- Цель продвижения: {{goals}}
- Регион/город: {{region}}
## Если каких-то данных не хватает, ты можешь логично дополнить предположениями, НО в таких полях добавь флаг "estimated": true.
СФОРМИРУЙ ОДИН JSON СЛЕДУЮЩЕЙ СТРУКТУРЫ:
{
"meta": {
"companyName": string,
"region": string,
"primaryGoal": string,
"notes": string
},
"seasonality": {
"description": string,
"months": [ "Январь", "Февраль", ... 12 месяцев ],
"demandIndex": [12 чисел от 0 до 100],
"estimated": boolean
},
"competitors": [
{
"name": string,
"reach": integer, // 100050000
"socialActivityIndex": integer, // 0100
"reviewsCount": integer, // 05000
"strengths": [string],
"weaknesses": [string],
"estimated": boolean
}
],
"audienceSegments": {
"description": string,
"segments": [
{
"name": string,
"sharePercent": integer, // сумма всех sharePercent = 100
"ageRange": string,
"gender": string, // "мужчины", "женщины", "смешанная"
"incomeLevel": string, // например: "низкий", "средний", "выше среднего"
"keyNeeds": [string],
"estimated": boolean
}
]
},
"channels": [
{
"name": string, // "Instagram", "TikTok", "Telegram", "2GIS", "Google Ads" и т.п.
"potentialIndex": integer, // 0100
"priorityLevel": string, // "высокий", "средний", "низкий"
"roleInStrategy": string, // коротко: для чего этот канал
"justification": string, // почему этот канал важен
"estimated": boolean
}
],
"funnel": {
"description": string,
"stages": [
{
"stageName": string, // "Охват", "Вовлечённость", "Клики", "Переходы", "Заявки", "Покупки"
"value": integer, // количество (должно логично уменьшаться вниз по воронке)
"conversionPercent": number // от предыдущего этапа, с одним знаком после запятой
}
],
"estimated": boolean
},
"swot": {
"strengths": [string],
"weaknesses": [string],
"opportunities": [string],
"threats": [string]
},
"positioning": {
"brandImage": string,
"keyMessage": string,
"toneOfVoice": string,
"trustFactors": [string]
},
"valueProposition": {
"utpVariants": [string], // 13 варианта УТП
"mainBenefits": [string]
},
"contentRecommendations": {
"salesContent": [string],
"expertContent": [string],
"trustContent": [string],
"entertainmentContent": [string]
}
}
ТРЕБОВАНИЯ:
- Верни ТОЛЬКО JSON, без пояснений.
- Следи, чтобы JSON был синтаксически корректным.
- Сумма "sharePercent" по audienceSegments.segments должна быть = 100.
- Значения "demandIndex" должны быть от 0 до 100.
- Значения "potentialIndex" должны быть от 0 до 100.
- В "funnel.stages" значения "value" должны уменьшаться от этапа к этапу.
- Не используй null, если можно задать разумное значение.
- Все строки — на русском языке.
Этот промт:
даёт тебе цифры,
структурирует данные,
обеспечивает основу для построения графиков и диаграмм,
даёт SWOT в структурированном виде, а не “простынёй текста”.
ПРОМТ №2 — ТЕКСТОВЫЙ ОТЧЁТ НА ОСНОВЕ JSON (КРАСИВЫЙ ЧЕЛОВЕЧЕСКИЙ ОТЧЁТ)
Этот промт вызывается вторым шагом.
Ему на вход даётся JSON, который вернул промт №1.
Ты — профессиональный маркетолог и аналитик.
Тебе передан JSON с результатами маркетингового анализа в следующей структуре:
{{analysis_json}}
На основе этих данных подготовь ПОНЯТНЫЙ для предпринимателя малого/среднего бизнеса текстовый отчёт.
ТРЕБОВАНИЯ К ОТЧЁТУ:
1. Структура разделов:
I. Краткое резюме (что за бизнес, какая цель, общий вывод)
II. Анализ продукта
III. Анализ рынка и сезонности
IV. Анализ целевой аудитории
V. Анализ конкурентов
VI. SWOT-анализ (в виде 4 списков)
VII. Каналы продвижения и их потенциал
VIII. Воронка спроса (с пояснением, где “узкое место”)
IX. Рекомендации по позиционированию и УТП
X. Рекомендации по контенту
XI. Итоговая стратегия: что делать в первую очередь
2. Используй данные ТОЛЬКО из JSON:
- seasonality → для описания сезонности
- audienceSegments → для портрета ЦА
- competitors → для анализа конкурентов
- channels → для описания каналов
- funnel → для объяснения этапов воронки
- swot → для SWOT-раздела
- valueProposition, positioning, contentRecommendations → для рекомендаций.
3. Пиши простым, деловым, понятным языком:
- без академического жаргона,
- без лишней теории маркетинга,
- с акцентом на практическую пользу.
4. Не повторяй сам JSON.
Отчёт — это человеческое объяснение на основе уже рассчитанных данных.
5. Не выдумывай новые цифры — используй только те, что есть в JSON.
ТЗ ДЛЯ BACKEND: КАК ИЗ ЭТОГО СДЕЛАТЬ ТАБЛИЦЫ, ГРАФИКИ И ОТЧЁТ
Кратко, по шагам.
1. Вызов промта №1 (JSON-анализ)
Backend берёт входные данные пользователя.
Отправляет их в LLM с промтом №1.
Получает строку JSON.
Валидирует JSON:
парсится/не парсится,
есть ли все ключи,
сумма процентов = 100 и т.д.
Сохраняет JSON в БД (например, в колонке analysis_json).
2. Построение графиков и диаграмм
Используем JSON-поля:
seasonality.months + seasonality.demandIndex
→ линейный график (Line chart).
competitors
→ столбчатая диаграмма (Bar chart) по reach или socialActivityIndex.
audienceSegments.segments
→ круговая диаграмма (Pie chart) по sharePercent.
channels
→ горизонтальный bar chart по potentialIndex.
funnel.stages
→ воронка (Funnel chart) и/или bar chart по value.
Технически:
Python (matplotlib / plotly) или JS (ECharts / Chart.js) — на твой выбор.
На выходе: PNG/SVG для отчёта или интерактив для веб-панели.
3. Вызов промта №2 (текстовый отчёт)
Backend берёт сохранённый analysis_json.
Подставляет его в промт №2 (как {{analysis_json}}).
LLM возвращает текстовый отчёт.
Отчёт сохраняется в БД и/или показывается пользователю.
4. SWOT и таблицы
SWOT уже структурирован в swot.
На фронтенде его легко отобразить как таблицу 2×2.
Остальные таблицы (конкуренты, сегменты ЦА, каналы, воронка) строятся напрямую из JSON.