×
Россия +7 (909) 261-97-71

ETL и датавиз: SEO-аналитика на больших данных. Кейс

Россия +7 (909) 261-97-71
Шрифт:
0 2272
Подпишитесь на нас в Telegram

Всем привет, на связи JetStyle.Promo. В этом кейсе мы рассказываем, как создали ETL и систему дашбордов, решающую проблему анализа больших объемов данных для контроля и повышения эффективности поискового продвижения сайта, осложненного из-за сэмплирования данных.

Главное о кейсе

Наш клиент – Rusprofile – сервис проверки и анализа контрагентов. На портале Rusprofile размещена подробная актуальная информация о более чем 10 миллионах российских юридических лиц и 12 миллионах индивидуальных предпринимателей. Имея более 500 000 визитов в сутки, наш клиент столкнулся с дичайшим сэмплированием в Яндекс Метрике, которые не дают посмотреть точные данные более чем за 2 дня.

Главное о кейсе

Мы создали ETL и систему дашбордов, которые решают эту проблему (для чего на старте обработали более 120 ГБ сырых данных из Яндекс Метрики и Топвизора, и в результате исходная таблица в базе данных содержит более 700 млн строк).

ETL (Extract, Transform, Load) – это трехэтапный процесс управления данными, в дословном переводе значит «извлечение, преобразование, загрузка».

На данный момент:

  • затраты на настройку системы визуализации окупились еще в августе;

  • мы экономим для клиента по 300 000 рублей ежемесячно, исключив необходимость подключения Метрики Про для доступа к несэмплированным данным;

  • за счет собственной системы хранения и обработки данных обеспечиваем постоянный доступ ко всему массиву информации.

Сэмплирование – процесс выборки части данных для анализа, применяемый для снижения нагрузки на систему.

Бизнес-задача и ее решение

Проблема

Сложность анализа больших объемов данных для контроля и повышения эффективности поискового продвижения сайта из-за сэмплирования. Несэмплированные данные доступны в интерфейсе Метрики максимум за две недели. Чтобы получить более полный доступ, необходимо подключать Метрику Про (от 300 тыс. рублей в месяц).

Решение

Создание собственного хранилища данных и визуализация их в дашборде на основе Yandex DataLens.

Цели дашборда

  1. Мониторинг ключевых метрик SEO: позволяет быстро отслеживать динамику органического трафика и видимость сайта по ключевым показателям (поисковая система, группа запросов, смысл поискового запроса).
  2. Принятие решений на основе данных: из-за сэмплирования в Яндекс Метрике данные часто искажены. Дашборд предоставляет чистые, несэмплированные данные для анализа, что упрощает принятие стратегических решений.
  3. Идентификация точек роста и проблемных зон: дашборд показывает динамику роста по группам запросов и позволяет оперативно выявлять резкие падения позиций по отдельным группам, что дает возможность своевременно принимать меры.

Реализация, технические детали

Основная особенность проекта – действительно большой объем данных.

Например, выгрузка данных из Яндекс Метрики за один месяц содержит около 15 млн строк и весит более 3 ГБ, и это при использовании всего 14 полей из всех доступных в Logs API.

Чтобы сохранить доступ к данным, мы использовали только российские и опенсорсные решения:

ClickHouse – для хранения данных, поскольку эта колоночная СУБД разработана специально для работы с большими объемами данных.

Airflow – для оркестрации потоков данных.

Yandex DataLens – для визуализации данных, так как инструмент российский, обладает нужным функционалом и активно развивается.

Jupyter Notebooks (Python) – для удобства работы с кодом (на основе опыта Netflix: Beyond Interactive: Notebook Innovation at Netflix и Part 2: Scheduling Notebooks at Netflix).

Мы спроектировали структуру датасета и его хранение в базе данных, чтобы:

  • не выгружать лишние данные, которые не будут использоваться;

  • предусмотреть защиту от дубликации данных при загрузке;

  • защитить процесс загрузки данных от сбоев соединения.

Также мы написали коннекторы к:

  • Logs API Яндекс Метрики;

  • API Топвизора.

Решения

Для обеспечения безопасности и повышения скорости работы дашборда в базе данных создано несколько слоев:

  • временные данные (tmp-слой) – сюда данные загружаются на начальном этапе. В случае обрыва соединения затронуты будут только временные таблицы, а основная таблица останется нетронутой;

  • сырые, неагрегированные данные (raw-слой) – сюда данные импортируются из временных таблиц. Дополнительно проверяется отсутствие пересечения датасетов, а дата импорта фиксируется для возможности отслеживания изменений;

  • витрины данных (dwh-слой) – этот слой формируется на основе raw-слоя и содержит агрегированные данные в нужных срезах. Использование витрин снижает нагрузку на базу и ускоряет загрузку чартов в дашборде.

Такая структура защищает от ошибок и ускоряет работу дашборда.

При загрузке данных мы дополнительно обогащаем их, чтобы получить дополнительные срезы, недоступные в текущих инструментах:

Для данных из Яндекс Метрики

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

  • вычисляем плановые показатели с индивидуальными коэффициентами для каждой поисковой системы, что дает возможность гибко задавать план по трафику и контролировать его выполнение;

Работа с данными

Работа с данными

Для данных из Топвизора – размечаем запросы по группам и поисковому интенту на основе словаря в Google Sheets, что обеспечивает более гибкую сегментацию в отчетах.

Работа с данными

Работа с данными

Работа с данными

