Растущие ниши через промпты
3 метода: CAGR, 3-month momentum, healthy growth
Цель
Получить 3 разных метода поиска растущих ниш через ChatGPT: по росту оборота, по 3-месячному импульсу и по росту выручки на продавца.
Зачем это нужно
На Ozon ~4385 категорий, на Wildberries примерно столько же. Вручную прокликивать рейтинги за полтора года, переключая месяцы - десятки часов. ChatGPT с выгрузкой из SalesFinder делает то же за 3 минуты.
Поиск через нейросеть не идеален для товаров из Китая под перепродажу: там решает конкретный товар (например, заглушка на фаркоп 50x50 мм), а не категория «фаркопы». Зато метод идеален для поиска ниши, где можно закрепиться надолго, запустить своё производство и стать лидером.
Метод работает на любом маркетплейсе - Ozon, Wildberries, Яндекс.Маркет. Система одинаковая, меняется только источник выгрузки.
Что понадобится
- ChatGPT Plus (см. M1.1) - бесплатно промпт не отработает, нужен проект с o3.
- Сервис аналитики с выгрузкой категорий: SalesFinder, MPStats, Moneyplace - любой. В примерах курса используется SalesFinder, но ChatGPT понимает выгрузки любого сервиса.
- ZIP-архив выгрузок по месяцам за 1.5 года (18 файлов). Статья по созданию архива на Windows/Mac - в чате курса.
Пошаговая инструкция
Шаг 1. Сделать выгрузку за 18 месяцев
В SalesFinder (или аналоге):
- Рейтинги -> Выручка -> выбрать полный месяц (1-30/31 число).
- Построить рейтинг топ-5000 категорий.
- Экспорт в Excel.
- Повторить для каждого из последних 18 месяцев.
Каждый файл содержит: Category ID, Category Name (трёх- или четырёхуровневый путь), выручка, продажи в штуках, товаров с продажами, средний чек, продавцы с продажами, бренды.
Частая ошибка: скачать только за последний месяц. Без динамики за полтора года ChatGPT не посчитает CAGR и импульс.
Подсказка: если файлов меньше 18, ChatGPT всё равно отработает, но точность падает. В ответе он укажет сколько месяцев не хватает.
Шаг 2. Создать проект в ChatGPT
- Создать новый проект, назвать «Подбор ниш» (или «Подбор товаров»).
- Выбрать модель o3.
- Загрузить ZIP-архив со всеми 18 файлами. Не загружать по одному - ChatGPT запутается.
Шаг 3. Метод 1 - ранжирование по росту оборота (CAGR)
Вставить промпт №1 (см. ниже в разделе «Промпты урока»). ChatGPT:
- сгруппирует данные по категории уровня 1;
- посчитает CAGR = (Sales_last / Sales_first)^(12/(n-1)) - 1;
- отфильтрует ниши, где выручка последнего месяца выше порога;
- отсортирует по CAGR и выручке, выведет топ-100;
- построит bubble-chart (ось X - Revenue_last, ось Y - CAGR %, размер пузыря - Revenue_last) и файл top100.xlsx.
Готово за ~3 минуты. Пузыри в правом верхнем углу - горящие ниши.
Частая ошибка: верить топу без фактчека. Категория с ростом 40 000% - обычно скачок с 5 000 до 1 100 000, где первая точка крошечная.
Подсказка: если метрика непонятна (CAGR, AGR) - спросить ChatGPT в диалоге. Он объяснит.
Шаг 4. Метод 2 - 3-месячный импульс (Momentum)
Вставить промпт №2. ChatGPT сравнивает оборот за последние 3 месяца (sum_last3) с предыдущими 3 месяцами (sum_prev3) и считает momentum_pct = (sum_last3 / sum_prev3 - 1) * 100 %.
Результат:
- Top_10 Momentum - категории с положительным импульсом.
- Losing Momentum - категории с отрицательным импульсом.
- CSV с полным ранжированным списком.
- Резюме на ~150 слов: главные победители, неожиданные всплески, стратегический вывод.
Подходит для сезонных товаров: если тренд начинается за 3 месяца до пика, вы успеваете зайти в момент. Если зашли в конце 3 месяцев - опоздали.
Подсказка: чтобы отсеять микрониши, попросить ChatGPT показать только категории с оборотом за 3 месяца больше 1 млн руб. Фильтр отсекает ~82% крошечных категорий.
Шаг 5. Метод 3 - рост выручки на продавца (Healthy growth)
Вставить промпт №3. ChatGPT считает:
- CAGR_Sales - темп прироста выручки;
- CAGR_Competitors - темп прироста продавцов;
- delta = CAGR_Sales - CAGR_Competitors.
Классификация ниш:
- Healthy: delta > 0 (выручка растёт быстрее конкуренции).
- Neutral: -0.05 < delta < 0.
- Over-crowded: delta <= -0.05.
Over-crowded отфильтровывается, остальные сортируются по delta. Идеально для долгосрочного захода: ниша растёт, а делить пирог приходится между тем же числом продавцов.
Частая ошибка: ChatGPT может посчитать по колонке «продавцов с продажами» вместо «товаров с продажами». Попросить явно: «используй колонку товаров с продажами».
Подсказка: задать show_plots=True - получите scatter (X = CAGR_Competitors, Y = CAGR_Sales) и bar-chart по delta.
Шаг 6. Проверить 1-2 ниши вручную (фактчек)
Взять 2-3 категории из топа, открыть в SalesFinder, посмотреть динамику с 01.2024. Совпадает ли направление роста? Падает ли цена? Растёт ли количество товаров?
Без этого шага высок риск зайти в сезонную нишу на спаде или в категорию с демпингом.
Шаг 7. Узкий анализ внутри выбранной ниши
Когда категория понравилась - скачать её выгрузку за 2 последних месяца и попросить ChatGPT выделить товары, у которых:
- не упала выручка;
- 20-200 отзывов;
- оборот > 100 000 руб/мес;
- рейтинг > 4.5.
Если товаров 0 - спросить «найди похожие с отклонением до 30% и объясни, какая метрика стала узким горлышком».
Шаг 8. Сегментация под собственное производство
Если вы производитель (например, металлоизделий), добавить к анализу: «у меня своя мастерская по металлу, мы можем делать столешки, ножки, лавочки. Оставь в анализе только категории, где могут быть товары из металла».
Промпты урока
| # | Метод | Где взять |
|---|---|---|
| 1 | Ранжирование по CAGR (рост оборота) | см. ниже |
| 2 | 3-месячный импульс (Momentum) | см. ниже |
| 3 | Рост выручки на продавца (Healthy growth) | см. ниже |
Промпт 1. Ранжирование по обороту
Ты - senior-аналитик e-commerce. Твоя цель - по ежемесячным отчётам Ozon найти крупные и быстрорастущие ниши, опираясь на оборот (GMV) и CAGR. У тебя будет 18 Excel-файлов вида ozon_sales_2024-01.xlsx .. ozon_sales_2025- 06.xlsx (имя может отличаться, но всегда содержит год-месяц). Каждый файл - один месяц. Требуемый результат: - Таблица top-100 ниш (строки) со столбцами: Category, Revenue_first, Revenue_last, CAGR_%, Months - Визуализация: bubble-chart (ось X - Revenue_last, ось Y - CAGR_%, размер пузыря - Revenue_last; если plotly недоступен - bar) - Файл top100.xlsx с той же таблицей Пример колонок (из выгрузки): - Категория 1 - основная ниша (использовать как Category) - Категория 2 - подниша (опция) - GMV, P - оборот/выручка (обязательно) - Заказы, шт; Товаров, шт - не нужны Если структура иная, измени только строки CATEGORY_COL и REVENUE_COL в блоке параметров ниже. Формулы и логика: - Сгруппировать данные по CATEGORY_COL (уровень-1) - CAGR = (Sales_last / Sales_first) ** (12 / (months-1)) - 1 - Оставить ниши, где Sales_last > MIN_LATEST_REVENUE - Отсортировать по CAGR (убыв.) и Sales_last (убыв.) - Вывести top N (по умолчанию 100)
Промпт 2. 3-месячный импульс
Ты - аналитик данных e-commerce. Твоя задача - находить быстрорастущие
товарные ниши на маркетплейсе Ozon, вычисляя трёхмесячный импульс продаж
для каждой категории.
Входные данные пользователя:
- 18 файлов Excel, каждый файл - один календарный месяц (формат имени
YYYY-MM.xlsx).
- В первой вкладке каждого файла минимум такие колонки:
- category_id
- category_name
- turnover_rub - суммарный оборот (GMV) руб за месяц
Шаги работы:
1. Загрузка данных:
a. Прочитать все 18 файлов, взять первую вкладку, оставить только три
колонки выше.
b. Добавить колонку month, получив её из имени файла (YYYY-MM).
c. Объединить всё в один датафрейм, отсортировать по month.
2. Расчёт скользящих сумм:
Для каждого category_id посчитать две 3-месячные суммы:
- sum_last3 - оборот за последние 3 месяца (t-2 .. t)
- sum_prev3 - оборот за предыдущие 3 месяца (t-5 .. t-3)
Для месяцев, где t < 6, импульс не вычислять.
3. Метрика импульса:
momentum_pct = (sum_last3 / sum_prev3 - 1) * 100 %
4. Фильтрация и ранжирование:
a. Оставить строки, где momentum_pct > 0.
b. Отсортировать по убыванию momentum_pct.
5. Вывод:
a. Таблица "Top_10 Momentum" с колонками: rank, category_name,
momentum_pct, sum_last3, sum_prev3.
b. Таблица "Losing Momentum" - категории с momentum_pct < 0.
c. Краткое текстовое резюме (~150 слов), в котором:
- Главные победители (рост >= 50%)
- Неожиданные всплески (если игрушки обгоняют электронику)
- Стратегический вывод: рост точечный или широкой волной
d. Приложить CSV-файл с полным ранжированным списком.
6. Форматирование:
- Числа: пробел как разделитель тысяч (12 645 346) и проценты с одним
десятичным (54,3%).
- Markdown-заголовки для секций.
- Таблицы шириной < 15 колонок.
Допущения:
- Если файлов не 18, работай с тем, что есть, и укажи это в отчёте.
- Если названия колонок отличаются, один раз спроси сопоставление и продолжай.
- "Последние 3" - это три хронологически последних месяца в наборе.Промпт 3. Рост выручки на продавца
Ты - аналитик e-commerce-данных маркетплейса Ozon.
Я (пользователь) загружу 18 Excel-файлов, по одному на каждый месяц за
последние 18 месяцев.
Твоя основная задача - определить товарные ниши с "здоровым" ростом, где
темп прироста выручки (GMV) опережает темп прироста числа продавцов
(Sellers Count).
1. Структура входных файлов:
- Каждый xlsx-файл называется "YYYY-MM.xlsx".
- Внутри один лист со столбцами: Category ID | Category Name | GMV_RUB |
Sellers Count | ...(другие поля)
2. Алгоритм действий:
1) Импортируй все 18 файлов (pandas.read_excel, первый лист).
2) Собери единый датафрейм со столбцами: Month (YYYY-MM из имени файла),
Category ID, Category Name, GMV_RUB, Sellers Count.
3) Убедись, что для каждой Category ID есть все 18 точек.
- Если месяцев не хватает - вставь NaN и интерполируй линейно ТОЛЬКО
для расчёта CAGR.
- В финальной таблице пометь такие категории символом /А в колонке
"Missing".
4) Рассчитай CAGR за весь период (1.5 года = 18 мес.):
CAGR = (Value_last / Value_first) ** (1 / 1.5) - 1
- Отдельно для GMV_RUB (CAGR_Sales) и Sellers Count (CAGR_Competitors).
5) Вычисли A = CAGR_Sales - CAGR_Competitors.
6) Классифицируй ниши:
- Healthy: A > 0
- Neutral: -0.05 < A < 0
- Over-crowded: A <= -0.05
7) Отфильтруй Over-crowded, отсортируй оставшиеся по убыванию A.
8) Сформируй вывод:
- Таблица "Top-N Healthy" (Category Name, A, CAGR_Sales,
CAGR_Competitors, GMV_Last, Sellers_Last, Missing).
- Краткий инсайт (1-2 предложения) для каждой категории.
- Список Over-crowded (Category Name, A) внизу.
9) Если параметр show_plots=True, построй:
- scatter-plot (X = CAGR_Competitors, Y = CAGR_Sales) с линией Y=X,
точки окрашены по A.
- bar-chart Top-N по A.
3. Пользовательские параметры (задаются в начале диалога):
- critical_delta: float, по умолчанию -0.05 - порог A для "Over-crowded"
- top_n: int, по умолчанию 100 - сколько Healthy-ниш вывести
- show_plots: bool, по умолчанию False - рисовать ли графики
- currency: str, по умолчанию "RUB" - если нужна конвертация GMV
4. Минимальный код-скелет (дополни по алгоритму):
import pandas as pd, numpy as np, re, glob, matplotlib.pyplot as plt
files = glob.glob("*.xlsx")
dfs = []
for f in files:
m = re.search(r"(\d{4})[-_]?(\d{2})", f)
month = f"{m.group(1)}-{m.group(2)}"
tmp = pd.read_excel(f, engine="openpyxl")
tmp["Month"] = month
dfs.append(tmp[["Month", "Category ID", "Category Name",
"GMV_RUB", "Sellers Count"]])
df = pd.concat(dfs, ignore_index=True)
# далее: проверка пропусков, интерполяция, расчёт CAGR,
# вычисление delta, классификация и формирование вывода
5. Правила общения:
- Все ответы - на русском.
- Сначала проверь, что загружено ровно 18 файлов нужного формата; иначе
запроси корректные данные.
- Не выводи сырые датафреймы целиком - только итоговые таблицы и/или
графики.
- Не задавай лишних уточнений, если структура файлов соответствует описанной.
- Будь лаконичен в коде, но подробен в текстовых выводах-инсайтах.
6. Итоговый ответ бота должен включать:
1) Таблицу "Top-N Healthy" с поясняющими заголовками.
2) Краткие комментарии-инсайты.
3) Список Over-crowded.
4) (Опционально) два графика.
5) Подсказку, какой параметр изменить, если пользователь хочет
расширить/сузить выборку.Чек-лист "урок усвоен"
Что делать с результатом
Взять топ-5 растущих ниш из промпта №3 (Healthy growth) и за 2 недели провести узкий анализ внутри каждой (Шаг 7). Цель - выбрать 1-2 ниши для тестовой закупки или запуска производства в текущем квартале.
Типовые проблемы
| Симптом | Причина | Решение |
|---|---|---|
| ChatGPT просит сопоставить колонки | Структура Excel отличается от шаблона | Подтвердить соответствие category_name -> категория, turnover_rub -> выручка |
| CAGR = 40 000% | Скачок с крошечной выручки (5 000 -> 1 100 000) | Поднять MIN_LATEST_REVENUE до 100 000 или отсеять такие категории вручную |
| ChatGPT считает по «продавцов с продажами» вместо «товаров с продажами» | По умолчанию берёт Sellers Count | Сказать явно: «используй колонку товаров с продажами» |
| Категории не подгружаются за часть месяцев | Названия категорий на Ozon менялись за 1.5 года | Нормально, помечается символом в колонке Missing |
| Bubble-chart не отображается | Plotly недоступен в текущем окружении | ChatGPT откатывается на bar-chart автоматически |
| Готовый список не подходит под нишу | Слишком широкая или микронишевая фильтрация | Поменять top_n или critical_delta и перезапустить |
Полезные ссылки
- SalesFinder: смотреть в чате курса (скидка по ссылке в описании оригинального видео)
- MPStats, Moneyplace - альтернативные сервисы аналитики с аналогичной выгрузкой
- Статья «как создать ZIP-архив на Windows и Mac» - в чате курса