×
Россия +7 (495) 139-20-33

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

Россия +7 (495) 139-20-33
Шрифт:
3 18426

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

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

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

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

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

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

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

(Голосов: 5, Рейтинг: 5)
Читайте нас в Telegram - digital_bar

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


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • Vitaly Baranov
    1
    комментарий
    0
    читателей
    Vitaly Baranov
    больше года назад
    Выражаю пожелание починить, наконец, отображение поискового трафика. По всем проектам, где есть Яндекс Маркет, часть трафика ЯМ идет в трафик из поисковых систем.
    Скрин clip2net.com/s/3rsWLR6
    Раньше хотя бы раз в месяц служба поддержки отвечала, что проблемой занимаются. Сейчас даже писать перестали.
    -
    0
    +
    Ответить
  • Омномном
    больше года назад
    Заполнили эфир... писать нечего.... омномномном
    -
    1
    +
    Ответить
  • Alex
    1
    комментарий
    0
    читателей
    Alex
    больше года назад
    Приятная, и интересная статья, но хотелось бы больше узнать о работе Вебвизора, сроках хранения данных, возможности их расширения. А также интересно как повлияет наличие API Яндекс метрики на продвижение англоязычного сайта. Если есть статьи содержащие ответы на мои вопросы с радостью бы их почитал.
    -
    1
    +
    Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Алгоритм продвижения сайта через Pinterest
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - В самом вверху есть ссылка на мою группу в ВК, там где автор материала. Через группу и свяжитесь со мной_)
Ссылочный апдейт Google: что изменится для SEO-специалистов в рунете
Тимур
6
комментариев
0
читателей
Полный профиль
Тимур - Понял, спасибо за информацию.
Как забрать 5 мест в выдаче из 10. Кейс-эксперимент
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - такое можно делать и с ВЧ_)
3 основные ошибки, которые допускают владельцы сайтов при продвижении
Виктор Гаврюков
29
комментариев
1
читатель
Полный профиль
Виктор Гаврюков - Не обращай внимания_) Если у тебя хороший ресурс, то ты будешь первоисточником, и все кто своровал, автоматически начнут на тебя ссылаться, точнее, так гугл будет считать_)
Как продвинуть сайт по коммерческим запросам в ТОП-10 с помощью ресурса Reddit
Denis Zar
2
комментария
0
читателей
Полный профиль
Denis Zar - пользовались услугами по продвижению на реддит от reddit-marketing.pro?
Как мы увеличили трафик из Яндекса более чем в 3 раза за неделю на сайте клиники. Кейс
Андрей
1
комментарий
0
читателей
Полный профиль
Андрей - У большинства сайтов произошел рост в Гугле в декабре и в марте Яндекса. Ваши шаманства тут не причём :)
Сравнительная статистика уровня жизни SEO-специалистов в семи странах, включая Россию
Рустам
1
комментарий
0
читателей
Полный профиль
Рустам - Средняя температура по больнице, подсчет даже близко не отображает действительность, особенно учитывая разность цен и уровня зп в разных частях больших стран (США, Канада, Россия)
Зарабатываем с помощью текстов: как создать уникальный контент и монетизировать сайт
dotaidi
94
комментария
0
читателей
Полный профиль
dotaidi - Какой-то нейро-физиологический подход к теме создания контента: 1. " ..чтобы контент отвечал интересам аудитории, закрывал ее боли и потербности". Закрыть боль аудитории? Это как понимать, текст что должен выполнять функцию анестезии? Зачем падать в медицинские категории, это ведь профессиональный текст о SEO, а не триллер и не художественная литература, где метафоры уместны. 2. "Главное — чтобы процесс сбора информации вас увлекал и нравился, ведь эта работа требует усилий". Построение тезиса предполагает, что если работа не нравится, то и усилий она не требует. И вообще, упор в работе на главное значение "нравится" — очень спорное и тоже из области НЛП-игрушек. Стилистика статьи тоже желает более продуманного подхода к использованию словосочетаний специфической терминологии: "вы можеет создавать материалы в коллаборации с известными брендами, релевантными тематике вашего сайта". Бренд не может быть релевантным из-за того, что это целый комплекс явлений, собранный под некоторой узнаваемой семантической или графической символикой. Релевантность — качество, свидетельствующее о совпадении запроса(желания) и выдачи (полученной информации). Это нужно хотеть бренд, чтобы он стал релевантным. Аналогия и релевантность не синонимы. "прикладывайте усилия в сбор и обработку информации" и многие подобные обороты делают статью не просто нерелевантной, но просто безграмотной.
Как доработка структуры вывела сайт в ТОП-10 Google и увеличила трафик в 2 раза. Кейс Связной Трэвел
Дмитрий
3
комментария
0
читателей
Полный профиль
Дмитрий - Вероятнее всего было обновление Google и позиции были снижены в связи с низкой скоростью загрузки страниц (так как доработке ведутся не только по SEO, но и в целом по функционалу сайта, появляются новые скрипты). В этот период в Google Search Console увеличилось количество страниц с низкой скоростью загрузки. Мы выявили несколько проблем, которые снижают скорость загрузки страниц и выдали рекомендации по их устранению. Пока данные рекомендации находятся в работе. Также был проведен анализ EAT факторов и проверка сайта на соответствие требованиям Google к YMYL сайта, выданы рекомендации по доработке данных факторов (ждем внедрения наших рекомендаций, поделимся потом результатами).
Рост ботных переходов на сайт: как интерпретировать и что делать
Mike
5
комментариев
0
читателей
Полный профиль
Mike - как это проверить? что товары выводится именно на основе спроса, а не по заданным алгоритмам?
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
385
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
121
Комментариев
114
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
94
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
62
Комментариев
60
Комментариев
59

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