Привет всем, меня зовут Фархад Сабилов, я руковожу группой ML игровых и коммуникационных механик в Яндекс Плюс AdTech. Ещё во время учёбы в университете я устроился на первую фултайм-работу: начал помощником логиста и за три года стал руководителем сразу в трёх компаниях холдинга.
В какой-то момент мне захотелось сменить карьерный трек. Несколько лет я искал себя, попробовал открыть свой бизнес, начал изучать бэкенд и, пока учился, стал всё чаще встречать рекламу курсов по ML. И тут началось...
🅿️ Я всегда любил оптимизацию через математические расчёты
В ML меня как раз привлекла возможность улучшать процессы и делать их быстрее. Я решил попробовать себя в этом направлении и начал с пятимесячного курса Яндекса и МФТИ на Coursera.
После года собеседований, сбора обратной связи и закрытия пробелов в знаниях я устроился джуном в крупный финансовый бигтех и со временем вырос до мидла. А следующим шагом стал Яндекс: в 2024 году я откликнулся на вакансию ML-инженера в команде Яндекс Плюс AdTech. Это ребята, которые занимаются программой лояльности «Свои Плюсы».
Когда я пришёл в команду, в ней был период активного роста — основные направления уже были выстроены, но некоторые вещи ещё только формировались. Поэтому первым делом я стал заниматься оптимизацией выдачи промокодов в Подарках и Заданиях: делал так, чтобы она была одновременно релевантной для пользователя и повышала наши бизнесовые метрики.
🅿️ Сперва нужно было упорядочить датасеты
Это логи с обезличенной информацией о взаимодействии пользователей с разными продуктами Яндекса. Мы берём статистику, делим людей на группы в зависимости от их поведения (например, сколько они читают Яндекс Книги или пользуются ли Самокатами) — и строим ML-модели.
Работаем мы с ETL и внутренним визуальным графическим редактором «Нирвана». Раньше информация в нём превращалась в нагромождение блоков, а при частом копировании в базу закрадывались ошибки. Я решил создать общую структурированную базу для всей команды, которая ежедневно обновляется, ложится в одну папку, а дальше мы уже обычным YQL-запросом считываем из неё данные. Так мы экономим время и обучаем модели быстрее.
А ещё теперь, когда кто-то из коллег вводит новые фичи для своей модели и они дают положительный результат, он отправляет их на ревью и кладёт в общий кеш фич, чтобы любой мог ими воспользоваться.
🅿️ Дальше я решил несколько задач:
⚪️ Изначально модель ранжирования промокодов для Своих Плюсов оптимизировала выдачу на взятие конкретного промокода пользователем. Но нам как сервису важнее не взятие, а применение. Так что я переобучил модель, и теперь она выдаёт выше то, чем воспользуются с большей вероятностью. В итоге метрики применения выросли на 5–7%
⚪️ Пригодились и знания в бэкенде: через полгода после прихода в Яндекс я написал «ручку» API. Это сервис, через который смежные команды запрашивают данные и получают их в ранжированном виде
⚪️ Затем я сделал uplift-модель. Она рассчитывает, на сколько вырастет целевая переменная, если дать пользователю промокод. Сложность в том, что нельзя одновременно выдать и не выдать промокод, чтобы оценить его реальный эффект. Мы восемь месяцев занимались анализом, A/B-тестами, разбирались в бизнесовых метриках — и в итоге улучшили показатели
🔳 После третьего проекта я стал сеньором, а в 2026 году моего тимлида повысили и я пришёл ему на смену. В новой должности я пытаюсь помочь ребятам расти, выстроить карьерный трек на будущее, решить, что мы хотим прокачивать. Кстати, советами для тех, кто хочет развиваться в ML, я поделился в блоге о работе в Яндексе. Удачи!
Подписывайтесь:
💬 @Yandex4ML
📹 @YandexML
