Как из интернет маркетолога стать "аналитиком данных" за 1 день на практическом примере по шагам

Что от вас требуется на данный момент: опыт работы с данными аналитики, базовые знания программирования в python и как работают базы данных. Достаточно общего представления о программировании и работы с терминалом - для быстрого старта. В перспективе на практике вы сможете уже более детально изучить эти инструменты и чем больше вы будете получать практических задач - тем больше будете погружаться в эти инструменты.

Это руководство больше подойдет тем, кто привык учиться на практике, без длительного обучения.

Какие задачи вы сможете решать в перспективе:

  1. Бизнес-аналитика и BI (помощь малому бизнесу в принятии решений на основе данных)
  2. Маркетинговая аналитика (воронки, поведение пользователей, A/B тесты)
  3. Анализ данных из Google Analytics, CRM, Excel-файлов клиентов
  4. Автоматизация отчетов и визуализаций (в Power BI, Looker Studio, Tableau)

Какие инструменты нужно будет освоить:

В перспективе развития по данному направлению вам будут помогать перечисленные ниже инструменты, которые рекомендуется более детально изучать

Языки программирования:

  • Python — база. Особенно библиотеки pandas, numpy, matplotlib, seaborn, scikit-learn.
  • SQL — must-have для работы с данными из баз (PostgreSQL, MySQL).

BI и визуализация:

  • Power BI или Tableau — востребованы среди бизнес-клиентов.
  • Looker Studio (бывший Google Data Studio) — удобно для клиентов с Google Analytics.

AI-инструменты:

  • ChatGPT + Code Interpreter (Python) — для автоматизации обработки данных и отчетов.
  • AutoML-платформы — например, Google AutoML или PyCaret для no-code ML.

Как вы сможете применять свои знания в частной практике

Идеи услуг:

  • Построение дешбордов для бизнеса
  • Автоматизация отчетности
  • Анализ продаж, трафика, поведения клиентов
  • Подготовка данных для таргетированной рекламы
  • Аналитика маркетинговых каналов
  • Консультации по использованию ИИ в аналитике

Примеры реальных клиентов:

  • Малые и средние компании (e-com, недвижимость, услуги)
  • Онлайн-школы и курсы
  • Локальные бизнесы (магазины, клиники, агентства)
  • Агентства digital-маркетинга

Пример: что вы можете предложить клиенту

"Я помогу вашему бизнесу разобраться, откуда приходят клиенты, какие каналы приносят деньги, и как автоматизировать отчеты. Сделаю наглядные дешборды в Power BI и обучу, как ими пользоваться."

Практика

Итак, у нас есть потенциальная задача: "Анализ эффективности рекламных каналов и оптимизация маркетингового бюджета" от маркетингового агентства

К вам обращается агентство, которое ведёт рекламные кампании для клиента в Facebook, Google Ads и Instagram. У клиента падает ROI, и они хотят понять:

  • какие каналы работают эффективно, а какие "сливают" бюджет;
  • какие креативы и кампании приносят лиды;
  • стоит ли перераспределить бюджет;
  • как улучшить общую конверсию и сократить стоимость лида.

ШАГ 1: Получить CSV выгрузки от клиента

CSV выгрузки данных из Гугл Аналитики и/или CRM систем или баз данных MySql (будем рассматривать в следующей части)

Для решения этой задачи нам нужно получить от клиента CSV файлы из Google Analytics и CRM. Вот такой запрос на данные нужно сделать клиенту по аналитике из Google (должны быть произведены качественные настройки аналитики на стороне клиента)

