Открываешь датасет — 50 колонок, половина с пропусками, типы данных перемешаны, а дедлайн уже вчера. Знакомо? По опыту, до 80% времени в аналитике уходит не на инсайты, а на подготовку: разобраться в структуре, вычистить мусор, понять, что вообще в этих данных есть интересного.
LLM здесь работают лучше всего не как «оракул, который выдаёт истину», а как быстрый кодер и генератор гипотез. Ты описываешь датасет — модель пишет pandas-код, предлагает срезы и формулирует, что проверять дальше. Ниже — 12 промтов, которые я реально гоняю в цикле: загрузка → очистка → EDA → визуализация → инсайты.
Важная оговорка: модель не видит твои данные, пока ты их не покажешь. Всегда передавай ей df.head(), df.dtypes и df.describe() — иначе получишь код, который падает на первом же запуске.
1. Первичный аудит датасета за один запрос
Задача: за 30 секунд понять, что за данные, где дыры и что чистить первым.
Промт:
Ты — senior data analyst. Вот структура датасета: [df.shape, df.dtypes, df.head(5)]. Составь отчёт: 1) что за данные и какова вероятная бизнес-суть; 2) колонки с пропусками и их доля; 3) подозрительные типы (числа как object, даты как строки); 4) 5 конкретных шагов очистки с кодом pandas.
Пример ответа: модель вернёт таблицу пропусков, укажет, что order_date хранится как object и требует pd.to_datetime(..., errors='coerce'), а в revenue есть отрицательные значения — вероятно, возвраты. Это первый фильтр, который отсекает половину ручной возни.
2. Промт для очистки: пропуски, дубликаты, выбросы
Задача: получить воспроизводимый пайплайн очистки, а не разовые правки.
Промт:
Напиши функцию
clean_df(df), которая: удаляет дубликаты по [ключевые колонки]; заполняет числовые пропуски медианой, категориальные — модой; приводит даты к datetime; логирует, сколько строк изменилось на каждом шаге. Добавь обработку выбросов через IQR с параметромclip=True/False.
Почему работает: ты просишь логирование изменений. Это критично — иначе через неделю не вспомнишь, почему в датасете стало на 12% меньше строк.
3. EDA с помощью ChatGPT: генерация гипотез до графиков
Задача: не рисовать 20 графиков наугад, а сначала сформулировать, что проверять.
Промт:
Вот df.describe() и список колонок. Предложи 10 гипотез о закономерностях в данных, ранжируй по вероятной ценности для бизнеса и укажи для каждой: тип анализа (корреляция, группировка, временной ряд) и нужный график.
Пример: для датасета интернет-магазина модель предложит проверить связь скидки с размером заказа, сезонность по дням недели и различия в поведении новых vs повторных клиентов — и сразу скажет, что для первой гипотезы нужен scatter с линией тренда.
4. Промт для корреляционного анализа без ложных связей
Задача: посчитать корреляции и не утонуть в мусорных связях.
Промт:
Построй матрицу корреляций Спирмена для числовых колонок. Отфильтруй пары с
|r| > 0.5. Для каждой пары объясни: это причинность, общий фактор или артефакт агрегации? Предупреди о рисках ложной корреляции.
Ключевой момент — Спирмен вместо Пирсона: он устойчив к выбросам и нелинейным монотонным связям. Модель сама напомнит, что корреляция ≠ причинность.
5. Промты для matplotlib/seaborn: графики с первого раза
Задача: получить код визуализации, который не нужно переписывать.
Промт:
Напиши код на seaborn: 1) распределение [колонка] с KDE; 2) boxplot [метрика] по [категория]; 3) heatmap корреляций. Требования: figsize=(12,6), заголовки на русском, значения подписаны, сохранение в PNG через plt.savefig(dpi=150, bbox_inches='tight').
Лайфхак: всегда добавляй bbox_inches='tight' — иначе подписи обрезаются. И проси plt.tight_layout(), если графиков несколько.
6. Промт для поиска аномалий
Задача: найти выбросы, которые ломают средние и портят отчёты.
Промт:
Найди аномалии в [метрика] тремя методами: IQR, z-score и isolation forest. Сравни результаты в таблице, укажи пересечение и объясни, какие аномалии похожи на реальные события, а какие — на ошибки ввода.
Три метода вместо одного — страховка: IQR ловит грубые выбросы, z-score чувствителен к нормальности, isolation forest работает с многомерными данными.
7. Промт для временных рядов: тренд, сезонность, аномальные дни
Задача: разложить метрику на составляющие и не спутать сезонность с ростом.
Промт:
Данные: ежедневная метрика за [период]. Разложи ряд через STL-декомпозицию (statsmodels), покажи тренд, сезонность и остатки. Отметь дни с аномальными остатками и предложи гипотезы: промо, сбои, праздники.
STL из statsmodels.tsa.seasonal — рабочий стандарт. Промт заставляет модель не просто нарисовать график, а интерпретировать остатки.
8. Промт для группировок и сравнения сегментов
Задача: понять, чем отличаются группы клиентов, регионов, каналов.
Промт:
Сгруппируй данные по [сегмент]. Для каждой группы посчитай: размер, среднее и медиану [метрика], долю [событие]. Выведи pivot-таблицу, отсортируй по размеру, выдели топ-3 и антитоп-3 группы. Предложи, что проверить в этих группах дальше.
9. Промт для проверки статистических гипотез
Задача: не принять случайный шум за инсайт.
Промт:
Сравни [метрика] между группами A и B. Проверь нормальность (Shapiro-Wilk), выбери корректный тест (t-test, Mann-Whitney или chi-square) с обоснованием, посчитай p-value и размер эффекта (Cohen's d). Объясни результат простыми словами.
Размер эффекта важнее p-value: при большой выборке значимым становится всё. Модель об этом помнит, если попросить явно.
10. Промт для feature engineering
Задача: превратить сырые колонки в признаки, которые реально объясняют поведение.
Промт:
Вот колонки датасета. Предложи 10 новых признаков: даты (день недели, час, разница между событиями), агрегаты по пользователю (частота, средний чек, recency), отношения и доли. Для каждого — код pandas и обоснование, зачем он нужен.
11. Промт для авто-отчёта на естественном языке
Задача: превратить расчёты в текст, который поймёт менеджер.
Промт:
Вот результаты анализа: [таблица с метриками]. Напиши executive summary: 5 ключевых выводов, каждый — с цифрой и следствием. Тон — деловой, без воды. В конце добавь 3 рекомендации и 2 ограничения анализа.
Блок «ограничения» обязателен: он защищает от переоценки выводов и делает отчёт честнее.
12. Промт для ревью собственного пайплайна
Задача: поймать ошибки до того, как их поймает заказчик.
Промт:
Вот мой скрипт анализа: [код]. Проведи ревью: найди утечки данных (data leakage), ошибки в train/test split, некорректные агрегации, необработанные edge cases. Для каждого замечания — объяснение и исправленный код.
Этот промт — последний шаг перед сдачей. Data leakage — самая частая ошибка в ML-пайплайнах (например, когда scaling делается до разбиения на train/test), и модель её ловит надёжнее глазами.
Как собрать это в рабочий процесс
| Этап | Промты | Что получаешь |
|---|---|---|
| Загрузка и аудит | 1 | Карта данных, план очистки |
| Очистка | 2 | Воспроизводимый пайплайн |
| EDA | 3, 4, 8 | Гипотезы и срезы |
| Визуализация | 5, 6, 7 | Графики с первого раза |
| Статистика | 9 | Обоснованные выводы |
| Финал | 10, 11, 12 | Признаки, отчёт, ревью |
Практическое правило: не проси модель «проанализировать данные» целиком. Разбивай на шаги и на каждом передавай ей актуальный срез (shape, dtypes, head). Так ответы остаются точными, а код — запускаемым.
Каждый промт выше — это не магия, а способ сжать рутину. Копируй, подставляй свои колонки и запускай. Начни с первых трёх: аудит, очистка, гипотезы — и ты удивишься, сколько времени освободится на то, ради чего аналитика и существует: на поиск неочевидных закономерностей.
Комментарии