Какой должна быть идеальная система аналитики? Часть 1

Требования к идеальной аналитической системе основаны на личном опыте, чтении литературы и том факте, что сейчас 2014 год. Хотя большинство требований кажутся очевидными, они реализованы далеко не во всех системах аналитики, а где реализованы, иногда имеют странные ограничения.
Также нужно учитывать, что для разных проектов у каждого пункта из списка ниже вес (важность) может существенно меняться. Например, если вам обязательно отслеживать данные с платформы Windows Phone, то не очень много систем имеют SDK для нее на текущий момент, что существенно сузит круг потенциальных решений. А если, например, вам нужны только тепловые карты, то скорее всего проще использовать сервис CrazyEgg.
Начнем с требований к функционалу. Обычно другие вопросы можно решить с помощью костылей, но только не эти, это либо есть, либо нет.

Данные в реальном времени
Вам нужны данные в реальном времени? Или некритична задержка в пару часов? Стоит начать с этого вопроса выбор аналитической системы.
Также в таком случае обычно существует разбивка всех данных по часам, что крайне полезно.

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

Поддержка событий
Система должна уметь отслеживать Front End и Back End события. Не должно быть никаких странных ограничений на параметры события и их значения. Про странные ограничения хорошо написано тут в описании системы Flurry.

Функционал A/B и A/B/N-тестирования
Все просто. У вас есть какая-то страница на сайте (экран приложения), чтобы понять насколько она (он) эффективно решает свои задачи, нужно:
Посчитать конверсию в целевые действия (покупки, оформление заявки, добавление в избранное, нажатие на кнопку “Like” и т.д.).
Сделать несколько вариантов этой же страницы (этого же экрана) с какими-либо отличиями, посчитать конверсию для них и сравнить с исходным вариантом.
Каким требованиям должен отвечать сам фунционал тестирования?
• Возможность проводить тестирование между двумя и более вариантами страниц (экранов). Примеры документации раз, два, три.
• Возможность разделять трафик для проверки гипотезы в заданных вручную пропорциях.
• Автоматическое определение победившего варианта и вероятность этого события.
• Возможность поставить любую цель (в том числе серверное событие) для определения победителя в тестировании.
• Возможность задать временной промежуток для тестирования.
• Желательна поддержка функционала тестирования для мобильных устройств (пока что крайне редкая фича в системах).

Функционал когортного анализа
Шикарная статья по этой теме. Решать вам, нужна ли такая фича в аналитической системе для вашего проекта.

Функционал воронок
Без этого никуда. Хотите знать где больше всего теряете пользователей? Воронки расскажут. Система должна строить воронки в пользователях, а не количестве совершенных действий, а также сегментировать по параметрам.
Например, у вас воронка: пользователь зашел на посадочную страницу —> создал аккаунт —> залогинился —> оплатил тарифный план “Pro”. Нужно, чтобы система не просто посчитала конверсию на каждом шаге, но также смогла сегментировать это по различным параметрам (скажем, по операционной системе или браузеру).

Сегментация по нескольким параметрам
Данному функционалу будет посвящена отдельная статья. Пока можно ознакомиться с ним на примерах систем Mixpanel и KISSmetrics.

Функционал Live View
Необходим, чтобы проверить правильно ли внедрены все события и их параметры на вашем сайте/в приложении. Отображает все действия в режиме реального времени.

Продолжение тут.