Как мы сделали инструмент веб-аналитики для сайта Ecommerce

23.12.2015 7 726 16
(5,00 из 5 на основе 16 оценок)
Loading ... Loading ...
A A A
http://blog.netpeak.ru/kak-my-sdelali-instrument-veb-analitiki-dlya-sayta-ecommerce/

Дата последнего обновления: 20.05.2016

В этом посте я подробно расскажу, зачем бизнесу собственный веб-аналитический инструмент, и приведу пример сделанного нами продукта. Но прежде давайте на секунду отвлечемся и рассмотрим, зачем онлайн-бизнесу вообще нужна веб-аналитика?

Как мы сделали инструмент веб-аналитики для сайта Ecommerce

Об аналитике в Ecommerce

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

Профессионального аналитика можно сравнить со штурманом в спорткаре. Вряд ли вы доверите эту роль некомпетентному человеку.

Профессионального аналитика можно сравнить со штурманом в спорткаре

В 2006 году, когда я только начинал свой путь аналитика, мне, наверное, было проще, чем новому поколению. В то время в качестве основного инструмента обработки и визуализации данных выступал Microsoft Excel 2003. С тех пор большинство компаний поняли ценность сбора и обработки информации, и, соответственно, объемы данных росли с каждым годом в геометрической прогрессии.

Сейчас, несмотря на то, что рабочий лист Microsoft Excel 2013 позволяет хранить 1048576 строк (что в 17 раз больше, чем было возможно в Microsoft Excel 2003), для решения большинства задач не достаточно существующих на рынке инструментов Технологии сбора, обработки и визуализации данных развиваются с той же скоростью, что и объемы накопленных данных.

Для решения задач, связанных со сбором и обработкой данных, на смену MySQL и прочим реляционным базам данных пришли облачные базы данных (Postgres Plus, Microsoft Azure, Google BigQuery), способные за несколько секунд обрабатывать терабайты информации.

На смену Microsoft Excel пришел целый ряд мощных BI платформ, таких как QlikView, Tableau и Bime, которые могут связывать и визуализировать в реальном времени информацию из множества источников данных, да и сам Excel с появлением надстройки Power Pivot и Power Query в 2010 году из обычного процессора электронных таблиц превратился в полноценную BI платформу.

Excel с появлением надстройки Power Pivot и Power Query в 2010 году из обычного процессора электронных таблиц превратился в полноценную BI платформу

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

Именно поэтому грамотная работа с аналитикой так важна для целей бизнеса на всех этапах — выход на рынок, маркетинг, масштабирование. Еще 15 лет назад можно было посоветовать отдать аналитику бизнеса на аутсорс, пять лет назад — взять в штат специалиста, который умеет качественно работать с традиционными инструментами. Современное решение вопроса — создание веб-аналитического продукта, кастомизированного под особенности и цели конкретного бизнеса. При этом данное решение не отменяет специалиста-аналитика в штате или определенных аналитических навыков менеджера, использующего данный продукт.

Создание веб-аналитического инструмента

В ноябре 2014 года к нам обратился клиент. Он хотел анализировать события на своем сайте и получать ответы на нетривиальные вопросы в виде отчетов, которые нельзя было построить в Google Analytics. Но при этом не было 100% понимания, какие именно отчеты ответили бы на вопросы бизнеса.

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

Файл ежедневно автоматически обновляет все отчеты при открытии, потому что визуализация данных была связана с ежедневно обновляемой MySQL базой данных, в которую посредством API информация дублировалась из Google Analytics.

 Схема процесса сбора, агрегации и визуализации данных

Схема процесса сбора, агрегации и визуализации данных

  1. Google Analytics собирает информацию о всех сеансах на сайте.
  2. С помощью API информацию, собранную в Google Analytics, мы агрегируем и затягиваем в базу MySQL.
  3. Файл Excel подключается к базе MySQL и при каждом открытии отправляет запрос на получение актуальных данных, тем самым обновляя все таблицы и диаграммы.

План работ

1. Разработать под запрос клиента базу данных на MySQL со всей информацией, которую хотел бы анализировать клиент.

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

3. Сегментировать трафик по активности, вовлеченности и типу посетителя.