✅ Что нужно выгрузить из Google Analytics:

  1. Источники трафика (по сессиям) Перейдите: GA4 → Отчёты → Приобретение → Трафик сессий Укажите период: последние 30 дней Нажмите на кнопку «Поделиться» → «Скачать файл» → выберите CSV
  2. Посещаемые страницы (лендинги) Перейдите: GA4 → Отчёты → Взаимодействие → Страницы и экраны Также выберите период и скачайте CSV
  3. (опционально) Создайте таблицу в "Исследованиях" (Explore) Если у вас есть доступ к GA4 "Исследования": Откройте: GA4 → Исследования (Explore) Создайте новый отчёт с колонками: Источник / кампания Страница входа Устройство Сессии, Отказы, Длительность сессии
  4. Скачайте итоговую таблицу в CSV

вот ссылка на тестовый файл Google Analytics, его вам нужно загрузить в вашу рабочую папку (будет создана на следующем шаге)

✅ Что нужно выгрузить из CRM:

1: Зайти в CRM

  • Войти в админ-панель вашей CRM-системы
  • Перейти в раздел “Лиды”, “Сделки”, или “Контакты” (в зависимости от того, что нужно выгрузить)

2: Выбрать нужный диапазон данных

  • Установить фильтр по дате создания/обновления (например, за последние 30 дней)
  • Уточнить статус (например, “Сделка успешно закрыта”)

3: Нажать “Экспорт” → выбрать CSV

Как из интернет маркетолога стать "аналитиком данных" за 1 день на практическом примере по шагам

4: Убедитесь, что включены нужные поля:

  • user_id или email клиента (для связи с GA)
  • campaign, source (если передаются из UTM)
  • status (лид, в процессе, успешно закрыт)
  • deal_value, create_date

5: Скачать CSV и отправить

  • После экспорта файл сохранится на компьютер
  • Отправьте его по email или загрузите в облако (Google Drive, Dropbox и т.д.)

вот ссылка на тестовый файл CRM, его вам нужно загрузить в вашу рабочую папку (будет создана на следующем шаге)

Шаг 2: Настроить среду обработки данных Jupyter

Jupyter — это интерактивная среда, где мы можем писать код (чаще всего на Python), запускать его по частям и сразу видеть результат — таблицы, графики, текст. 👉 Отлично подходит для анализа данных, визуализаций и пошаговых вычислений.

Установи Python и Jupyter Notebook

Если у тебя нет Homebrew — сначала установи его: https://brew.sh
Вот инструкция как его установить по шагам.
Открой Терминал и вставь эту команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

После установки появится инструкция — скопируй и вставь несколько строк в терминал, чтобы добавить Homebrew в твой zsh.

пример:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"

Проверь, что brew работает

brew -v

Если появится версия, значит всё в порядке.

Открой терминал и введи:

brew install python

Затем установи Jupyter:

pip3 install notebook pandas matplotlib

Создай рабочую папку и открой Jupyter

Создай папку, например:

mkdir ~/data-analysis cd ~/data-analysis

(в эту папке на вашем ПК вам нужно будет складывать все ваши файлы, что бы jupyter их "видел")

Запусти Jupyter:

jupyter notebook

Откроется браузер с интерфейсом Jupyter. Там можешь нажать "New" → "Python 3", чтобы создать новый файл.

Так как мы решили обучаться на практике в экспресс формате, мы пока не будем углубляться в программирование а будем использовать готовый код, который нужно вставить в jupyter notebook (или просто создать его в текстовом редакторе, сохранить в формате ipynb и открыть в jupyter)

Вот так это выглядит в Jupyter
Вот так это выглядит в Jupyter

Вот код по блокам:

