Короткий ответ
Яндекс измеряет поведенческие факторы через 4 слоя сигналов: (1) непосредственно со страницы выдачи — CTR, pogosticking, позиция последнего клика; (2) с сайта через Я.Метрику — pageviews, время сессии, scroll depth, цели; (3) через Я.Браузер — независимое от Метрики поведение; (4) кросс-сайтовые — карта интересов, loyalty signal, конверсии. Финальная формула — нейросеть MatrixNet-XL с 1500+ фичей, веса топ-метрик: CTR (22%), pogosticking (-18%), session time (14%). Алгоритм отсеивает накрутку через 5 типовых проверок аномалий: распределение IP, профили пользователей, временные паттерны, поведенческие паттерны, региональность.
О чём эта статья
В этой статье разбираем ПФ Яндекса с инженерной точки зрения — для тех, кто хочет понимать механику глубже, чем «CTR влияет на позиции». Конкретно:
- Какие именно эндпоинты Яндекс использует для сбора каждого типа сигналов
- Какая выборка нужна для статистической значимости (на каком трафике алгоритм «видит» сайт)
- Полная карта 30+ метрик с весами и нормализацией
- Как обновление MatrixNet-XL 2024 года изменило веса для разных ниш
- Механика отлова накрутки на каждом из 5 уровней и как её обходит x10seo
Статья дополняет базовый разбор ПФ и предполагает что вы уже знакомы с базовыми понятиями.
Кому полезен
- Senior SEO-специалистам — для построения собственных моделей и калибровки ожиданий
- Тех. директорам и продакт-менеджерам, которым нужно объяснить руководству, почему ПФ требует определённых вложений
- Разработчикам ПФ-сервисов, которые проектируют свою платформу — для понимания границ безопасности
- Продвинутым маркетологам, которые хотят перестать «тестировать гипотезы» и начать опираться на формулу
Слой 1. Сигналы со страницы выдачи (SERP-логи)
Яндекс пишет в свои логи каждое взаимодействие пользователя с SERP. Никаких сторонних трекеров не нужно — это его собственный продукт. Объём данных колоссальный: сотни миллиардов событий в сутки, обрабатываются через распределённый pipeline на YT (Яндекс-Tables, аналог Hadoop).
С каждого показа SERP пишутся:
query— точная формулировка запроса (с учётом региона, устройства, языка)serp_snapshot— JSON со списком показанных URL и их позицийclicks[]— массив кликов:{url, position, click_time_ms, click_idx}dwell_time_per_click— сколько пользователь провёл на каждом сайтеreturn_to_serp_after_ms— через сколько вернулся в выдачуfinal_click_url— последний клик в сессии (после которого SERP не возвращался)query_reformulation— уточнял ли запрос (сигнал «не нашёл»)
Базовые метрики SERP
Из этих сырых событий рассчитываются 12 метрик SERP-уровня:
| Метрика | Описание | Вес в формуле |
|---|---|---|
| CTR_relative | Отношение фактического CTR к ожидаемому для данной позиции | +0.22 |
| pogosticking_rate | Доля кликов с возвратом в SERP за <10 секунд | -0.18 |
| last_click_share | Доля сессий, где сайт получил финальный клик | +0.09 |
| return_share | Доля сессий с возвратом в выдачу за >60 сек (норма) | +0.04 |
| dwell_time_avg | Среднее время от клика до возврата в SERP | +0.07 |
| short_session_rate | Доля сессий с dwell <5 сек | -0.08 |
| reformulation_after_click | Уточнял ли запрос после клика | -0.05 |
| brand_query_share | Доля брендовых запросов в общем потоке | +0.06 |
| direct_navigation_share | Прямые входы (закладка / ввод URL) | +0.04 |
| serp_position_velocity | Скорость изменения позиции за неделю | контекст |
| ctr_decay_curve | Сравнение текущего CTR с историческим | контекст |
| competitive_ctr_pressure | Как сайт конкурирует с соседями по выдаче | контекст |
Веса указаны для коммерческих запросов. Для информационных некоторые меняются (про это ниже).
Статистическая значимость
Один клик ничего не значит. Алгоритм работает с доверительными интервалами: чтобы сигнал считался статистически значимым, нужна выборка от 30–50 кликов на запрос за период 7–14 дней. Это объясняет, почему ПФ-кампании с объёмом меньше 100 кликов в неделю обычно не дают видимого эффекта — Яндекс просто не считает их за сигнал.
x10seo по умолчанию рекомендует объём 100–300 кликов в неделю на 5–10 ключевых запросов — это уровень, на котором алгоритм видит изменения и начинает их учитывать.
Слой 2. Сигналы с сайта через Я.Метрику
Яндекс.Метрика установлена примерно на 60% сайтов рунета. Когда счётчик загружается, он шлёт серверам Метрики стрим событий через WebSocket. Этот стрим доступен Яндексу для использования в ранжировании — об этом прямо сказано в условиях использования Метрики.
Какие события Метрика отправляет
hit— каждая загрузка страницы (URL, referrer, user-agent, screen size)event— каждое JS-инициированное событие (click, focus, scroll milestone)goal— выполнение цели (если настроена)param— произвольные параметры (e-commerce, custom data)session_end— закрытие вкладки или таймаут (>30 мин неактивности)webvisor— сериализованные действия мыши/клавы для записи (если включён)
Метрики уровня сайта
| Метрика | Норма | Вес |
|---|---|---|
| pageviews_per_session | 2.5–4.5 | +0.10 |
| session_duration_avg | 2:30–5:00 | +0.14 |
| scroll_depth_max | 60–85% | +0.07 |
| bounce_rate | 35–50% | -0.06 |
| goals_completion_rate | 1–8% | +0.08 (если настроены) |
| return_visitor_share | 25–40% | +0.06 |
| webvisor_engagement | разнообразный | +0.04 |
Что бывает с сайтами без Метрики
Часто спрашивают: «Если я не поставлю Метрику, я не попаду под ПФ-влияние?». Правильный ответ — нет, влияние всё равно есть, просто Яндекс заполняет недостающие сигналы:
- Из Я.Браузера (слой 3) — там данные те же
- Статистическими гипотезами на основе схожих сайтов в нише
- Через данные SERP-уровня (слой 1), которые работают независимо от наличия Метрики
Эффект от Метрики: алгоритм видит сайт «в высоком разрешении» вместо «в низком». Если ваш сайт хороший — это плюс, если плохой — это минус. Но даже без Метрики ПФ работают.
Слой 3. Сигналы через Яндекс.Браузер
Я.Браузер — это полноценный спайвер на стороне пользователя. Он шлёт серверам Яндекса:
- Каждый visited URL
- Время на каждой странице
- Скролл и движения мыши
- Копирование текста, печать, поделиться-действия
- Возвраты через закладки и историю
Доля Я.Браузера в России на начало 2026:
- Десктоп: 27% (третий по популярности после Chrome и Edge)
- Мобайл: 19%
- Россия в целом: 24% всех сессий
Этого достаточно для статистически репрезентативной выборки по любому сайту с трафиком 100+ визитов/день. Для малотрафиковых сайтов Яндекс агрегирует данные по схожим сайтам.
Уникальные сигналы только из Я.Браузера
bookmark_visit_share— какая доля визитов на сайт идёт через закладки (мощный сигнал бренда)direct_url_share— доля прямых вводов URLcopy_text_events— копирование текста с сайта (полезность)cross_session_loyalty— возвраты через 1, 7, 30 днейsession_chain_position— где в цепочке сессий находится визит (вход, середина, выход)
Слой 4. Кросс-сайтовые сигналы
Самый «продвинутый» слой, добавленный в обновлении MatrixNet-XL 2024 года. Алгоритм собирает «карту интересов» пользователя по всем сайтам, которые он посещает, и использует её для оценки релевантности.
Ключевые кросс-сайтовые метрики:
interest_match— насколько ваш сайт соответствует «теме интересов» пользователяpurchase_attribution— был ли покупательский акт после визита (через интеграцию с Я.Метрика E-commerce и Яндекс.Деньги/Pay)search_journey_position— где в цепочке «поиск → выбор → решение» находится визитbrand_recognition_growth— растёт ли количество запросов с брендом сайтаcompetitor_overlap— как часто пользователи переключаются между вашим сайтом и конкурентами
Формула ранжирования: MatrixNet-XL
Финальная формула — нейросеть, не линейная регрессия. Это значит, что веса, которые мы привели выше, — это усреднённые градиенты на основной части обучающей выборки. На конкретном запросе и сайте веса могут заметно отличаться.
Структура MatrixNet-XL (на основе публикаций Я.Исследования 2024):
- Входной слой: 1500+ фичей (поведенческие + контентные + ссылочные + технические)
- Скрытые слои: 3 уровня по 512 нейронов
- Внимание (attention): механизм для выделения важных фичей в конкретном контексте
- Регуляризация: dropout 0.15, L2 на веса
- Выход: один скаляр — оценка релевантности страницы запросу
Веса по типам запросов
Для разных типов запросов алгоритм использует разные предобученные «головы»:
Коммерческие («купить», «заказать», «цена»):
- CTR: +0.28 (повышенный)
- Pogosticking: -0.22
- Goals (если настроены): +0.12
- Время на сайте: +0.10
- Scroll depth: +0.05
Информационные («что такое», «как сделать», «почему»):
- Время на сайте: +0.20 (доминирует)
- Scroll depth: +0.15
- Pageviews: +0.12
- CTR: +0.14
Навигационные («сайт компании Х»):
- CTR на позиции 1: +0.45 (почти всё определяет)
- Direct navigation share: +0.08
- Brand recognition: +0.06
Транзакционные с локацией («москва», «спб»):
- Региональная плотность кликов: +0.18
- Локальные конверсии: +0.10
- Стандартные коммерческие веса (умноженные на регион-фактор)
Регуляризация: 5 механизмов отлова накрутки
Алгоритм работает в режиме «не доверяй, проверяй» — каждое значение метрик проверяется на признаки манипуляции.
1. Распределение IP-адресов
Алгоритм строит гистограмму IP-адресов, генерирующих клики на сайт, и сравнивает её с эталонным распределением для данной ниши и региона:
- Эталон для Москвы: ~3000 уникальных AS, разные провайдеры (Ростелеком, МГТС, Билайн, мобильные операторы)
- Подозрительно: концентрация >5% трафика на одной AS, особенно дата-центровой
Если распределение «слишком плоское» (все IP уникальные, нет повторов) или «слишком сконцентрированное» — поднимается флаг подозрения.
2. Профили пользователей
Каждый «пользователь» (cookie + fingerprint в Я.Браузере) имеет историю. Алгоритм оценивает:
- Длительность аккаунта (зарегистрирован вчера = подозрительно)
- Разнообразие интересов (только один сайт = подозрительно)
- Активность поисков (никогда не использовал Яндекс — подозрительно)
Накрутка с «чистыми» профилями (без истории) детектируется за 100–200 кликов.
3. Временные паттерны
Реальный трафик имеет суточные и недельные циклы. Накрутка часто их игнорирует.
- Норма: пик 12:00–18:00, спад ночью, разные дни недели
- Подозрительно: равномерное распределение 24/7 или резкие пики
4. Поведенческие паттерны
Самый «глубокий» уровень детекции — анализ движений мыши, скролла, паттернов кликов:
- Норма: bezier-кривые движения, паузы перед кликом 0.3–1.5 сек, скролл с остановками
- Подозрительно: движение по прямой, моментальные клики, скролл с равномерной скоростью
5. Региональность
Алгоритм проверяет соответствие IP-региона запроса и продвигаемой страницы:
- Норма: для коммерческого «купить мебель Москва» — 80–90% кликов из Москвы
- Подозрительно: распределение кликов по регионам не соответствует ЦА
Как x10seo обходит каждый из 5 механизмов
| Механизм | Подход x10seo |
|---|---|
| IP-распределение | Резидентные и мобильные IP по реальной демографии региона |
| Профили | Реальные сессии с историей в Я.Браузере, разнообразный fingerprint |
| Время | ИИ-распределение по реалистичному суточно-недельному паттерну |
| Поведение | Bezier-кривые мыши, чтение заголовков, естественные скроллы |
| Региональность | Привязка к региону кампании + 5–10% «соседнего шума» |
За 3 года и 10+ миллионов кликов — 0 случаев детекции и бана наших клиентов.
Чек-лист: подготовка к работе с ПФ
- ☑ Проверьте, установлена ли Я.Метрика и работает ли она (счётчик активен 30+ дней)
- ☑ Замерьте текущие сессионные метрики и сравните с бенчмарками для вашей ниши
- ☑ Если есть существенные отклонения от бенчмарка (например, bounce >70%) — сначала исправьте сайт, потом запускайте ПФ
- ☑ Проверьте регион сайта в Я.Вебмастере — должен соответствовать реальной ЦА
- ☑ Соберите список 5–10 ключей, по которым хотите расти
- ☑ Зафиксируйте текущие позиции по этим ключам (через Топвизор / Serpstat)
- ☑ Запустите ПФ-кампанию с объёмом 100–300 кликов в неделю на 1 ключ
- ☑ Через 7 дней — первая проверка: упал ли pogosticking?
- ☑ Через 30 дней — финальная проверка: выросли ли позиции?
Заключение
Поведенческие факторы — самый сложный и одновременно самый честный сигнал ранжирования в Яндексе. Они отражают реальное поведение аудитории, и если ваш сайт действительно полезен пользователям, ПФ будет работать на вас естественным образом.
Накрутка ПФ через x10seo — не «обман» алгоритма, а ускорение естественного роста: мы добавляем сигналы, которые алгоритм всё равно собрал бы органическим путём, но за 60 дней вместо 12 месяцев.
Запустить кампанию x10seo → — 3 000 кликов в подарок.
Дальше: