В данной статье будут рассмотрены основные рекомендации, касающиеся выбора типа таблицы для хранения CRM-данных в Google BigQuery, а также метода и периодичности обновления этих данных.
О том, как импортировать данные о транзакциях в Google BigQuery, можно узнать из этой статьи.
Хранение CRM данных
Для хранения данных, выгруженных из CRM, рекомендовано использовать партиционированную таблицу Google BigQuery. Этот тип таблицы имеет ряд преимуществ при работе с данными по сравнению со стандартной таблицей Google BigQuery. Подробнее читайте ниже.
1. Обычная таблица Google BigQuery (Standard table) проста в создании и управлении. Однако, по мере накопления данных увеличивается размер таблицы, следовательно, возрастают и затраты на обновление и использование данных. Это объясняется тем, что каждый ваш запрос к данным будет сканировать все строки таблицы перед тем, как отдать вам результат.
2. Партиционированная по дате таблица Google BigQuery (Date partitioned table) позволяет организовать данные в отдельные разделы (партиции). При этом ваш запрос будет обращаться только к тем разделам таблицы, в которых хранится запрашиваемая информация. Такой подход в значительной мере сокращает объем данных для обработки и увеличивает скорость работы запросов. Вы, в свою очередь, сможете более эффективно прогнозировать и управлять вашими расходами в Google BigQuery.
Для партиционирования таблицы по дате:
- Cоздайте пустую таблицу с описанием всех полей и их типов согласно определению схемы данных.
- Добавьте к стандартной схеме данных поле типа DATE.
- В настройках партициий (Partition and cluster settings) выберите опцию партиционирования по полю (Partition by field) и укажите поле типа DATE в качестве критерия партиционирования. Данная опция доступна только при условии, что в схеме данных таблицы присутствует поле типа DATE.
- Загрузите в таблицу данные CRM в соответствии с описанной схемой данных.
Подробную инструкцию читайте в документации Google BigQuery.
Дата в поле DATE должна быть указана в соответствии с временной зоной Представления Google Analytics, выбранного при создании потока стриминга в OWOX BI.
Таблицы формата Wildcard (Wildcard table) использовать не рекомендуется, так как они не позволяют обновлять данные для диапазона дат в одно действие. Формат Wildcard представляет собой набор индивидуальных таблиц с одинаковым префиксом и разными суффиксами, каждая из которых обновляется отдельно. При этом требуется значительно больше ресурсов, чем при работе с партиционированными таблицами.
Если при построении отчета с использованием партиционированной по дате таблицы возникла ошибка “Данный отчет не поддерживает тип партиционирования запрашиваемой таблицы {имя таблицы}”, ознакомьтесь с данной статьей.
Загрузив данные CRM в Google BigQuery, вы получите удобный инструмент для управления и дальнейшего анализа данных о транзакциях. В таблице с CRM данными можно условно выделить:
- Сущности таблицы
- User (поля user_id, client_id, user_phone, user_email)
- Transaction (поля transaction_*)
- Product (поля product_* и promo_*)
- Уровни вложенности:
- у каждого User может быть множество Transaction
- у каждой Transaction может быть множество Product
- Product является наиболее глубоким уровнем детализации
Таким образом, одна строка выгрузки содержит информацию об отдельном товаре конкретной транзакции. При этом товаров в транзакции может быть много, и для каждого товара информация в полях уровня User и Transaction будет повторяться (за исключением поля transaction_revenue, в котором содержится доход по отдельному товару в транзакции).
Таблица CRM-данных не содержит параметров уровня Session.
Такая структура позволяет использовать таблицу Google BigQuery в качестве источника данных о транзакциях для расчета модели аттрибуции, а также при построении макретинговых отчетов.
Обновление CRM данных
В процессе обработки заказа, данные о транзакции в CRM изменяются. Так, транзакция поступает с сайта со статусом in_progress, после чего может переходить в другие промежуточные статусы пока транзакция не будет считаться выкупленной.
Изменение статусов, списка товаров, их цен или количеств следует добавлять в таблицу выгрузки методом append с указанием даты и времени последних изменений в поле transaction_changed.
Период обновления данных зависит от задач, для которых эти данные будут использоваться. Рекомендованная периодичность составляет 1 раз в сутки. Это позволит синхронизировать актуализацию данных CRM c обновлением данных о расходах и сессионном стриминге в Google BigQuery.
Может быть полезным:
Standard SQL в Google BigQuery: преимущества и примеры использования в маркетинге
0 Комментарии