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

9.7 KiB
Raw Permalink Blame History

Промт №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.