Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:

Как работает Яндекс.Метрика

Россия +7 (495) 960-65-87
Шрифт:
3 13729

Команда Яндекса подготовила статью, где вы узнаете о технических аспектах работы Яндекс.Метрики. 

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

Системы веб-аналитики

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

У Яндекса есть своя аналитическая система, которой ежедневного пользуются миллионы владельцев сайтов, — Метрика. Она умеет быстро обрабатывать огромные объемы данных и строить произвольные отчеты в реальном времени.

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

Сбор данных

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

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

Счетчик фиксирует прокручивание страницы, движения мыши и клики по кнопкам и ссылкам (отчет об этих действиях владелец сайта может посмотреть в отдельном разделе Метрики — Вебвизоре). Также он сообщает, совершил ли посетитель важные для владельца сайта действия — например, зарегистрировался на форуме, кликнул по рекламному баннеру или оформил заказ в интернет-магазине.

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

Отчеты

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

Например, чтобы понять, хорошо ли в целом сработала ваша рекламная кампания, можно посмотреть в Метрике общую информацию — увеличилось ли количество посещений, из каких источников приходили люди и как изменилась глубина просмотра. А можно углубиться в детали и попытаться ответить на более конкретный вопрос. Допустим, у вас есть сервис для молодых жителей Санкт-Петербурга и вы хотите проверить, удобен ли его новый мобильный интерфейс. Метрика позволяет узнать, много ли владельцев смартфонов в возрасте от 18 до 34 лет просмотрело больше двух страниц вашего сайта и много ли было отказов, а вам останется только сделать выводы.

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

1 яндекс.png

Хранение и обработка данных

Поскольку отчеты создаются в реальном времени, их структура становится известна только в тот момент, когда владелец сайта делает через интерфейс Метрики запрос для получения отчета. Структура отчета может быть практически любой, а составляется он за долю секунды. Чтобы владелец сайта получал актуальную и полную информацию, нужно постоянно собирать данные о посещаемости и уметь тут же их обрабатывать. Для этого в 2012 году Яндекс разработал свою систему управления базами данных (СУБД) — ClickHouse.

Есть два варианта подготовки данных для аналитических отчетов. В первом, с которым раньше работала Метрика, данные агрегируются предварительно, и на их основе составляется фиксированный набор отчетов. Это позволяет загружать отчеты достаточно быстро, но ограничивает гибкость аналитики: пользователь может получить только один из набора предусмотренных отчетов. Другой вариант — хранить поступающие в систему события без предварительной агрегации, а вычисления выполнять в онлайне — в тот момент, когда пользователь загружает отчет. Это сильно расширяет аналитические возможности, но накладывает очень серьезные требования на скорость обработки данных.

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

2 яндекс.gif

В столбцовых СУБД, к которым как раз и относится ClickHouse, данные хранятся в порядке столбцов: значения, относящиеся к одному столбцу, расположены рядом. Яндекс.Метрика хранит события (визиты, просмотры и т. п.) в нескольких таблицах, где строки — это все те же события, а столбцы — их параметры. Такая структура СУБД позволяет увеличивать количество параметров событий без потери производительности. Например, если нужно получить отчет по количеству уникальных посетителей в разрезе регионов, достаточно прочитать с диска только два столбца.

3 яндекс.gif

В октябре 2015 года объем данных Метрики только для веб-сайтов составил 10,65 триллиона строк. В наиболее крупной таблице содержится 349 столбцов. Каждый раз, когда владелец сайта открывает страницу в Метрике, в ClickHouse отправляется несколько запросов. Всего база данных получает примерно 2000 запросов в секунду; пиковая скорость обработки данных превышает два терабайта в секунду.

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

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

Система ClickHouse, разработанная в команде Метрики и для ее нужд, оказалась полезна и для других задач Яндекса. В том числе СУБД используется в Маркете, рекламных технологиях, системе мониторинга серверов и внутренней бизнес-аналитике. ClickHouse сравнительно прост для изучения, так как для запросов используется язык SQL.

Оригинал статьи, опубликованный в блоге Яндекса

