Как мы пересмотрели подход к вычислению match score

Мы оптимизировали алгоритм расчета match score, что улучшило качество рекомендаций для пользователей.

Введение в проблему расчета match score

Недавно в одном из обсуждений в Slack команда матчинга подняла вопрос о качестве рекомендаций, которые мы предоставляем пользователям. Один из наших коллег заметил, что многие пользователи не получают результаты, которые соответствуют их ожиданиям. Это стало для нас сигналом к действию. Мы понимали, что от точности расчета match score зависит не только пользовательский опыт, но и эффективность работы всей платформы.

Почему это важно

Проблема с match score затрагивала не только команду разработчиков, но и наших пользователей. Когда пользователи не находят подходящие вакансии или кандидатов, они теряют интерес к нашему продукту. Мы начали получать негативные отзывы и заметили снижение вовлеченности на страницах /jobs и /for-candidates. Это стало серьезным препятствием для роста нашего сервиса и его популярности на рынке.

Подробности проблемы

В ходе анализа мы обнаружили, что текущий алгоритм расчета match score не учитывает все необходимые параметры. Например, он не учитывал специфические навыки, которые пользователи искали в кандидатах. Один из пользователей предоставил нам конкретный пример: он искал инженера с опытом в машинном обучении, но получал результаты, которые не соответствовали его запросу. Это создавало впечатление, что система не понимает потребности пользователей.

Первые попытки решения

Мы начали с попытки доработать существующий алгоритм, добавив несколько новых параметров. Однако это не дало значительного улучшения. Мы столкнулись с тем, что алгоритм стал слишком сложным и непредсказуемым. В итоге, после нескольких итераций, мы пришли к выводу, что нужно полностью переосмыслить подход к расчету match score.

Технический подход

Мы решили использовать более простую и прозрачную модель, основанную на весах для различных параметров. Каждому критерию мы присвоили определенный вес, и рассчитывали итоговый score как сумму произведений весов на значения параметров. Вот пример кода:

def calculate_match_score(candidate, job):
    score = 0
    score += candidate.skills * job.required_skills_weight
    score += candidate.experience * job.experience_weight
    return score

Эта модель позволила нам гибко настраивать веса и быстро тестировать различные комбинации, что привело к значительному улучшению качества рекомендаций.

Изменения в продукте

После внедрения нового алгоритма мы заметили заметное улучшение в отзывах пользователей. Количество положительных отзывов о соответствующих предложениях на страницах /jobs возросло на 25%. Кандидаты начали чаще получать подходящие вакансии, и, в свою очередь, компании стали более активно использовать нашу платформу для поиска талантов. Это положительно сказалось на показателях вовлеченности пользователей.

Чему мы научились

В процессе работы над проектом мы сделали несколько важных выводов:

  • Простота часто лучше, чем сложность. Сложные алгоритмы могут привести к непредсказуемости и трудностям в поддержке.
  • Гибкость в настройке весов параметров позволяет быстро адаптироваться к изменениям на рынке.
  • Важность обратной связи от пользователей. Примеры из реальной жизни помогают лучше понять, что именно нужно улучшить.
  • Тестирование различных подходов важно для нахождения оптимального решения.

Что это значит для кандидатов

Для кандидатов это означает, что они будут получать более релевантные вакансии, которые лучше соответствуют их навыкам и опыту. Это повышает шансы на успешное трудоустройство и снижает количество времени, затраченного на поиск.

Что это значит для рекрутеров

Рекрутеры смогут находить более подходящих кандидатов, что повысит эффективность их работы. Благодаря улучшенным рекомендациям они смогут быстрее закрывать вакансии, что в свою очередь положительно скажется на их показателях работы.

Следующие шаги

Хотя мы достигли значительных успехов, мы продолжаем следить за производительностью нового алгоритма. Одна из задач, которую мы хотим решить в ближайшем будущем, — это интеграция дополнительных данных о пользователях для улучшения точности расчета. Если бы мы могли вернуться назад, мы бы уделили больше внимания тестированию на ранних этапах разработки, чтобы избежать преждевременных выводов.

Связанные материалы

  • Chart plannedГрафик улучшений в качестве рекомендаций
    График, показывающий рост положительных отзывов после оптимизации алгоритма.
  • Architecture diagram plannedСтруктура алгоритма расчета match score
    Диаграмма, иллюстрирующая основные параметры и их влияние на итоговый score.

Также на Fitlane AI

Темы: match score, алгоритм, оптимизация, разработка, анализ данных, рекомендации, Fitlane AI