Понедельник отличается от остальных дней только тем, что приносит в три раза больше спама.
Я не люблю спам. Опять прёт негатив… Переформулирую: я люблю, когда мой почтовый ящик свободен от спама. Наши маркетологи очень любят коммуницировать с клиентами (чтобы это ни значило), в том числе с помощью почтовых рассылок. Имеющиеся в системах массовых рассылок отчеты говорят о замечательных результатах в пределах одной рассылки. Выглядят они примерно так:
Понять из этого графика, какая именно рассылка была эффективна (по разным критериям), сколько рассылок терпит пользователь, перед тем как отписаться — я не смог. Меня спросили, может ли QlikView чем-то помочь.
Появилась идея скачать все отчеты из системы массовой рассылки, причесать и проанализировать в QlikView. Ранее мы уже анализировали и фильтровали с помощью QlikView списки рассылки, полученных с выставок и конференций, нормализуя и вычищая данные, но про это неинтересно рассказывать.
У шимпупсиков графики немного более наглядны, но мы используем то что имеем. Идеи, описанные в этом посте могут быть использованы и с другой системой.
Делаем
Чё думать, трясти надоть!
Стандартный функционал web-интерфейса используемой нами системы позволяет скачивать отчеты двух типов.
Отчет о рассылках
Один файл формата CSV на одну рассылку. Имя файла имеет вид
«burst_stats_[O_polze_smeha]_7030946_20160416.csv»
В квадратных скобочках название рассылки, затем 7030946 (внутренний уникальный идентификатор рассылки), завершает название дата формирования отчета.
Сам файл имеет простую структуру и выглядит примерно так
E-mail;»Результат отправки»;»Время обновления»;Имя
anna@atkcg.ru;ok_read;»2016-04-11 20:38:32″;Алексей
andrey2013@mail.uk;ok_link_visited;»2016-04-12 09:35:28″;»Андрей»
Отчет о переходах по ссылкам
Правила формирования названия аналогичные:
«visited_links_[O_polze_smeha]_7030946_20160416.csv»
Структура файла тоже простая
E-mail;Тема;»Заголовок страницы»;Ссылка;»Время перехода»;Имя
anna@atkcg.ru;»О пользе смеха»;»Правила жизни — YouTube»; https://www.youtube.com/watch?v=aNI4Yd8ZdB0;»2016-04-11 19:57:41″;Алексей
andrey2013@mail.uk;»О пользе смеха»;»Правила жизни — YouTube»; https://www.youtube.com/watch?v= yHuXUKGyqrY;»2016-04-11 20:03:14″;Андрей
Не мудрствуя лукаво, строим модель данных «в лоб».
Таблицы связываются по синтетическому ключу Рассылка + email. В данном случае под рассылкой понимается ее наименование. Откуда его взять? Самое простое — из названия файла, например, subfield(replace(‘$(fn)’,’]’,'[‘),'[‘,2), где fn — название файла. Можно также связывать таблицы по номеру рассылки (и это правильно), но все равно нам понадобится поле с наименованием рассылки.
Выводы
Меж ими всё рождало споры
И к размышлению влекло
Как и ожидалось, QlikView показал себя отличным инструментом анализа данных. Уже первая версия приложения (сделанная буквально за пару часов, без онлайн обновления данных с названием рассылок латиницей и прочими недостатками) дала результат.
Значимая доля писем не читалась получателями в течение, по крайней мере, трех месяцев. Стоимость доставки электронного письма, казалось бы, сущие копейки (на нашем тарифном плане около 40). Выделение сегмента редкочитающих получателей снизило расходы на еженедельные рассылки, а чтобы не потерять контакт совсем были сформированы ежеквартальные дайджесты.
Регулярные читатели рассылок выделились в отдельный сегмент. Для них видимо будет сделано уникальное коммерческое предложение, от которого невозможно отказаться.
Отдел маркетинга получил мощный стимул пересмотреть способы работы с рассылками, не гнаться за количеством и улучшить качество email-базы.
Вместо заключения
Прекрасное должно быть величаво
Искушенные аналитики уже поняли, что мы используем unisender. У этой системы развитый API, позволяющий получать аналитику онлайн.
Полезные методы:
- getCampaigns — получить список рассылок. По сути, справочник рассылок с указанием идентификатора, наименования и т.п.
- getCampaignDeliveryStats — получить отчёт о статусах доставки сообщений для заданной рассылки. По сути, идентичен файлу burst_stats, описанному ранее.
- getVisitedLinks — получить статистику переходов по ссылкам. Аналогичен файлу visited_links.
К сожалению, API отдает данные только в json, поэтому приходится пользоваться сторонними утилитами для получения данных и конвертации. (Это уже описывалось в статье Коллтрекинг и аллитерирующие продажи). Запрос содержит параметр format, но возвращаемый результат не зависит от того, какое значение он принимает (json, xml и т.п.).
Ключ доступа к API жестко привязан к главному аккаунту и не меняется, поэтому рекомендуется использовать метод POST вместо GET (чтобы не оставлять следов ключа в логах). У подчиненных аккаунтов нет доступа к ключу API.
QlikView из коробки, по прежнему, не поддерживает json. Используйте сторонние коннекторы (например, General Web Connecor) для автоматизации ETL.
Послесловие от 26.04.16
Большое спасибо Василию Петренко (http://blog.atkcg.ru/members-3/vasilypetrenko/) за его ценные комментарии. Хотя QlikView из коробки не любит json, оказывается есть бесплатный модуль Qlik REST Connector, который можно скачать по ссылке http://market.qlik.com/rest-connector.html
Он прекрасно справляется с задачей получения данных через REST API (и работает в 12 версии), избавляя нас от использования внешних негуишных утилит. Модуль прекрасно документирован, в примерах вы найдете как подключиться к Google Analitics, LinkedIn, Twitter.
На этом все на сегодня.
Коллеги, делитесь своими комментариями!
QlikView 12 вроде уже поддерживает JSON благодаря наличию в комплекте RESTful API Connector.
Кто-нибудь на реальных проектах уже использует 12-ю версию?
Василий! Использую 12.0.20000 версию. Кроме того, что hel
lp внешний (а наружу не всегда пускают внутренние политики), других недостатков не обнаружил. RESTfullAPI Connector тоже. Подскажи, где он скрывается?Виталий, быстрый гугл подскажет )) в первых же результатах выдачи — youtube ролик и ссылка на qlik market где можно скачать его также и для предыдущих версий продукта.
А так, я пока на 11.20 версии, все никак вот не обновлю личный десктоп.