Формула ранжирования Яндекса 2026: реконструкция и карта факторов

Рейтинг: 0% · 0 голосов
Разбор устройства поиска и факторов ранжирования: реконструкция формулы, поведенческие, текстовые, ссылочные и хостовые факторы, антиспам, что живо и что давно мёртво. Аналитика на основе метаданных факторов web_production.
Ответить
Аватара пользователя
anna_seo
Сообщения: 58
Зарегистрирован: 11 май 2026, 05:31

Формула ранжирования Яндекса 2026: реконструкция и карта факторов

Сообщение anna_seo »

Зачем эта реконструкция и на чём она держится

В дамп web_production попали метаданные 1923 факторов: имена, теги (TG_*), статусы жизненного цикла и принадлежность к стадиям ранжирования. Это не сами обученные веса и не код модели - веса проприетарны и обучаемы, их в утечке нет. Но метаданных достаточно, чтобы восстановить форму формулы и пропорции групп: какие факторы куда подаются, что давно мертво, а что несёт основную нагрузку. Дальше - именно реконструкция формы, а не точные коэффициенты.

Что прямо говорят теги

Несколько TG-тегов задают каркас всей системы.
  • TG_L2 = 1346 факторов. Основное ранжирование - это одна большая модель на стадии L2. Туда стянута почти вся живая логика.
  • TG_L3 = 30. Финальный реранк горстки кандидатов. Маленький, но решает порядок в выдаче.
  • TG_NN_OVER_FEATURES_USE = 1578. Ключевой сигнал: почти все живые факторы подаются в нейросеть-над-факторами. То есть формула 2026 - это бустинг плюс нейронка над одним общим вектором фич, а не сумма независимых формул.
  • TG_TEXT_MACHINE = 471, TG_NEURAL = 309, TG_LINGBOOST = 151. Мощные нейро-текстовые подмодели (DSSM, BERT-дистилляция), которые сами по себе выступают фичами в общем векторе.
  • TG_USERFEAT_CLICK_MACHINE = 205, TG_USERFEAT_SEARCH_DWELL_TIME = 164, TG_USERFEAT_90D = 446. Огромный поведенческий пласт с окнами наблюдения до 90 и далее до 1600 дней.
  • TG_DEPRECATED = 2117, TG_UNUSED = 521. Больше половины слотов мертвы: классический PageRank, legacy TR/LR, старые кликовые модели.
Группы факторов из factors_gen.txt дают предметную раскладку: Datetime, Domain, RegHostStatic, RegDocStatic, LinkBM25, TextBM25, TextAndLinkBM25, BM25F, BestForm, UrlBM25, Annotation, Tocm, Bocm, ExactGroups, QSegments, QueryWordSequencesTR/LR, Xref, BCLM, Query, QueryTitleSnippetCTR и другие. Их удобно свернуть в пять смысловых блоков - поведение, нейро-текст, запрос-документ, хост, аннотации/ссылки.

Архитектура: это каскад, а не одно уравнение

Ранжирование разбито на стадии. На каждой - своя задача и своя цена вычислений.

Код: Выделить всё

L0/L1  отбор кандидатов:   обратный индекс + дешёвый текст-матч (BM25-группы)
                           + статика хоста                              -> тысячи URL
L2     ГЛАВНАЯ модель:     GBDT (MatrixNet/CatBoost) + Нейросеть-над-факторами
                                                                        -> скоринг кандидатов
L3     реранк/rearrange:   свежесть, разнообразие, дедуп хостов,
                           гео/персонализация                           -> финальный топ
L0/L1 дёшевы и грубы: их задача - из всего индекса отобрать тысячи кандидатов по обратному индексу, дешёвому текст-матчу и статике хоста. L2 - сердце системы: именно тут 1346 факторов сходятся в GBDT, поверх которого работает нейросеть-над-факторами (TG_NN_OVER_FEATURES_USE = 1578). L3 не пересчитывает релевантность с нуля - он переставляет уже отобранную горсть: подмешивает свежесть, разнообразие, схлопывает дубли хостов, добавляет гео и персональную историю.

Скор на L2 в концептуальной записи

Код: Выделить всё

Score = NNoverFeatures( GBDT( wB*B + wT*T + wQ*Q + wH*H + wA*A ) ) * Mсвеж * Mкоммерц * Mгео/перс

Группа               ориентир. доля влияния (иллюстративно, 2026)
-----------------------------------------------------------------
B  Поведение          ~30-40%   досмотр vs отскок, dwell, мобайл, 90-1600-дневные окна
T  Нейро-текст        ~25-35%   DSSM/BERT-эмбеддинги query<->doc + классика BM25/проксимити
Q  Запрос<->документ  ~8-12%    покрытие запроса, IDF, слова запроса в URL
H  Хост/владелец      ~8-12%    доверие/возраст/аудитория хоста, глубина, анти-спам
A  Аннотации/ссылки   ~5-10%    анкоры, тексты переходов, запросы-к-URL, FRC
Доли влияния здесь иллюстративны. Реальные веса обучаемы и проприетарны - в дампе их нет. Это реконструкция пропорций по числу живых факторов в каждой группе и по силе тегов, а не выгрузка коэффициентов модели.
Важно понимать сам вид формулы. Слагаемые wB*B + ... + wA*A - это не финальный скор, а вход в GBDT, который ловит нелинейности и взаимодействия между группами. Результат бустинга, в свою очередь, идёт в нейросеть-над-факторами. Снаружи всё домножается на модификаторы, переписывающие расклад под класс запроса.

Модификаторы: один расклад не подходит всем запросам

Множители Mсвеж, Mкоммерц, Mгео/перс и режим холодного старта меняют эффективный вес групп в зависимости от типа запроса.

Код: Выделить всё

Mсвеж     - для свежих/новостных запросов резко вверх вес Datetime
            и быстрых кликов (RapidClicks); группа Datetime.

Mкоммерц  - для коммерческих включается коммерческая релевантность:
            DSSM продуктности [772/777/778], CommercialDssm [812],
            штраф за переизбыток рекламы; TG_COMMERCIAL ~76 факторов.

Mгео/перс - LOCALIZED_COUNTRY, регион запроса [245/246],
            персональная история (стадия L3/rearrange).

ХолодСтарт- запросы без кликовой истории: семейство HasNoQueryShows,
            факторы [64/78]. Вес B падает, модель опирается на T и H -
            иначе длинный хвост не отранжировать.
Холодный старт - принципиальный момент. Поведенческая группа B даёт ~30-40% только там, где по запросу накоплена кликовая статистика. Для длинного хвоста без истории (HasNoQueryShows, [64/78]) кликов нет, и вес B обрушивается - ранжирование держится на нейро-тексте T и хостовых сигналах H. Поэтому усреднённая доля B по всем запросам и её доля на конкретном хвостовом запросе - разные числа.

Сколько слотов реально живых

Из 1923 факторов web_production по статусам:

Код: Выделить всё

Статус             Кол-во    Доля
-----------------------------------
Активен              437    ~23%
Устаревший           777
Не реализован        443
Не используется      143
Удалён               115
Не поддерживается      8
-----------------------------------
Итого мёртвых/нерабочих слотов ~77%
Активны лишь около 23% слотов. Остальные ~77% - устаревшие, нереализованные, неиспользуемые, удалённые. Сюда уходит классический PageRank, legacy TR/LR, старые кликовые модели. Вывод для аналитики: гнаться за легендарными метриками из ранних утечек смысла мало - большинство этих слотов давно не влияет на скор.

Распределение живых факторов по реальным группам:

Код: Выделить всё

Группа          Факторов
------------------------
Annotation         133
Query               85
Xref                60
RapidClicks         33
TextBM25            26
RegDocStatic        23
RegHostStatic       17
LegacyTR            12
Domain              10
LinkBM25             9
Datetime             8
LegacyLR             7
BM25F                4
------------------------
Картина из этих чисел согласована с тегами. Annotation (133) и Query (85) - крупнейшие живые предметные группы, и при этом нейро-текстовая машина (TG_TEXT_MACHINE = 471, TG_NEURAL = 309) - отдельный мощный пласт, который сам генерирует фичи поверх классики BM25. Поведение собрано из RapidClicks (33) плюс пользовательских окон (TG_USERFEAT_90D = 446, TG_USERFEAT_CLICK_MACHINE = 205, TG_USERFEAT_SEARCH_DWELL_TIME = 164). Классические ссылочные группы (LinkBM25 9, LegacyTR 12, LegacyLR 7, BM25F 4) - заметно усохли, что и объясняет скромную долю группы A в раскладе.

Что из этого следует
Формула 2026 - это каскад L0/L1 -> L2 -> L3, где основная работа сделана на L2 одной большой моделью: GBDT над общим вектором фич плюс нейросеть-над-факторами. Доминируют поведение и нейро-текст; классическое ссылочное и legacy-текстовое наследие в основном выключено; пропорции переписываются модификаторами под класс запроса, а на холодном старте опора смещается с поведения на текст и хост.
Ещё раз дисклеймер: всё выше - реконструкция формы и пропорций по метаданным утечки. Конкретные обучаемые веса проприетарны и в дамп не попали; имена факторов и индексы в квадратных скобках приведены как они есть в источнике. Разборы по отдельным группам - ниже.



Массовые теги и полные данные

Код: Выделить всё

Тег                       |  Факторов  |  Доля
--------------------------+------------+------
TG_DYNAMIC                |  1154      |  60
TG_DOC                    |  1150      |  59.8
TG_L2                     |  1031      |  53.6
TG_USER                   |  1019      |  53
TG_DEPRECATED             |  999       |  52
TG_NN_OVER_FEATURES_USE   |  903       |  47
TG_USER_SEARCH            |  900       |  46.8
TG_STATIC                 |  672       |  34.9
TG_UNDOCUMENTED           |  574       |  29.8
TG_USERFEAT               |  508       |  26.4
TG_LOCALIZED_COUNTRY      |  408       |  21.2
TG_USER_SEARCH_ONLY       |  408       |  21.2
TG_DOC_TEXT               |  383       |  19.9
TG_ANNOTATION_NOFILTER    |  345       |  17.9
TG_TEXT_MACHINE           |  330       |  17.2
TG_OFTEN_ZERO             |  305       |  15.9
TG_USERFEAT_90D           |  259       |  13.5
TG_SAMOHOD_UNIMPLEMENTED  |  253       |  13.2
Полная таблица всех 1923 факторов - в прикреплённом файле factors_analysis.xlsx (4 листа: Факторы со всеми колонками, Сводка тегов, Группы, Легенда).

Скачать полную таблицу 1923 факторов (xlsx, 4 листа: Факторы со всеми колонками, Сводка тегов, Группы, Легенда):
images/data/factors_analysis.xlsx

Разборы по группам факторов
Каждая группа из формулы разобрана отдельным тредом: Обзор всех 1924 факторов: viewtopic.php?t=1834
Практический итог, что реально двигает позиции: viewtopic.php?t=1841
👍 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «SEO и факторы ранжирования»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей