Это одна из самых мутных тем по Маркету: где кончается органика и начинается оплата. В рекламных кабинетах вам показывают Буст продаж, ставки, проценты от цены - а что из этого реально доезжает до ранжирующей формулы report и под каким именем там лежит? Я полез в реестр факторов товарной вертикали goods и вытащил конкретику. Сразу дисклеймер, чтобы не было иллюзий.
Главные герои: CBID и VBIDЭто разбор по исходному коду вертикали goods (ya/extsearch/goods), а не официальная формула Маркета. Реестр факторов - factors_meta_gen.in, 3144 фактора. Ранжирует CatBoost/MatrixNet, то есть деревья решений: фиксированных процентных весов у факторов НЕТ. Когда я пишу сильный или слабый сигнал - это качественная реконструкция по тегам и смыслу фактора, а не измеренный вклад.
Это два самых прямых платных входа в формулу. Они лежат буквально в первом десятке факторов реестра (Index 11 и около того), что само по себе говорит о возрасте и базовости сигнала. Вот что в коде:
Код: Выделить всё
Index 11 Name: CBID
Tags: TG_BASE, TG_BLENDER_PLACE, TG_OFFER,
TG_MODEL_OFFER_PLACE, TG_TEXT_PLACE
Name: VBID
Tags: TG_DOCUMENT, TG_BASE, TG_BLENDER_PLACE,
TG_MODEL_OFFER_PLACE, TG_TEXT_PLACE
Теперь смотрите на набор PLACE-тегов - это важнее самих имён:
- TG_TEXT_PLACE - текстовая товарная выдача (списком).
- TG_MODEL_OFFER_PLACE - карточка модели с офферами разных магазинов, та самая борьба за позицию ваш-оффер-vs-чужой.
- TG_BLENDER_PLACE - подмешивание товарного блока в основную выдачу Яндекса (колдунщик).
CPA-семейство: BERT_CPA и оплата за действиеЧто доказано кодом: ставка магазина и ставка вендора - это полноценные входные факторы ранжирования во всех трёх блоках показа, а не post-ranking сортировка поверх органики. Что реконструкция: насколько сильно дерево CatBoost их учитывает в каждой ситуации - неизвестно, вес плавающий и зависит от запроса/категории.
Помимо ставки за клик в коде есть отдельный пласт - оценка экономики оффера через бертовую модель. Имена реальные, тикет MARKETRANK-29:
Код: Выделить всё
Name: BERT_CPA Tags: TG_BASE, TG_TEXT_PLACE
Name: BERT_CPA_NEW Tags: TG_BASE, TG_TEXT_PLACE
Name: BERT_BILLED_CPA Tags: TG_BASE, TG_TEXT_PLACE
Name: BERT_HAS_CPA_CLICK Tags: TG_BASE, TG_TEXT_PLACE
Обратите внимание: BERT_BILLED_CPA - это уже не ваша заявленная ставка, а то что система реально посчитала по факту. То есть формула видит не только сколько вы готовы платить, но и насколько ваша ставка реально конвертится в оплаченные события. Это сглаживает чистый аукцион первой цены - совпадает с тем, что пишут практики: Буст это не просто кто больше заплатил, а система весов.
Boost goodness и причины купить - стык платного и качественного
Есть фактор, который прямо в имени несёт boost, но он НЕ про деньги:
Код: Выделить всё
Name: RANK_BOOST_GOODNESS
Tags: TG_DOCUMENT_STATIC, TG_BLENDER_PLACE, TG_BASE,
TG_MODEL_OFFER_PLACE, TG_TEXT_PLACE
Рядом стоит органический рычаг, который магазин реально контролирует:
Код: Выделить всё
Name: REASON_POSITIVE_FEEDBACK Tags: TG_DOCUMENT, TG_BASE
(Фактор причины купить, ReasonsToBuy)
Name: HAS_ACTIVE_PROMO Tags: TG_DOCUMENT, TG_BASE
Name: MODEL_HAS_PROMO Tags: TG_DOCUMENT, TG_BASE,
TG_FORMULA_CHECK_PARROT
DJ: рекомендательный слой, где платного почти нет
Большой кластер DJ_* (персональные рекомендации, теги TG_DJ) к платному размещению отношения почти не имеет, и тут важная санитарная пометка. Самый громкий по имени фактор тут МЁРТВ:
Код: Выделить всё
Name: DJ_CATBOOST_PREDICTION
Tags: TG_USER, TG_DOC, TG_DJ, TG_DEPRECATED, TG_DELETED
(удалили т.к. fstr=0.0 - нулевая значимость)
В выборке DJ-факторов с пометкой deprecated я насчитал около трёх десятков. Так что весь блок DJ - это территория органики и персонализации, а не аукциона. Платная история сидит в CBID/VBID/BERT_CPA, а не здесь.DJ_CATBOOST_PREDICTION - мёртвый фактор (TG_DEPRECATED + TG_DELETED), удалён из-за нулевого вклада (fstr=0.0). Не подавайте его как рабочий рычаг - его в боевой формуле нет. Из DJ-семейства живут DJ_RW_WEIGHT_SUM, DJ_CAT_RW_WEIGHT_SUM и подобные (TG_DJ без deprecated), но это про релевантность/рекомендации, а не про ставку.
Что из этого реально контролирует магазин
- Прямо платное: CBID (ставка за клик оффера), VBID (ставка вендора). Чем выше - тем сильнее этот вход в формулу, но не линейно: дерево решений может насыщаться.
- Платное по факту: семейство BERT_CPA / BERT_BILLED_CPA. Тут важна не только заявленная ставка, но и конверсия клика в оплаченное действие - дутая ставка без продаж даёт системе слабый BILLED-сигнал.
- Бесплатно, но в той же формуле: HAS_ACTIVE_PROMO, MODEL_HAS_PROMO, REASON_POSITIVE_FEEDBACK - промо и причины купить.
- Базовая гигиена оффера: OFFER_PRICE и SHOP_RATING (оба TG_BASE, во всех трёх PLACE-тегах). Цена и рейтинг магазина ранжируются везде, и никакая ставка их из формулы не выкидывает.
- Платное и органика не воюют за разные слоты - они складываются в одном дереве. Ставка без релевантности (плохой матчинг в модель, низкий SHOP_RATING) будет глушиться органическими факторами в том же расчёте.
- CBID и VBID работают в трёх блоках сразу (текст, карточка модели, блендер). Если боретесь за позицию своего оффера ВНУТРИ чужой карточки модели - это зона TG_MODEL_OFFER_PLACE, и там ставка особенно осязаема.
- Переход экосистемы на CPA/оплату за действие виден в коде (BERT_BILLED_CPA). Значит фид и карточка должны быть такими, чтобы клик доходил до покупки - иначе платите за клики, а billed-сигнал слабый.
- Промо - дешёвый легальный буст: HAS_ACTIVE_PROMO/MODEL_HAS_PROMO дают формуле отдельный положительный признак без ставки.
- Не верьте маркетинговым фактор X решает на N процентов. CatBoost не раздаёт статических весов. Любой такой расклад в процентах - выдумка.
Если есть боевые наблюдения по Бусту 2026 (как ведёт себя позиция при изменении ставки в карточке модели против текстовой выдачи) - кидайте в тред, интересно сверить с тем, что видно по тегам PLACE.Доказано кодом: CBID, VBID, BERT_CPA/BERT_BILLED_CPA, HAS_ACTIVE_PROMO, MODEL_HAS_PROMO, OFFER_PRICE, SHOP_RATING, RANK_BOOST_GOODNESS, REASON_POSITIVE_FEEDBACK - существуют, живые, с указанными тегами мест показа.
Помечено мёртвым: DJ_CATBOOST_PREDICTION (deprecated+deleted, fstr=0.0).
Реконструкция (не из кода): расшифровки CBID=click bid, VBID=vendor bid, относительная сила сигналов, утверждение что ставка складывается с органикой в одном дереве - это вывод по тегам и смыслу, а не измеренный вес. Конкретный вклад в каждом запросе определяет обученная формула, доступа к её весам у меня нет.