Блок 1 (в этом блоке указаны имена ваших файлов с данными ga_fake_data.csv и crm_fake_data.csv

import pandas as pd Загрузка CSV ga = pd.read_csv("ga_fake_data.csv", parse_dates=["session_date"]) crm = pd.read_csv("crm_fake_data.csv", parse_dates=["create_date"]) ga.head()

ga — таблица из Google Analytics: данные по сессиям (канал, страница, продолжительность, bounce и т.п.)

crm — таблица из CRM: данные по лидам (user_id, статус, сумма сделки, дата)

Блок 2

print("Google Analytics данные:") print(ga.info()) print("\nУникальные источники:", ga['source'].unique())

source - откуда пришёл пользователь (Google, Facebook и т.п.)

Блок 3

Объединяем по user_idmerged = pd.merge(ga, crm, on="user_id", how="left", suffixes=('', '_crm'))merged['converted'] = merged['status'].apply(lambda x: 1 if x == 'converted' else 0)merged.head()

merged — объединённая таблица: сессии + данные лида
converted — бинарный индикатор (1 = заявка была конвертирована, 0 = нет)

Блок 4

agg = merged.groupby("source").agg({ 'session_id': 'count', 'converted': 'sum', 'session_duration': 'mean', 'bounce': 'mean', 'deal_value': 'mean' }).rename(columns={ 'session_id': 'sessions', 'converted': 'leads', 'session_duration': 'avg_session_duration', 'bounce': 'bounce_rate', 'deal_value': 'avg_deal_value' }) agg['conversion_rate (%)'] = (agg['leads'] / agg['sessions']) * 100 agg['bounce_rate (%)'] = agg['bounce_rate'] * 100 agg = agg.round(2) agg.sort_values("conversion_rate (%)", ascending=False)

agg — таблица с итогами по каждому источнику:

sessions — сколько сессий было

leads — сколько из них конвертировались

conversion_rate (%) — % заявок от сессий

avg_session_duration — средняя длительность сессии

bounce_rate (%) — показатель отказов

avg_deal_value — средняя сумма сделки (если есть)

Блок 5

import matplotlib.pyplot as plt plt.figure(figsize=(10, 5)) agg['conversion_rate (%)'].sort_values().plot(kind='barh', color='skyblue') plt.title("Конверсия в лиды по источникам (%)") plt.xlabel("Конверсия (%)") plt.grid(True) plt.tight_layout() plt.show()
Строим график: у каких источников лучшая конверсия
Строим график: у каких источников лучшая конверсия

Блок 6

landing_agg = merged.groupby("landing_page").agg({ 'session_id': 'count', 'converted': 'sum', 'session_duration': 'mean', 'bounce': 'mean' }).rename(columns={ 'session_id': 'sessions', 'converted': 'leads', 'session_duration': 'avg_session_duration', 'bounce': 'bounce_rate' }) landing_agg['conversion_rate (%)'] = (landing_agg['leads'] / landing_agg['sessions']) * 100 landing_agg['bounce_rate (%)'] = landing_agg['bounce_rate'] * 100 landing_agg = landing_agg.round(2) landing_agg.sort_values("conversion_rate (%)", ascending=False).head()
landing_agg — таблица с результатами по посадочным страницам позволяет понять, какие лендинги работают лучше всего
landing_agg — таблица с результатами по посадочным страницам позволяет понять, какие лендинги работают лучше всего

Блок 7

campaign_agg = merged.groupby("campaign").agg({ 'session_id': 'count', 'converted': 'sum', 'session_duration': 'mean', 'bounce': 'mean', 'deal_value': 'mean' }).rename(columns={ 'session_id': 'sessions', 'converted': 'leads', 'session_duration': 'avg_session_duration', 'bounce': 'bounce_rate', 'deal_value': 'avg_deal_value' }) campaign_agg['conversion_rate (%)'] = (campaign_agg['leads'] / campaign_agg['sessions']) * 100 campaign_agg['bounce_rate (%)'] = campaign_agg['bounce_rate'] * 100 campaign_agg = campaign_agg.round(2) campaign_agg.sort_values("conversion_rate (%)", ascending=False)
campaign_agg — таблица с результатами по кампаниям аналогично: сессии, лиды, конверсии, средние значения
campaign_agg — таблица с результатами по кампаниям аналогично: сессии, лиды, конверсии, средние значения

Блок 8

plt.figure(figsize=(10, 5)) campaign_agg['conversion_rate (%)'].sort_values().plot(kind='barh', color='salmon') plt.title("Конверсия в лиды по кампаниям (%)") plt.xlabel("Конверсия (%)") plt.grid(True) plt.tight_layout() plt.show()
Визуализации по кампаниям и лендингам
Визуализации по кампаниям и лендингам

Блок 9

plt.figure(figsize=(10, 5)) landing_agg['bounce_rate (%)'].sort_values().plot(kind='barh', color='gray') plt.title("Bounce Rate по лендингам (%)") plt.xlabel("Bounce Rate (%)") plt.grid(True) plt.tight_layout() plt.show()
Визуализации по кампаниям и лендингам
Визуализации по кампаниям и лендингам

Вот готовый файл, его нужно загрузить в нашу рабочую папку

Итоговая шпаргалка по переменным
Итоговая шпаргалка по переменным

После того как вы создали/открыли файл или непосредственно вставили блоки в Jupyter - нужно отработать каждый блок командой Shift+Enter (Return) что бы получить графики с результатами, которые вы сможете представить клиенту.

Шаг 3: Подготовить анализ данных и предоставить отчет клиенту

Как примерно может выглядеть отчет по результату вашего анализа. С учетом того что вы уже имеете практику работы маркетологом для вас это не составит труда. Но тем не менее я предоставляю пример

Какие каналы работают эффективно, а какие “сливают” бюджет

📊 По данным agg (группировка по source):

  • Сравниваем конверсию (conversion_rate (%)) и bounce rate
  • Высокая конверсия + низкий bounce rate → эффективный канал
  • Низкая конверсия + высокий bounce rate → “сливает” бюджет

Пример вывода:

Google и Facebook показывают лучшую конверсию, при этом Instagram даёт высокий bounce rate и малое количество лидов — стоит пересмотреть креативы или приостановить этот источник.

Какие креативы и кампании приносят лиды

📊 По данным campaign_agg:

  • Смотрим кампании с наибольшим количеством лидов
  • Оцениваем CTR, CPA, CPC, если есть данные по кликам
  • Можно углубиться: сравнить сессии и лиды по лендингу

Пример вывода:

Кампания "LeadGen_2024" приносит 45% всех лидов при средней стоимости сделки выше средней. Кампания "Retargeting" показывает низкую конверсию — стоит протестировать новое предложение.

Стоит ли перераспределить бюджет

📊 Используем метрики:

  • CPA (стоимость привлечения лида)
  • Avg. deal value (ценность)
  • Conversion Rate

Решение:

  • Увеличить бюджет в каналах с высокой ценностью и хорошей конверсией
  • Сократить или протестировать другие — прежде чем “заливать” бюджет

Пример вывода:

Facebook показывает высокую конверсию и лиды с хорошей суммой сделки. Instagram приносит много трафика, но почти не конвертирует — перераспределение бюджета повысит эффективность.

Как улучшить общую конверсию и сократить CPA

📌 Советы на основе анализа:

  • Убрать или переработать лендинги с самым высоким bounce rate (landing_agg)
  • Оптимизировать кампании с низкой конверсией
  • Тестировать лучшие лендинги в других кампаниях
  • Сегментировать аудиторию: устройство, источник, страница входа
  • Улучшить вовлечённость → дольше сессия = выше шанс конверсии

Пример вывода:

Страница /pricing имеет высокий bounce rate и низкую конверсию. Возможно, стоит обновить оффер, добавить social proof или упростить интерфейс.

🧠 Вывод по анализу:

Даже на основе простой связки GA + CRM можно:

  • Выявить слабые звенья
  • Перенаправить бюджет
  • Повысить отдачу от рекламы
  • Подготовить обоснованные рекомендации для клиента или команды

Берите, пользуйтесь, задавайте вопросы. Во 2 части я подготовлю шпаргалку как настроить и использовать MySql базы

Начать дискуссию