По заинтересованности:

  • незаинтересованные (сеансы длительностью до 60 секунд);
  • интересующиеся (сеансы длительностью 60-180 секунд);
  • заинтересованные (сеансы длительностью более 180 секунд).

По активности:

  • новые (количество дней с последнего посещения — 0);
  • активные в последние две недели (количество дней с последнего посещения — 1-30);
  • вернувшиеся спустя две недели (количество дней с последнего посещения — более 30).

По типу посетителя:

  • авторизованные посетители (авторизовались, но не заходили в ЛК — личный кабинет пользователя на сайте);
  • пользователи ЛК (посетившие ЛК);
  • другие (не посетившие ЛК).

По версии сайта:

  • полная;
  • мобильная.

По языковой версии сайта:

  • RU (Русский);
  • KZ (Казахский).

По типу устройства:

  • Desktop;
  • Mobile;
  • Tablet.

4. Настроить визуализацию данных с возможностью различной фильтрации в Excel-файле, который связан с базой MySQL. Все отчеты в данном файле настроены на автоматическое обновление раз в сутки.

Разработка данного BI решения заняла 27 часов. Настраивался сбор данных из Google Analytics напрямую в MySQL базу.

Результат

Теперь несколько слов о возможностях созданного нами инструмента веб-аналитики. Наше решение позволяет:

  1. Смотреть объем трафика и поведенческие показатели по дням.
  2. Выводить сегментацию посетителей в форме отчета.
  3. Отображать сегментацию посетителей в форме диаграмм.
  4. Показывать изменение поведенческих показателей.
  5. Показывать ценность нового контента.
  6. Сравнивать показатели отдельных страниц сайта.

Остановимся на каждом пункте чуть подробнее.

1. Объем трафика и поведенческие показатели по дням

Объем трафика и поведенческие показатели по дням

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

2. Сегментация пользователей в отчетах

Сегментация пользователей (отчет)

Данный отчет позволяет сравнить разные сегменты посетителей, а также посмотреть долю каждого сегмента. Например, вы можете проанализировать, какой процент ваших посетителей является вовлеченным и заинтересованным.

3. Сегментация пользователей в диаграммах

Сегментация пользователей в диаграммах

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

4. Изменение поведенческих показателей

Изменение поведенческих показателей

Эти диаграммы позволяют отслеживать изменение поведенческих показателей и отображают линейный тренд с прогнозом на несколько шагов вперед. Также можно оценить влияние средней длительности сеанса на показатель отказов.

5. Определение ценности нового контента

Благодаря графикам структуры трафика в динамике можно оценить релевантность контента

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

6. Показатели конкретных страниц сайта

Показатели конкретных страниц сайта

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

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

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

