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

image
Выступление аналитика больших данных МегаФона на конференции Data Fest весной 2019 г.

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

Также Big Data решает задачи, которые связаны с ритейлом. Например, с помощью моделей машинного обучения мы понимаем, куда переместить малоэффективные салоны и где открыть новые. В этом направлении нам помогает работа с геоданными.

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

Какие технологии используются?

Объем данных, с которыми мы работаем, — это миллионы абонентов и миллиарды ежедневных записей по ним. Big Data — не просто базы данных, такие как Oracle, MySQL или MongoDB. Big Data — это целый комплекс программного обеспечения по работе с ними. Для работы с большими данными необходимо понимать, как устроен Hadoop, знать особенности работы со Spark, Hive, HDFS. Часто аналитики данных, приходящие к нам, не использовали ранее в своей работе эти инструменты. В этом случае мы обучаем тем навыкам, которых не хватает.

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

image
BigDataCamp в офисе МегаФона, 2019 г.

Как специалисты в Big Data МегаФона разрабатывают модели?

Специалисты Big Data МегаФона делятся на аналитиков (датасаентистов) и инженеров. Аналитики проверяют гипотезы и строят модели машинного обучения. Инженеры помогают аналитикам собирать витрины, оптимизируют ETL-процессы, отвечают за постановку моделей в продакшн.

Разработка модели выглядит следующим образом. Сначала мы собираем необходимые данные в Hadoop или Oracle. Затем обучение модели происходит на выделенных серверах с большим количеством памяти и ядер CPU. Для обучения нейронных сетей мы используем серверы с GPU.

image
BigDataCamp в офисе МегаФона, 2019 г.

Основной язык разработки моделей — Python. Для обработки данных в Python обычно необходимы стандартные библиотеки Pandas, Numpy, Scikit-learn. Для расчетов в Hadoop используются PySpark и Hive, для моделирования — библиотеки Scikit-learn, Xgboost, LightGBM, PyTorch и другие. Список зависит от задачи. Почему Python? Главный его плюс заключается в простоте продуктивизации. Мы можем сделать решение, которое сразу будет встроено в общую инфраструктуру. Хотя бывает так, что необходимых библиотек нет в Python, но они есть в других языках. Например, в R есть библиотеки статистики, которых нет в Python.

Что делать, если никто не знает Hadoop?

Навыки работы с Hadoop желательны, но они не являются необходимым условием, чтобы попасть к нам в команду. Не все компании имеют такой объем данных, который есть в МегаФоне, и, как следствие, у кандидатов не было возможности работать с Hadoop на прошлом месте работы.

Не очень сложно освоить базовые команды для работы с кластером Hadoop, но, когда дело доходит до более сложных задач, требуется глубокое понимание алгоритмов работы с большими данными, MapReduce и методов оптимизации запросов. К примеру, в экосистеме Hadoop есть такой продукт, как Hive. Он позволяет писать SQL-подобные запросы и работает поверх Hadoop. Изначально он был разработан компанией Facebook. Но нужно помнить, что это манипуляции не с реляционной базой данных, несмотря на то, что пишете на SQL. Здесь можно писать простые запросы, но для того, чтобы добиться эффективности, то есть быстроты и минимального использования ресурсов кластера, стоит понимать нюансы оптимизации запросов с помощью MapReduce.

Стажировки — возможность для развития и получения бизнес-опыта. Есть ли стажировки в
Big Data МегаФона?


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

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

image
BigDataCamp в офисе МегаФона, 2019 г.

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

Как вы набираете в команду?

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

По итогам телефонного интервью мы отбираем 5-10 кандидатов, которые одновременно приезжают к нам в офис на 2-3 часа, чтобы познакомиться с ребятами из команды и решить техническое задание. Оно максимально приближено к сфере телеком — необходимо построить модель классификации наших абонентов. Далее мы сравниваем результаты и приглашаем лучших на финальное собеседование, чтобы обсудить индивидуальный график работы, задачи и другие условия.

Стажировка длится 3 месяца. Стажер занимается реальными бизнес-задачами. Чаще всего задачи уже формализованы, и у человека есть четкое понимание, что надо сделать, если нет – всегда можно обратиться к своему ментору.

Помимо бизнес-задач, наши стажеры регулярно проходят офлайн и онлайн обучение. Мы сотрудничаем с New Pro Lab, Big Data Team, Geek Brains, Data Gym и другими, наши специалисты имеют доступ к Coursera.

Как показывает практика, трех месяцев достаточно, чтобы понять, хотим ли мы продолжить совместную работу. Если стажер показывает хорошие результаты, мы берем его на должность junior data scientist и развиваем дальше.

image
Егор, аналитик больших данных МегаФона, на конференции Data Fest весной 2019 г.

Поиск опытных специалистов проходит следующим образом:

1. Double-chek резюме или профиля кандидата тимлидами и рекрутером.

2. Личное собеседование с тимлидом, где есть технические и не только вопросы: теория вероятности, статистика, машинное обучение, опыт использования разных утилит, ожидания самого кандидата.

3. Если собеседование хорошо прошло для обеих сторон, мы запрашиваем портфолио кандидата (личные проекты и код) или просим решить наше техническое задание, чтобы посмотреть код и узнать ход решения задач. Техническое задание также связано с телекомом: необходимо предсказать, есть ли у абонента несколько сим-карт. Срок выполнения задания определяет сам кандидат, но обычно это не больше недели. Один наш сотрудник решил задание в тот же вечер и через неделю вышел к нам на работу. Привет, Артём ;)

4. Встреча с директором по аналитике больших данных, обсуждение задач и условий.

Сильна ли бюрократия в большой корпорации?

Большая часть нашей команды работает в головном офисе в Москве, но у нас есть команды в Нижнем Новгороде и Екатеринбурге. В проекты могут быть вовлечены коллеги из разных городов, все зависит от задач и навыков сотрудников.

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

image
Работа в офисе МегаФона

Рабочий процесс у нас устроен следующим образом. Сначала менеджер обсуждает требования с представителем заказчика. Как правило, речь идёт о том, чтобы улучшить какой-либо бизнес-процесс с помощью машинного обучения и анализа данных, например, можем оптимизировать продажу смартфонов для нашего ритейла. Затем менеджер, тимлид и аналитик совместно обсуждают сроки и этапы разработки. Договоренности фиксируются в Jira, также мы ведём Confluence, это наша внутренняя Вики. Конечно, пользуемся Gitlab.

В этом году мы ввели процесс code review для всех ключевых этапов data science-проекта и уже видим результаты: качество кода многих ребят существенно улучшилось. Дальнейшие планы по улучшению процесса разработки — внедрение инструмента DVC (Data Version Control), что позволит версионировать проект целиком, включая датасеты.

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

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

Команда и развитие

Самый большой плюс работы в этом отделе — это команда реально умных ребят и интересные задачи. Офис, торговый центр в нем, премии, компенсации, конечно, тоже хорошо, но стоит на третьем месте. МегаФон для аналитиков — настоящая кладезь данных. Не у каждого есть возможность поработать с таким типом и количеством данных, что при их анализе можно поймать инсайты и принять решения, которые в конечном итоге принесут большие деньги. Это самое интересное для аналитика. Ты учился в университете, написал новый алгоритм, закодил его, применил научные методы, алгоритм начал работать и действительно приносить какую-то пользу. Именно это вызывает больше всего эмоций.

Мы люди цифр, окруженные людьми коммерции, и когда наши инсайты приводят к зарабатыванию денег — это здорово!

Интервью подготовлено совместно с карьерным сервисом «Мой круг»

Комментарии (6)


  1. ideological
    11.12.2019 13:40
    +5

    >>Сильна ли бюрократия в большой корпорации?
    Большая часть нашей команды работает в головном офисе в Москве, но у нас есть команды в Нижнем Новгороде и Екатеринбурге.
    Конечно ловкий уход от вопроса :)


  1. sshikov
    11.12.2019 13:47
    -2

    >Почему Python? Главный его плюс заключается в простоте продуктивизации.
    Кхм. А вы с чем сравниваете? В нашем опыте все как раз наоборот — если для Python на каждой ноде кластера Hadoop уже нет нужных библиотек, то вы сначала должны их туда установить. Так что решения на java/scala в этом плане еще лучше, причем сильно (и при этом Python еще и заметно тормознее).


    1. sergeyns
      11.12.2019 15:04
      -2

      да просто порог входа в Python, имхо ниже чем в джаву, + все курсы по ML сейчас на питоне, +куча библиотек для ML на питоне (а на джаве придется, скорее всего писать самому)…


      1. sshikov
        11.12.2019 15:27

        Вы отвечаете не на тот вопрос. Я спросил, с чем сравнивали, когда сказали, что питон проще в продуктив? То что у вас (где-то) больше специалистов — это другой вопрос совершенно. Он вполне валидный — но я не про это спрашивал.

        > на джаве придется, скорее всего писать самому
        На мой взгляд, вы ошибаетесь по всем пунктам. Порог входа в спарк на скале весьма низкий — у нас на этом пишут все аналитики. Ну то есть — просто все, кто захотел. Про ML не знаю, на мой взгляд SparkML более чем достаточно, и по-моему тут про него вообще речь не шла, а шла про BigData в целом, где ML дело не начинается, но и не заканчивается.


    1. Stas911
      12.12.2019 06:00

      Да часто и то и другое просто обертки над сишным кодом и разница не драматическая.


      1. sshikov
        12.12.2019 16:39

        Это вы про что?