Перед тем, как анализировать данные статистики, нужно понимать, как они были собраны, какие из них могут быть неточными, и почему.
Сервер в интернете получает от браузера пользователя запросы и отдает данные. На каждый просмотр страницы сервер получает один запрос (на тело страницы), а затем несколько дополнительных (картинки, скрипты, таблицы стилей и другие дополнительные данные для отображения страницы). Скрипты на странице также могут генерировать запросы к серверу — в том числе, к отдельному серверу статистики.
Веб-сервер связывает запросы одного и того же пользователя с помощью сессий. Когда к серверу обращается новый пользователь, он создает новый идентификатор сессии, который пользователь сообщает серверу при каждой новой загрузке страницы. Обычно идентификатор сессии передается на сервер из cookie — файла переменных, который браузер может сохранить для конкретного сайта.
Что же сервер может узнать о пользователе?
Второй тип систем сбора статистики добавляет на страницу, показываемую пользователем, дополнительный код, который осуществляет запрос к системе статистики. Когда интернет был молодой и браузеры были очень глупыми, для этого использовались картинки: чтобы отобразить картинку на странице, браузеры делали запрос на сервер статистики. Этот сервер делал запись уже в свой журнал, а потом отображал картинку с цифрами — именно с тех пор пошла рунетовская традиция “вешать счетчики” размером 88х31. Этот способ почти всем хуже первого, и использовался только потому, что у владельцев сайтов не было доступа к журналам своего сервера.
Когда браузеры повсеместно научились выполнять скрипты (мини-программы) JavaScript, внешние счетчики значительно поумнели. Помимо стандартного запроса, JavaScript смог передавать в систему статистики множество новых данных: разрешение и цветность экрана, параметры операционной системы. Они вновь получили доступ к рефереру и смогли ставить cookie от имени посещаемого сайта, что упростило отслеживание сессий пользователя. Самым популярным “навороченным” счетчиком такого рода является Google Analytics!
У внешнего счетчика на JS тоже есть недостатки:
— с его помощью невозможно отследить закачки файлов с сайта,
— он записывает лишь переходы на страницы, загруженные полностью (т.к. иначе код не успеет исполниться),
— он требует современного браузера и разрешения на работу скриптов,
— он не работает на мобильных браузерах (кроме Opera Mini и современных смартфонов),
— чтобы записывать параметры внутренней “кухни”, вроде данных учетной записи пользователя, все эти данные нужно перегонять в код счетчика, что обычно небезопасно, трудно и в результате бессмысленно. Представьте себе, что речь идет о сайте знакомств, каждый из пользователей которого имеет анкету с кучей параметров. Чтобы проанализировать поведение пользователей с разными параметрами анкет, нужно связать анкеты с запросами.
В таких сложных случаях разработчики сайтов сами разрабатывают систему записи статистики, в которую добавляют все возможности, которые им нужны. Преимущества такой системы — ее бесконечная гибкость. Из этого вытекает и главный недостаток: необходимость писать для такой системы средства анализа данных вручную. Так что разработчики, нужды которых удовлетворяются готовыми системами, стараются пользоваться именно ими.
Первое и самое важное, что нужно запомнить при работе со статистическими данными из интернета: точные и полные данные чаще всего добыть очень сложно. Я буду уточнять неточности по мере перечисления метрик. Ключевым навыком аналитика является умение отличить важные ограничения от неважных.
Стандартные, популярные системы чаще всего используют второй метод. Больше всего мы будем говорить о Google Analytics, и в следующей части рассмотрим основные метрики, доступные его пользователям.
Сервер в интернете получает от браузера пользователя запросы и отдает данные. На каждый просмотр страницы сервер получает один запрос (на тело страницы), а затем несколько дополнительных (картинки, скрипты, таблицы стилей и другие дополнительные данные для отображения страницы). Скрипты на странице также могут генерировать запросы к серверу — в том числе, к отдельному серверу статистики.
Веб-сервер связывает запросы одного и того же пользователя с помощью сессий. Когда к серверу обращается новый пользователь, он создает новый идентификатор сессии, который пользователь сообщает серверу при каждой новой загрузке страницы. Обычно идентификатор сессии передается на сервер из cookie — файла переменных, который браузер может сохранить для конкретного сайта.
Что же сервер может узнать о пользователе?
- Прежде всего, его ip-адрес. Он обычно используется лишь для одной цели: узнать регион, из которого пользователь выходит в интернет. Большинство провайдеров настроены таким образом, что у каждого пользователя адреса все время меняются. К тому же, многие выходят из сети с единственным внешним адресом. Таким образом, одинаковые адреса вовсе не говорят о том, что с них работает один и тот же пользователь, и наоборот.
- Адрес страницы, которую посещает пользователь.
- Адрес страницы, с которой пользователь перешел на текущую, или «реферер». Эти данные оказываются очень полезными. Если пользователь, например, пришел с поисковика, то в предыдущем адресе сохранен запрос, который он ввел в поисковик.
- Точное время запроса.
- “Позывные” браузера пользователя — его строку идентификации. По ней можно понять, какие браузеры популярны среди пользователей, а также отличить запрос от поискового робота.
- Cookie — данные, которые сервер ранее “попросил” браузер запомнить. Cookie могут быть постоянными (сохраненными на определенный период времени) и сессионными (уничтожаемыми после закрытия браузера). Они содержат произвольные наборы переменных и значений.
- Переменные, которые передает браузер.
Второй тип систем сбора статистики добавляет на страницу, показываемую пользователем, дополнительный код, который осуществляет запрос к системе статистики. Когда интернет был молодой и браузеры были очень глупыми, для этого использовались картинки: чтобы отобразить картинку на странице, браузеры делали запрос на сервер статистики. Этот сервер делал запись уже в свой журнал, а потом отображал картинку с цифрами — именно с тех пор пошла рунетовская традиция “вешать счетчики” размером 88х31. Этот способ почти всем хуже первого, и использовался только потому, что у владельцев сайтов не было доступа к журналам своего сервера.
Когда браузеры повсеместно научились выполнять скрипты (мини-программы) JavaScript, внешние счетчики значительно поумнели. Помимо стандартного запроса, JavaScript смог передавать в систему статистики множество новых данных: разрешение и цветность экрана, параметры операционной системы. Они вновь получили доступ к рефереру и смогли ставить cookie от имени посещаемого сайта, что упростило отслеживание сессий пользователя. Самым популярным “навороченным” счетчиком такого рода является Google Analytics!
У внешнего счетчика на JS тоже есть недостатки:
— с его помощью невозможно отследить закачки файлов с сайта,
— он записывает лишь переходы на страницы, загруженные полностью (т.к. иначе код не успеет исполниться),
— он требует современного браузера и разрешения на работу скриптов,
— он не работает на мобильных браузерах (кроме Opera Mini и современных смартфонов),
— чтобы записывать параметры внутренней “кухни”, вроде данных учетной записи пользователя, все эти данные нужно перегонять в код счетчика, что обычно небезопасно, трудно и в результате бессмысленно. Представьте себе, что речь идет о сайте знакомств, каждый из пользователей которого имеет анкету с кучей параметров. Чтобы проанализировать поведение пользователей с разными параметрами анкет, нужно связать анкеты с запросами.
В таких сложных случаях разработчики сайтов сами разрабатывают систему записи статистики, в которую добавляют все возможности, которые им нужны. Преимущества такой системы — ее бесконечная гибкость. Из этого вытекает и главный недостаток: необходимость писать для такой системы средства анализа данных вручную. Так что разработчики, нужды которых удовлетворяются готовыми системами, стараются пользоваться именно ими.
Серверные логи | Внешняя статистика | Самописная статистика | |
Отслеживание сессий | — (достаточно сложно реализуемо) | + | + |
Запись всех визитов | + | — (только браузеры со включенным JS и страницы, загруженные полностью) | + |
Отслеживание закачиваемых файлов | + | — | + |
Отслеживание поисковых и др. ботов | + | — | + |
Связь визитов с внутренними данными сайта | — | — | + |
Сравнение с данными других сайтов | — | + | — |
Возможность отслеживания транзакций и воронки продаж | — | + | + |
Отслеживание событий, не приводящих к запросам на сервер | — | + | + |
Первое и самое важное, что нужно запомнить при работе со статистическими данными из интернета: точные и полные данные чаще всего добыть очень сложно. Я буду уточнять неточности по мере перечисления метрик. Ключевым навыком аналитика является умение отличить важные ограничения от неважных.
Например, системы внешней статистики на основе JavaScript не будут работать у пользователей с очень старыми браузерами или отключенными ради безопасности скриптами. В большинстве случаев это приемлемо: доля таких пользователей невелика (меньше процента). Однако, если вы собираете данные по корпоративному интранету в компании, которая отключает JS у своих сотрудников, или хотите измерить долю пользователей с отключенными скриптами, этот метод уже не годится.Общие ограничения систем сбора статистики:
- Невозможно отследить, кто сидит за компьютером. Можно лишь различить браузеры.
- Невозможно точно определить регион — лишь попробовать угадать на основе IP пользователя (хотя он может выходить в сеть через удаленный Proxy, VPN и т.д). Например, все пользователи мобильного интернета через Opera Mini записывались системами статистики в регион “Норвегия”, поскольку запросы проходили через адаптирующий сервер в этой стране.
- Невозможно узнать пользователя, если он пришел с другого компьютера и не ввел пароль на сайт.
- Невозможно определить, откуда пришел пользователь, если фаерволл фильтрует поле реферера, или же он нажал на ссылку в почте, аське, перепечатал ее из рекламы и т.д.
- Невозможно определить, совершил ли пользователь транзакцию, если он решил на определенном этапе продолжить ее в оффлайне (позвонить в магазин, например). Эта проблема значительнее других влияет на грамотный расчет качества интернет-магазинов и требует дополнительных мер в оффлайне :(
Стандартные, популярные системы чаще всего используют второй метод. Больше всего мы будем говорить о Google Analytics, и в следующей части рассмотрим основные метрики, доступные его пользователям.