Для обеспечения актуальности данных в отчетах мы разработали пайплайн в Apache Airflow:

  • данные из Яндекс Метрики выгружаются ежедневно за предыдущий день и загружаются в базу;

  • по понедельникам пересчитывается агрегация данных о визитах из Яндекс Метрики;

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

  • по результатам всех операций в Telegram-чат отправляются уведомления о статусе и обновлении выгрузки, а логи хранятся на сервере в формате Jupyter-ноутбуков, что позволяет легко определить причину сбоя в случае возникновения ошибки.

Инсайты, гипотезы, процесс создания и взаимодействия с заказчиком

Сам дашборд мы создали в Yandex DataLens, следуя продуктовой логике:

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

  2. Настроив выгрузку данных из Яндекс Метрики, мы сразу реализовали MVP вкладки с данными о посещаемости. После этого в ходе 3–4 итераций мы доработали дашборд: изменили логику расчета план-факта, внедрили витрины для повышения скорости, добавили сравнение произвольных периодов.

  3. К моменту работы над вкладкой с позициями заказчик уже получил рабочий инструмент для отслеживания динамики поискового трафика. В процессе разработки вкладка с позициями также претерпела ряд изменений и улучшений.

  4. После создания каждой вкладки мы проводили кросс-проверку данных, чтобы исключить ошибки в расчетах.

В процессе настройки дашборда у нас возникали интересные заморочки, например:

1. Раздел «план-факт»

Сначала он рассчитывался отдельно по месяцам и неделям на уровне DataLens и общей формулы. Позже стало понятно, что нужны разные коэффициенты для Яндекса и Google. Поэтому расчеты были перенесены на уровень базы данных, что упростило контроль и повысило скорость загрузки чартов.

2. Позиции в Топвизоре

Мы обнаружили, что из-за недостаточного баланса позиции могут не обновиться. На этот случай добавили возможность задавать позиции по шаблону для конкретного дня и среза в Google Sheets – эти данные подхватываются при агрегации и записываются в таблицу.

3. Загрузка датасета с историческими данными из Яндекс Метрики

Для этой задачи потребовался стационарный ПК, так как на MacBook не хватило места на SSD-диске. Мы написали цикл, который целую ночь загружал данные в базу небольшими частями по 1 млн строк.

4. Неожиданные вопросы

Как-то раз Сергей Торкунов (наш заказчик) спросил, например, такое: «Сколько страниц нужно взять из 36 млн, чтобы выборка отражала положение дел с точностью 95%?». Нам периодически приходилось освежать знания по теории вероятностей, а однажды даже обратиться к преподавателю из университета, чтобы убедиться в правильности расчетов.

Работать с человеком, который входит в топ-20 известнейших SEO-персон, не только ответственно и круто, но и очень увлекательно!

5. Развитие дашборда

Пока писали этот кейс, доработали датасет по позициям на основе новых вводных. Теперь в мониторинге еженедельные данные по 515 000 поисковых запросов, которые можно отфильтровать и по сайту заказчика, и по конкурентам. При этом у всех будет разбивка по группам и смысловому интенту.

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Что такое AIO (AI Optimization) или GEO-оптимизация, как быть на шаг впереди конкурентов
Эдуард
1
комментарий
0
читателей
Полный профиль
Эдуард - Годно) многие моменты я не знал.
AI SEO в 2025: 5 шагов к видимости бренда в поиске нового поколения
Пиксель Плюс
1
комментарий
0
читателей
Полный профиль
Пиксель Плюс - Сергей, здравствуйте! Мы починили ссылку. Спасибо, что обратили внимание!
SEO-анализ сайта – новый сервис для технического аудита сайта
Олег Алексеев
1
комментарий
0
читателей
Полный профиль
Олег Алексеев - Сюда t.me/obivaaan или сюда t.me/olegalexeyev
Пользователи смогут создавать видео на основе изображений в приложении Алиса
ангелина
1
комментарий
0
читателей
Полный профиль
ангелина - сгенерируй видео где пожилой мужчина больших размеров танцевал балет и резко вылетел в окно
Конец эпохи Google: AI Mode заменит привычный поиск
Denial
1
комментарий
0
читателей
Полный профиль
Denial - Очередной инфоциган, переписывающий статьи с eu ресурсов Ничего нового
Путаница, которая стоит миллионы: разница закона о «Персональных данных» и закона «О рекламе»
Гость
1
комментарий
0
читателей
Полный профиль
Гость - Это все фантики,в сравнении с тем, что мне 15 лет на почту приходят сотни тысяч личных даных пациентов.Диагнозы,лечение,адрес , телефон итд.Вот чем это является по закону?Это досье на целый город....Действительно , обнародую то все , чтобы отношение прекратилось к людям такое.
Яндекс Тег Менеджер против Google: обзор, реальный опыт переезда и подводные камни
Иван
12
комментариев
0
читателей
Полный профиль
Иван - Полезно, особенно, алгоритм переноса.
Накрутка ПФ: выбираем лучший сервис для накрутки поведенческих факторов
juristsyt
1
комментарий
0
читателей
Полный профиль
juristsyt -
Новое SEO: что уже известно про GEO и как его использовать для продвижения бизнеса
Сергей
22
комментария
0
читателей
Полный профиль
Сергей - Благодарю за то, что поделились своими наработками. Очень любопытно!
Клиентам Сбера, предпочитающим Apple, вновь станет доступна бесконтактная оплата смартфоном
Борис Евгеньевич Романовский
1
комментарий
0
читателей
Полный профиль
Борис Евгеньевич Романовский - "Воспользоваться ей можно, даже если на смартфоне нет доступа к интернету." Попробовал , без интернета не войти в приложение "сбера"...
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
393
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
124
Комментариев
121
Комментариев
100
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
66
Комментариев
60
Комментариев
59

Отправьте отзыв!
Отправьте отзыв!