время прочтения - 4 минуты
май 2022
Стелим себе соломку, или как подготовиться к возможным ограничениям по работе с зарубежными аналитическими сервисами
Стелим себе соломку, или как подготовиться к возможным ограничениям по работе с зарубежными аналитическими сервисами
Александр Морин
руководитель 
отдела BI/DWH
Дмитрий Воронин
ведущий специалист 
по Power BI
андрей финк
заместитель по оптимизации ресурсов
Ярослав Семёнов
директор 
по технологиям
Взят ли курс на полное импортозамещение в аналитике пока сказать сложно. Мы, конечно, чувствуем, как нас немного подтолкнул на этот путь ряд уже вступивших в силу ограничений от зарубежных сервисов. И подготовили для себя сценарий альтернативных вариантов решения текущих задач, которым и спешим поделиться с вами. Речь пойдёт о типовых отчётах в Яндекс.Метрике, а также о двух схемах работы, действующей и новой, по сборке и визуализации сквозной аналитики через системы Google Analytics, Yandex Clickhouse, Google BigQuery, Yandex Datalens, Google DataStudio, Microsoft PowerBI.
Блок 1. Веб-аналитика
Исторически так сложилось, что мы всегда устанавливали и настраивали Яндекс.Метрику и Google Analytics для проектов, с которыми работаем по долгу службы. Пиксели соцсетей — мы, конечно, также берём в расчёт, однако это отдельный класс сервисов и здесь мы в него не углубляемся. Аналогично и с электронной торговлей: настроив её единожды, мы пользуемся новыми отчётами по товарам и продажам в обоих системах. В целом далее опустим нюансы и их различия, а также наличие или отсутствие каких-либо уникальных отчётов в каждой из них.

Долгое время среди всех вариантов сбора данных из рекламных источников мы предпочитали Google Analytics. Поскольку в нём доступны Measurement Protocol и возможность загружать данные в систему, в том числе по расходам из рекламных кабинетов, которые мы подключаем благодаря нашим партнёрам из OWOX BI и их инструменту Pipeline.

Недавно мы делились своим опытом о том, как собрать в Яндекс.Метрике отчёты «Источники, расходы и ROI» и «Источники заказов», которые могут стать особенно актуальными в связи с предстоящими ограничениями в работе иностранных сервисов. Статью можно найти здесь. Получается, что для бесперебойной работы основных отчётов, необходимых для специалистов по рекламе, по источнику / каналу / кампании / ключевому запросу / расходу / ДРР достаточно Яндекс.Метрики. Чувство веры в импортозамещении окрепло, выдыхаем и идём дальше.
Блок 2. Сквозная аналитика: сбор сырых данных, обработка и визуализация
Текущая схема подготовки отчётов на базе Power BI
Но что делать, когда могущества Метрики иногда не хватает? Например, если необходим типичный отчёт по нескольким аккаунтам с определённым набором целевых действий (звонки, заявки, callback и тд). Для его сборки требуется информация из разных сервисов и аккаунтов, которые следует объединить в одном дашборде.

Ранее для решения подобных задач мы применяли схему с использованием Microsoft PowerBI, Сервиса K50 и Google BigQuery. Она была проста и состояла из 4-х шагов:
  • добавляем в K50:BI сведения из нужных аккаунтов (коннекторы есть в K50:BI);
  • объединяем внутри K50:BI схожие данные в одну таблицу;
  • настраиваем экспорт таблиц из K50:BI в Google Big Query;
  • подключаемся к Google Big Query и переносим всё в Power BI.
Почему мы не подключаемся напрямую в K50:BI, зачем нужно звено в виде базы? Дело в том, что API K50:BI не справляется с большим объёмом данных. Если речь идёт про крупного клиента, для оперативного обновления гораздо удобнее получать данные из базы. Они всегда под рукой, и обновление происходит гораздо быстрее.

Преобразование данных, например, фильтрацию или группировку, можно производить в Power Query, а расчёт дополнительных мер — в DAX. В итоге дашборды будут именно в удобном для клиента виде. Один из примеров — отчёт «Сравнение периодов», где, выбрав 2 схожих периода, мы можем посмотреть изменения показателей по источникам или кампаниям.
Подготовка к замещению
На фоне ограничений платежных систем и зарубежных сервисов мы перешли на Yandex Clickhouse и PostgreSQL в связке с Yandex Datalens. Отметим, что отечественных BI-сервисов достаточно, какой использовать в работе вопрос лишь вкуса и доверия к продукту.

Ниже рабочий дашборд в Datalens, который собран на данных из Яндекс.Директ, выгруженных в PostgreSQL.
Сбор и обработка данных
Новая схема похожа на прежнюю, но из процесса исключены все иностранные сервисы, рискующие быть отключенными в будущем. Это касается как Google Big Query, так и Power BI. Обновлённые шаги выглядят так:
  • добавляем в PostgreSQL данные из нужных аккаунтов (используя свои коннекторы на python);
  • внутри базы PostgreSQL объединяем похожие данные с помощью SQL. Все предварительные преобразования данных также происходят внутри базы с помощью SQL;
  • подключаемся к PostgreSQL и забираем уже подготовленные данные из view в Yandex Datalens или Metabase.
Все преобразования, которые происходили в Power Query, теперь реализованы в SQL. Что касается DAX, все расчётные меры также придётся писать в SQL.

Если говорить про организацию работы скриптов на python, тут может быть полезен Apache Airflow. Если не задействовать K50, а работать только со своими скриптами, то Airflow может помочь управлять расписанием загрузки данных в базу и выполнять роль планировщика задач.

Если всё же говорить про использование K50:BI как одного из продуктов Яндекса, то можно организовать загрузку данных из него в PostgreSQL. Конечно, чем меньше звеньев в цепочке, тем лучше. Но K50:BI имеет ряд проверенных временем коннекторов, которые предоставляют довольно точные данные.

В качестве примера, мы собрали отчёт из нескольких источников по новой схеме:
Блок 3. Google Таблицы и Яндекс Документы
Ранее для решения стандартных задач с предоставлением счётчиков статистики или онлайн-таблиц, где собраны данные из рекламных кабинетов, мы использовали Google Sheets и встроенный в него Google Script. Теперь же проработали схему перехода на подходящий аналог, где данные собираются из рекламных кабинетов систем аналитики и сall-tracking при помощи api. Затем обрабатываются и группируются по заданным параметрам, в зависимости от потребностей бизнеса, и записываются в Google Sheets. Все собранные отчёты резервируются на Яндекс.Диске в формате .xls при помощи отдельного скрипта, который проверяет каждый час, были ли изменения в данных.

Есть два альтернативных варианта построения отчётности с использованием MS Excel и встроенного в него Power Query или VBA:
  • внутри Excel документа располагаем код с коннекторами к данным (рекламные кабинеты, системы аналитики, сall-tracking) и обработчик этих данных. После чего загружаем их на Яндекс.Диск для доступа online;
  • используя python, получаем данные статистики по api, обрабатываем и складываем в таблицы (.xls). После записываем информацию на Яндекс.Диск для доступа online, а обновление реализуем путём перезаписи материала в файле.
Второй вариант подойдёт на случай блокировки MS Office на территории РФ. Файлы в формате .xls открываются в OpenOffice.

Наша команда, как и раньше, устремлена только вперёд, но теперь с глобальными проработками дополнительных сценариев развития ситуации, вплоть до самых абсурдных. Будем держать вас в курсе последних изменений и возможных замещений в аналитике.

Статья опубликована на vc.
Вам понравилась статья?