Метрики релевантности в поиске не равны метрикам найма. И это главный красный флаг в матчинге.

Типичная картина: команда гордится ростом NDCG или precision@k, а рекрутеры/сейлзы/пользователи говорят “стало хуже”. Откликов меньше, контактов меньше, найма не прибавилось. Начинается спор “офлайн прав” против “продукт не верит данным”. Цена ошибки простая: вы ускоренно оптимизируете не тот участок воронки и закрепляете это в модели.

Почему так происходит. Офлайн-оценка ранжирования отвечает на вопрос “похоже ли на то, что мы считаем релевантным”. А продуктовые метрики отвечают “что случилось после выдачи”. Между ними куча фильтров: кто вообще увидел, кому показали, кто смог ответить, кто прошёл проверку, где вмешался человек, где сработали правила. Плюс задержки и смещение меток: “нанят” появляется поздно и не для всех, “контакт” зависит от скорости ответа, “отклик” зависит от текста вакансии и доверия, а не только от позиции в списке. В итоге релевантность легко становится метрикой симулятора, а не бизнеса.

Минимальный стандарт, чтобы не самообмануться:

  1. Разведите цели по слоям: качество ранжирования отдельно, метрики воронки отдельно. Не пытайтесь одной цифрой заменить всё.
  2. Для каждой стадии воронки фиксируйте свой таргет: поиск и клик, отклик и контакт, дальше уже качество лида и найм. Не “похоже на релевантное”, а “приводит к следующему шагу”.
  3. Калибруйте офлайн на онлайн: офлайн-рост должен хотя бы не ломать короткие продуктовые прокси (CTR по позициям, доля пустых сессий, конверсия в первый шаг). Если ломает, офлайн датасет или разметка не про ваш продукт.
  4. Следите за смещениями: позиционное смещение, разные источники трафика, разные типы запросов, холодные и тёплые пользователи. Аггрегат “в среднем” обычно врёт.
  5. Не подменяйте найм суррогатами без контроля: если оптимизируете на отклик, обязаны мониторить downstream (контакт, качество, отмены) и иметь стоп-условия.

Правильная практика выглядит так: офлайн-метрики используют как быстрый фильтр идей, а решение о релизе принимает воронка с понятными guardrails. Обычно спорят про “но найм же редкий и шумный” — да, поэтому и нельзя делать вид, что один NDCG заменяет продукт. Исключение простое: когда трафика мало и лейблов почти нет, офлайн спасает, но только как временный костыль, а не как KPI продукта.