Аналитики данных в Авито: ожидания и спектр задач

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

image-loader.svg

Сверяем терминологию: аналитика и аналитики

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

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

Вообще, в мире и в Авито существуют ещё системные аналитики, финансовые аналитики, 1С-аналитики и множество других. Но о них как-нибудь в следующий раз.

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

Вот что должны уметь абсолютно все аналитики, которые работают у нас:

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

SQL. Без него невозможно обойтись, потому что все данные лежат в базе Vertica — без знания SQL их просто не получится извлечь.

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

Помимо этого, есть и специфические требования, которые зависят от задач конкретной команды.

Machine learning. Например, команде ценообразования Авито часто требуются аналитики, которые хорошо владеют machine learning. От них мы ждём применения моделей в повседневной работе, а не создания продакшн-решений, которые делают data science инженеры.

Некоторые навыки напрямую не измеришь, хотя без них невозможно быть сильным аналитиком, во всяком случае, в Авито. Это такие вещи, как системное и критическое мышление, а также умение думать. Умение думать — это способность из имеющихся, зачастую неполных, данных извлекать информацию и выводить новые знания. Эти вещи мы проверяем на технических интервью, поскольку их достаточно сложно облечь в механистические задачки из учебника.

Другие требования Авито к аналитикам данных разнятся по уровням. Ожидания от каждого последующего уровня включает в себя все предыдущие.

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

Что мы ожидаем от junior-аналитиков

Хард-скиллы

Фундаментальные знания для джуниор-аналитиков: статистика, базовая теория вероятностей, владение статистическими инструментами, понимание проверки гипотез. Нужно знать хотя бы один язык для обработки данных, чтобы уметь чистить выбросы и опечатки из данных, применять T-тест и рисовать графики.

В основном мы используем Python, но если аналитик привык писать на R — не проблема. SQL безальтернативен и обязателен к освоению на испытательном сроке. Плюс нужен какой-то уровень владения визуализацией — достаточный, чтобы аналитик мог представить свои результаты. Мы для этого используем Tableau.

Софт-скиллы

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

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

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

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

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

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

Что мы ожидаем от middle-аналитиков

Хард-скиллы

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

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

Софт-скиллы

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

При разработке решений — методологий, модели и так далее — ему могут помогать старшие коллеги.

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

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

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

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

Управление ожиданиями и проектами. Мидл-аналитик самостоятельно выставляет приоритеты задачам или работает по заданному старшими сотрудниками порядку. Аналитик с помощью руководителя ведёт проект от начала до конца: занимается оценкой, планированием, снижением рисков, координацией и внедрением. Если качество решения оказалось неудовлетворительным, аналитик должен сам предложить альтернативу или доказать, что нужно остановить работу над поиском других решений.

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

Что мы ожидаем от senior-аналитиков

Хард-скиллы

Чем выше уровень, тем больше аналитик Авито углубляется в одно из экспертных направлений, описанных в прошлых разделах. У него может быть больше или меньше прокачана та или иная область, но есть хард-скиллы, которые можно измерить в виде задачек — статистика, Python и SQL.

Мы ждём от старших аналитиков умение строить модели процессов в бизнесе: придумывать какие-то обобщенные законы, подобрать на данных точные параметры, убеждаться в адекватности результата и делать полезные выводы. Например, оценивать LTV или ликвидность.

Софт-скиллы

Поиск задач и формализация подхода к решению. Сеньорам задачу нужно либо найти самостоятельно, либо вытащить из стейкхолдеров. Как правило, на входе задачи очень абстрактные, например: что-то у нас не так, давайте поищем точки роста. То есть максимально неконкретное задание, которое опытный аналитик должен изучить и уточнить сам.

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

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

Аналитик не просто приносит результаты: «Я посчитал, вот вам цифры». Он должен интерпретировать эти результаты и перевести их опять с языка цифр на язык продукта.

Презентация и внедрение результатов. Аналитик может презентовать результаты самостоятельно или делегировать эту задачу коллегам, вовлеченным в процесс.

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

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

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

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

Почему мы не разделяем зоны ответственности

Многие компании разделяют зоны ответственности для разных видов аналитиков. Например, BI-аналитики занимаются только репортингом. Они делают только дашборды, и больше ничего. А продуктовые аналитики занимаются только A/B-тестами, взаимодействуют с продуктом, у них не бывает чего-то суперхардового. Ещё есть аналитики, которые сидят рядом с DWH-инженерами и занимаются только работой с хранилищем данных.

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

У нас аналитики делают end-to-end решения. Это универсальные бойцы, которые решают задачу на всех её этапах:

  • придумывают метрику;

  • участвуют в исследованиях;

  • ставят разработчикам задачи на логирование;

  • проверяют, что всё логируется корректно;

  • пишут pull request на создание витрины в хранилище;

  • продумывают эксперимент, запускают его и собирают результаты;

  • интерпретируют результаты и предлагают дальнейшие действия;

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

  • сопровождают раскатку фичи или продукта.

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

Какие есть команды аналитиков и чем они занимаются

Разные команды аналитиков занимаются похожими задачами, но в любой команде есть своя специфика.

Продуктовая команда. Здесь много работы, связанной с опытом пользователя, много интерфейсных задач. Аналитик в этой команде хорошо понимает данные и то, как на них смотреть, как проводятся качественные исследования. Он сам их не проводит, но должен присутствовать при этом и осознавать, что происходит. Ещё он должен понимать, как устроен продукт и быть чуть-чуть продактом. И, конечно, разбираться, кто его пользователь, чего он хочет, как себя ведёт, и так далее.

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

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

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

Вместо итогов

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

Второй момент — у нас очень много данных. И у аналитика, который интересуется своей профессией, загораются глаза, когда ему говоришь, что мы в день логируем порядка 8 миллиардов новых событий, и что у нас в хранилище счёт идёт уже на петабайты, если брать вместе с агрегированными данными. Самая настоящая big data.

В-третьих, в компаниях поменьше нет ресурса на дорогие технологии, а у нас нет таких ограничений. Мы обеспечены всем стеком технологий, например, работаем на Vertica — это технология хранения данных именно в применении для их последующего анализа. Для визуализации используем Tableau. Мы можем позволить свой кликстрим, плюс у нас полностью своя продуктовая аналитика со своим A/B-централом — никаких GTM + GA + BigQuery.

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

© Habrahabr.ru