Как Авито Работа ранжирует вакансии: ML-модели и инсайты из АБ-тестов
Ранжирование вакансий в Авито Работе — это сложный процесс, основанный на машинном обучении и постоянных экспериментах. В этой статье мы разберем, как устроена выдача на платформе, какие ML-модели используются и какие инсайты удалось получить из АБ-тестов. Вы узнаете, почему универсальные алгоритмы

Ранжирование вакансий в Авито Работе — это сложный процесс, основанный на машинном обучении и постоянных экспериментах. В этой статье мы разберем, как устроена выдача на платформе, какие ML-модели используются и какие инсайты удалось получить из АБ-тестов. Вы узнаете, почему универсальные алгоритмы не подходят для поиска работы и как бизнес-вертикаль влияет на ранжирование.
Эволюция поиска вакансий в Авито Работе
Поиск в Авито Работе — это не единая система, а скорее конструктор, который адаптируется под каждую вертикаль. Для вакансий пришлось переосмыслить стандартные подходы: если в товарных объявлениях ключевую роль играют цена и характеристики, то для вакансий на первый план выходят релевантность навыкам, зарплатная вилка и срочность найма. Вахрушев отмечает, что ранжирование в этой вертикали строится на двух этапах: сначала грубый отбор кандидатов с помощью лёгких моделей, затем точное ранжирование с использованием более тяжёлых ML-алгоритмов.
Первый этап — это retrieval: система из нескольких миллионов активных вакансий отбирает несколько тысяч наиболее подходящих по запросу. Здесь работают классические методы: BM25, TF-IDF и эмбеддинги, которые позволяют быстро отсеять заведомо неподходящие варианты. Второй этап — ranking: отобранные вакансии сортируются с помощью градиентного бустинга над деревьями решений (например, CatBoost), который учитывает десятки признаков: от текстового совпадения до поведенческих сигналов пользователей.
Ключевая особенность — постоянное обновление моделей. Поиск в Авито Работе ежедневно обрабатывает миллионы запросов, и каждая модель переобучается на свежих данных, чтобы учитывать сезонность, тренды и изменения в поведении пользователей. Это позволяет сохранять качество выдачи даже при резких скачках спроса, например, в предновогодний период, когда количество вакансий в сфере торговли вырастает в разы.
Предыстория и контекст
Авито давно инвестирует в машинное обучение: ещё в 2019 году компания запустила собственную платформу для ML-разработки, а к 2024 году в штате появились десятки DS-инженеров, работающих над различными вертикалями. Однако поиск вакансий долгое время оставался «серой зоной»: универсальные алгоритмы, созданные для товарных объявлений, показывали посредственные результаты при поиске работы. Причина — в специфике спроса: соискатели ищут не просто «водитель», а «водитель категории С с опытом от 3 лет», и стандартный поиск по ключевым словам часто пропускал релевантные вакансии из-за синонимии и морфологии.
В ответ на это команда Авито Работы начала разрабатывать специализированные модели, которые учитывают профессиональную лексику и контекст. Например, для запроса «продавец-консультант» система должна понимать, что «продавец» и «консультант» — это не два разных навыка, а одна профессия. Для этого используются эмбеддинги, обученные на корпусе вакансий и резюме, которые позволяют улавливать семантическую близость терминов.
Вахрушев подчёркивает, что работа над ранжированием — это итеративный процесс: каждая гипотеза проверяется через АБ-тесты, и только те изменения, которые статистически значимо улучшают метрики, попадают в прод. Такой подход позволяет избежать субъективных решений и опираться на данные. За последние годы команда провела сотни экспериментов, и часть из них оказалась неожиданной.
Какие ML-модели используются в ранжировании?
В основе ранжирования в Авито Работе лежит градиентный бустинг, но ключевую роль играют признаки, которые подаются в модель. Их можно разделить на три группы: текстовые (совпадение слов, TF-IDF, эмбеддинги), поведенческие (CTR, время просмотра, количество откликов) и бизнес-признаки (срочность вакансии, зарплатная вилка, активность работодателя). Текстовые признаки отвечают за релевантность, поведенческие — за вовлечённость, а бизнес-признаки помогают балансировать между интересами соискателя и работодателя.
Интересный инсайт: модель ранжирования не просто сортирует вакансии по убыванию релевантности, а оптимизирует вероятность отклика соискателя. Это значит, что в топ попадают не те вакансии, которые максимально соответствуют запросу, а те, на которые пользователь с наибольшей вероятностью нажмёт и откликнется. Такой подход увеличивает конверсию, но требует аккуратной настройки, чтобы не уходить в кликбейт.
Для обучения моделей используются как исторические данные (логи поиска и откликов), так и синтетические, сгенерированные специально для редких запросов. Это особенно важно для длинного хвоста: запросов, которые встречаются раз в месяц, но в сумме составляют значительную долю трафика.
Технические подробности и эксперименты
Один из самых показательных АБ-тестов, описанных Вахрушевым, касался изменения веса поведенческих признаков. Команда предположила, что увеличение веса CTR (кликабельности) улучшит выдачу, но тест показал обратное: качество ухудшилось для новых вакансий, которые ещё не успели набрать статистику. Это привело к выводу, что поведенческие признаки нужно использовать с учётом «холодного старта» — для новых вакансий они должны иметь меньший вес, чтобы не дискриминировать их.
Другой эксперимент касался использования эмбеддингов для расширения запроса. Вместо того чтобы искать только точные совпадения слов, модель стала добавлять в выдачу вакансии, семантически близкие к запросу. Например, на запрос «курьер» система начала показывать вакансии «доставщик» и «экспедитор», что увеличило полноту поиска на 12% без потери точности. Однако этот подход потребовал тщательной фильтрации, чтобы не выдавать нерелевантные результаты.
АБ-тесты также показали, что важна не только модель, но и интерфейс. Изменение порядка элементов в карточке вакансии (например, вынос зарплаты на первое место) увеличило CTR на 5%, а добавление кнопки «Быстрый отклик» — на 8%. Это говорит о том, что ранжирование — это лишь часть системы, и её эффективность зависит от того, как пользователь взаимодействует с выдачей.
Кого затронет и как
Для соискателей изменения в ранжировании означают более точный подбор вакансий: система лучше понимает запросы, учитывает поведение и предлагает релевантные варианты. Это сокращает время на поиск работы и повышает вероятность найти подходящую позицию. Для работодателей — это рост числа откликов от заинтересованных кандидатов, что снижает стоимость найма. Впрочем, есть и обратная сторона: модели могут усиливать предвзятость, если в исторических данных есть перекосы. Например, если в определённой сфере женщины реже откликаются, модель может реже показывать им вакансии, хотя это не связано с их квалификацией.
Для разработчиков и ML-инженеров статья Вахрушева — это кейс о том, как адаптировать поисковые алгоритмы под конкретную бизнес-вертикаль. Она показывает, что универсальные решения не работают: нужны специализированные признаки, учёт специфики и постоянное тестирование. В российском контексте это особенно актуально, так как рынок труда динамичен, а конкуренция среди платформ высока. Авито Работа конкурирует с HeadHunter и другими сервисами, и качество поиска напрямую влияет на удержание пользователей.
Что будет дальше
Команда Авито Работы планирует развивать направление персонализации: учитывать историю поиска конкретного пользователя, его резюме и предпочтения. Вахрушев упоминает, что в планах — использование моделей глубокого обучения для ранжирования, а также внедрение механизмов объяснимости, чтобы пользователь понимал, почему ему показана та или иная вакансия. Это повысит доверие к сервису и снизит количество жалоб на нерелевантную выдачу.
Ожидается, что в ближайшие месяцы Авито представит новые функции на основе ML: например, автоматическое составление рекомендаций по вакансиям на основе резюме соискателя. Также компания продолжит публиковать технические статьи, что делает её одним из самых открытых игроков на российском рынке в плане обмена опытом.
Итог
Ранжирование вакансий в Авито Работе — это пример того, как ML-оптимизации решают реальные бизнес-задачи. Двухэтапная система поиска, градиентный бустинг, эмбеддинги и постоянные АБ-тесты позволяют создавать выдачу, которая удовлетворяет и соискателей, и работодателей. Ключевые выводы: универсальные алгоритмы не работают для специфических вертикалей, поведенческие признаки требуют осторожного применения, а интерфейс играет не меньшую роль, чем сама модель. В будущем нас ждёт ещё больше персонализации и объяснимого ИИ, что сделает поиск работы ещё более эффективным.