Если вы нашли ошибку, пожалуйста, сообщите нам об этом: выделите её и нажмите Ctrl + Enter или .

  • Евгений Гордиенко

    Спасибо за материал.

  • Ярик

    «которые нельзя было построить в Google Analytics».
    Все можно при желании построить. Другое дело визуализация будет не огонь.

    • Алексей Селезнёв

      Визуализация будет мягко говоря «не огонь», особенно это касается перекрёстных таблиц, второй момент для того, что бы построить подобные отчёты в Google Analytics надо достаточно хорошо знать этот инструмент, как правило бизнес — пользователи, которым нужна эта информация для принятия различных управленческих решений не обладают продвинутым уровнем владения Google Analytics, а инструмент описанный в статье в данном случае интуитивно понятен и удобен, и соответственно не требует от конечного пользователя глубоких технических знаний и навыков.

    • http://mrbubu.pro/ Alex Danilin

      Как хорошо было бы, если бы все можно было строить только в ГА :)

      • Алексей Селезнёв

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

  • alexklp

    А зачем по прослойка из MySQL ? Разве не выйдет напрямую через ексель коннекторы, например — Analytics Edge , или в Tableau?

    • Алексей Селезнёв

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

      По поводу Analytics EDGE:
      1. В нём отсутствует возможность загрузки данных непосредственно в модель данных, все данные загруженные с помощью этой надстройки хранятся на рабочем листе Microoft Excel который имеет ограничение в 1 млн строк, при этом файл бы работал невероятно медленно и весил более 500 МБ.

      2. Со временем мы бы столкнулись с семплированием данных, либо если бы использовали функционал Analytics EDGE который предназначен для минимизации семплирования и запросы отравленные с помощью этой надстройки делились по дням, процедура загрузки данных длилась бы очень долго.

      3. Analytics EDGE в одном запросе позволяет получить не более 7 параметров (dimension), нам необходимо было запрашивать 9.

      В основном исходя из этих причин в качестве перевалочной базы был выбран MySQL, поскольку это бесплатная база данных, возможностей MySQL вполне достаточно для решения поставленной задачи.

      • alexklp

        Спасибо за ответ. Да вполне согласен. Просто привык больше к Tableau, но тут да — почти всегда использую связку с разных источников. Хорошая статья.

        • Алексей Селезнёв

          Как не дорогая альтернатива Tableau есть Microsoft Power BI — http://powerbi.com/, возможно вам будет интересно.
          На момент разработки описанного в статье решения Power BI был в достаточно сыром виде, и остаётся проблема с семплированием и ограничением по количеству параметров в запросе. В остальном неплохой инструмент.

          • alexklp

            Большое спасибо. Обязательно попробую. Но у меня десктопная версия Про Tableau, в принципе доволен. Ну и не такая она относительно дорогая. Есть и онлайн версия, вроде 500 уе в год. Для среднего проекта думаю не очень дорого. Ли ж бы пользовались, а не пылилась без дела.

          • Алексей Селезнёв

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

            Рад, что вам понравилась статья.

  • vabz

    Спасибо за материал. Подскажите, какое соотношение между объемом трафика и местом в БД? Не дорого ли хранить данные? Не смотрели в сторону GoogleBigQuery? Спасибо!

    • Алексей Селезнёв

      Хороший вопрос.

      В данном проекте мы в MySQL записывали данные прошедшие агрегацию по нужным нам параметрам, поэтому от объёма трафика количество записей в MySQL не изменялось, если вы планируете использовать такой же подход, объём места для хранения данных будет пропорционален не объёму трафика а методу агрегации, количеству параметров по которым вы будете агрегировать данные и количеству элементов в этих параметрах.

      Сейчас при разработке подобных проектов мы всё же склоняемся к Google BigQuery, поскольку не так давно появилось решение OWOX BI, которое помогает нам построить аналитический инструмент без привлечения программистов, что значительно уменьшает стоимость проекта. К тому же OWOX BI записывает в BigQuery все данные в не семплированном виде, что тоже даёт дополнительные преимущества при построении отчётов.

      • vabz

        Спасибо за ответ. Понял. Получается, что в вашем проекте БД будет расти только в процессе накопления исторических данных. И ее размер в будущем можно +/- прикинуть.

        • Алексей Селезнёв

          Совершенно верно, покажу пример одной из таблиц в БД.

          http://img.netpeak.ua/alsey/145096029341_kiss_243kb.jpg

          Красным цветом я обозначил поля по которым происходит агрегация, эти поля имеют ограниченный набор элементов, конкретнее:

          Дата — 1 элемент в день указывающий дату за которую записываются данные.
          Неделя и месяц так же имеют 1 элемент в день.
          Язык — 2 элемента, KZ и RU.
          Версия сайта — 2 элемента, Мобильная и Полная.
          Тип устройства — 3 элемента, desctop, mobile, tablet.
          По вовлеённости — 3 элемента, заинтересованные, не заитересованные и интересующиеся.
          По активности — 3 элемента, активные последний месяц, новые, вернувшиеся спустя месяц.
          Тип посетителя — 4 элемента, не определено, авторизованный, не авторизованный, юзер ЛК.

          Итого 1 * 1 * 1 * 2 * 2 * 3 * 3 * 3 * 4 = 432

          В итоге получаем максимальное количество строк загруженное в данную таблицу за день 432, в том случае если были сеансы в каждом микро сегменте агрегации, аналогично и остальные таблицы базы данных. От объёма трафика зависит только числа в полях уникальные посетители, сеансы и т.д.

          • vabz

            Спасибо за детальное объяснение!