Баннер мобильный (1) Пройти тест

Чем занимается дата-сайентист в VK?

Михаил Волович рассказывает, почему кругозор важнее навыков и какие странные вопросы иногда задают на собеседованиях

Обзор профессии

29 февраля 2024

Поделиться

Скопировано
Чем занимается дата-сайентист в VK?

Содержание

    Михаил Волович сменил несколько профессий в IT-среде: он был техническим писателем, программистом, менеджером продукта, разработчиком. Теперь он работает в Data Science, потому что ему близок исследовательский подход. Михаил объясняет, как модели помогают бизнесу совершенствоваться и как алгоритм помог ему справиться с грязными раздевалками в спортивных магазинах.

    Михаил Волович 

    ПрофессияData Scientist

    ОбразованиеФГБОУ ВПО «МАТИ — Российский государственный технологический университет им. К. Э. Циолковского» («Проектирование и технология электронных средств»)

    Должностьмедиа-аналитик

    КомпанияVK

    СтекPython, Pandas, TensorFlow, Keras, PyTorch, Scikit-learn, LightGBM, CatBoost, StatsModels, SQL

    Чем я занимаюсь

    Я оцениваю эффективность рекламных кампаний в VK У компании много разных продуктов: поисковик, почта, игры, соцсети — и это далеко не все. У каждого проекта много рекламы в разных форматах, где-то они пересекаются. Я определяю, как использование рекламы повлияло, например, на увеличение установок приложений VK.

    Для этого мы собираем данные: заходим в отчетные системы, вытаскиваем исторические данные по охватам, кликам, показам, учитываем, в каких регионах прошла реклама. Потом строим модель, которая пытается предсказать поведение проекта: на сколько увеличится количество загрузок продукта после рекламы. Для этого подставляем разные активности (рекламу на ТВ, в интернете, учитываем, как влияют праздники, другие релевантные факторы) и оцениваем, какой вклад внесла та или другая реклама. Затем делаем презентацию с результатами.

    Построение моделей — основная задача исследователя данных. Модель — это программа, которая может адаптироваться под входные данные. Сначала мы подаем модели немного данных и какой-то факт. Потом она строит дерево решений: сверяет с фактом эти данные и понимает закономерность перехода от данных к факту. Чем чаще какой-то показатель учитывается, тем больший вес он имеет. Если модель хорошо отражает действительность, ее можно использовать.

    Чаще всего мы используем линейные регрессии. В них легко выбрать конкретную переменную и определить, каков ее вклад. Для работы с линейными регрессиями я использую Statsmodels — пакет для Python, который содержит много полезных инструментов.

    Иногда приходится искать другие варианты, например градиентные бустинги. Это большое количество деревьев решений, которые обучаются на результатах друг друга. Если одно дерево обучалось и дало ошибку, мы берем следующее, чтобы ее скомпенсировать, тогда ошибка станет незначительной. Это часто точнее линейной регрессии, но складно объяснить в презентации выводы вряд ли получится, потому что бустинги громоздкие и сложные. Популярные библиотеки для бустинга — XGBoost, LightGBM, CatBoost.

    Кроме этого, для работы я использую Pandas. С этой библиотекой специалист взаимодействует чаще всего, если работает на Python. Если нет, то есть альтернативные библиотеки на языке R, например h2o.

    Еще использую Prophet от Фейсбук* для прогнозирования временных рядов. В некоторых задачах он может превосходить градиентный бустинг.

    *деятельность компании Meta Platforms Inc., которой принадлежит Инстаграм / Фейсбук, запрещена на территории РФ в части реализации данной (-ых) социальной (-ых) сети (-ей) на основании осуществления ею экстремистской деятельности

    Временные ряды это упорядоченные по времени значения, например температура воздуха по дням. В основном они нужны для предсказания будущего.

    Это Marketing Mix — влияние различных факторов (маркетинговых и других) на целевую метрику. В данном случае — на активность пользователей

    Как я сменил несколько профессий и остановился на Data Science

    Я учился в Московском авиационно-технологическом институте на «Проектировании и технологии электронных средств». Должен был разрабатывать электронику, но заинтересовался программированием. Спасибо моему преподавателю, который привил интерес к этому делу.

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

    Пока работал на разных должностях, понял, что у меня исследовательский склад мышления и характера. В программировании, чтобы получить наибольшую выгоду, нужно решать задачи определенным образом, точно знать, какой инструмент уместнее применить. Мне же было интересно что-то новое, неизведанное, работа с неполными данными. Data Science тогда как раз развивался, поэтому я пошел учиться на это направление.

    За восемь месяцев учебы ты не станешь синьором, скорее сформируешь терминологический аппарат, поймешь, как правильно гуглить вопросы. Учеба расширяет кругозор, это важнее. Однажды на проекте по классификации комментариев я смог показать качество, сравнимое с крупным подрядчиком. Я затратил минимум ресурсов компании, используя только знания о продукте. Я понял, что можно взять почти готовую библиотеку, запустить ее и получить неожиданные классные результаты.

    Что еще может делать исследователь данных

    До VK я занимался классификацией отзывов в крупном российском ритейлере спортивной одежды. Например, чтобы человек, отвечающий за развитие магазинов, не искал среди сотен отзывов комментарии про грязные раздевалки, я построил модель, которая могла классифицировать негативные комментарии по темам. Алгоритм автоматически среди всех комментариев находил упоминание «грязной раздевалки», и информация шла в профильный департамент. Так мы решили реальную проблему, которая не устраивала покупателей.

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

    Я целый год с нуля придумывал пайплайн (сборка, трансформация и загрузка данных в базу), но уже практически на этапе завершения мне сказали, что на проект больше нет времени и его свернули. Из-за этого я очень расстроился, потому что большую часть времени я готовил данные, оставалось доделать совсем немного.

    Подготовка данных — это самый долгий процесс. Помимо сборки, их нужно упорядочить, чтобы модель могла их интерпретировать. К тому же нужно учитывать не только их количество, но и время для расчета, нагрузку на инфраструктуру, потому что ей пользуются другие коллеги в компании.

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

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

    В чем специфика Data Science

    Прелесть и, с другой стороны, сложность Data Science — в том, что в каждой компании требуют разный набор навыков и по-разному понимают саму сферу.

    Однажды на собеседовании мне сказали: «Нужно запрограммировать алгоритмическое интервью», классическое для программиста. В другом месте спрашивали про нейронные сети, а в вакансии ничего про это не написали. На третьем собеседовании мне предложили придумать метрики и сделать вывод из данных, но такими задачами больше занимается аналитик.

    На собеседованиях попадаются вопросы из различных областей знания. Поэтому важно себя четко позиционировать: например, я работаю с естественным языком.

    Из-за размытости границ профессии в компаниях не часто встречается отдельный департамент Data Science. Как правило, ты работаешь в конкретной команде, которая связана с проектом. Поэтому нужно не только уметь строить модели, но и разбираться в продукте, понимать, откуда берутся метрики для предсказаний. Например, в моей сфере нужно понимать, что реклама для ТВ не дает мгновенный эффект, нужно время, чтобы потом она сработала.

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

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

    Скопировано
    0 комментариев
    Комментарии