Есть о чем рассказать? Тогда присылайте свои материалы Даше Калинской


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
Отправить отзыв
  • Vitaly Baranov
    1
    комментарий
    0
    читателей
    Vitaly Baranov
    больше года назад
    Выражаю пожелание починить, наконец, отображение поискового трафика. По всем проектам, где есть Яндекс Маркет, часть трафика ЯМ идет в трафик из поисковых систем.
    Скрин clip2net.com/s/3rsWLR6
    Раньше хотя бы раз в месяц служба поддержки отвечала, что проблемой занимаются. Сейчас даже писать перестали.
    -
    0
    +
    Ответить
    Поделиться
  • Омномном
    больше года назад
    Заполнили эфир... писать нечего.... омномномном
    -
    1
    +
    Ответить
    Поделиться
  • Alex
    1
    комментарий
    0
    читателей
    Alex
    больше года назад
    Приятная, и интересная статья, но хотелось бы больше узнать о работе Вебвизора, сроках хранения данных, возможности их расширения. А также интересно как повлияет наличие API Яндекс метрики на продвижение англоязычного сайта. Если есть статьи содержащие ответы на мои вопросы с радостью бы их почитал.
    -
    1
    +
    Ответить
    Поделиться
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
SEOnews и Serpstat запускают конкурс для интернет-маркетологов
Анна Ольяная
4
комментария
0
читателей
Полный профиль
Анна Ольяная - благодарю :)
Как построить качественную ссылочную массу сайта
Айрат Рахимзянов
39
комментариев
0
читателей
Полный профиль
Айрат Рахимзянов - Спасибо Кирилл. Сейчас восстановилась работа сервиса: take.ms/ttXrw
«Я оптимизировал сайт, а он не в ТОП! Что делать?»
Павел Горбунов
7
комментариев
0
читателей
Полный профиль
Павел Горбунов - Как можно в инструменте tools.pixelplus.ru/tools/text-natural сравнить текст со страницы конкурента и со своей страницы? Я вижу возможность только для проверки одного урла.
Мир глазами поисковых систем
Александр Рунов
4
комментария
0
читателей
Полный профиль
Александр Рунов - Какой регион, если не секрет? В Мск, в ряде ВК тематик (в тех же "окнах" или "колесах"), без работы с внешними факторами по ВЧ запросам в ТОП не выплывешь. Хотя в большинстве направлений вполне реально.
Влияние HTTPS на ранжирование региональных поддоменов в Яндексе
Екатерина Иванова
1
комментарий
0
читателей
Полный профиль
Екатерина Иванова - Посмотрите на сколько упал трафик и на сколько потом вырос:упал на 10-20% на 1 месяц, а вырос в итоге в 5 раз. Одним мартовским трафиком всё падение перекрыли. Или можно ждать Яндекс неопределённое количество времени со стартовым уровнем трафика. Упущенные возможности и всё-такое.
Google.ru внесли в реестр запрещенных сайтов
Гость
1
комментарий
0
читателей
Полный профиль
Гость - Гон, все работает и будет работать. Да и пусть банят, будет как с рутрекером.
Монетизация сайта. Как, когда, сколько?
Ruslan Baybekov
2
комментария
0
читателей
Полный профиль
Ruslan Baybekov - Максим, добавили возможность вывода дохода на Яндекс Деньги и WMR.
Интеграция call tracking и CRM: углубленный анализ данных о звонках и продажах
Денис
2
комментария
0
читателей
Полный профиль
Денис - Какой смысл вообще в облачных CRM, обрезанный фугкционал, свое дописать невозможно, слив клиентов другим компаниям. Серверные бесплатные CRM куда надежней и кастамизируй как хочешь.
SEMrush: факторы ранжирования в Google в 2017 году
Анна Макарова
292
комментария
0
читателей
Полный профиль
Анна Макарова - Уважаемый S1, я тоже понимаю, что есть такие люди, которые заметив допущенную неточность несутся на всех парусах продемонстрировать "силу" своего ума. Спасибо вам за пристальное внимание. Это поможет нам быть лучше.
Дашборд Метрика 2.0 – мониторинг проблем на сайте в режиме реального времени
Константин Сокол
24
комментария
0
читателей
Полный профиль
Константин Сокол - Есть динамика трафика по разделам. Этот виджет показывает некоторые фильтры, в результате которых с поиска выпадают целые разделы.
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
373
Комментариев
292
Комментариев
262
Комментариев
219
Комментариев
171
Комментариев
156
Комментариев
137
Комментариев
121
Комментариев
97
Комментариев
97
Комментариев
95
Комментариев
80
Комментариев
77
Комментариев
67
Комментариев
60
Комментариев
59
Комментариев
55
Комментариев
52
Комментариев
48
Комментариев
45

Отправьте отзыв!
Отправьте отзыв!