Как организовать работу аналитического отдела
Глава 18Интересы клиента на первом месте
В первой части мы уже говорили о том, что смысл существования любого бизнеса – определить миссию и следовать ей. Делать это должен каждый отдел в компании, прямо или косвенно, в том числе и аналитическое подразделение.
Возможно, вам знаком термин customer obsession, дословно он переводится как «одержимость клиентом». И, безусловно, его интересы мы всегда должны ставить на первое место:
• на стадии разработки продукта,
• в процессе его улучшения,
• на этапе продаж и послепродажного сервиса.
Компания непрерывно исследует потребности, которые ее продукт закрывает, и заботится о том, чтобы покупателю было удобно и приятно им пользоваться.
Аналитики тоже работают для клиентов. Только не для внешних (покупатели, заказчики), а для внутренних: отделы продаж, маркетинга, финансов, ИТ и так далее.
При слаженной работе организации все они получают корректные и актуальные данные и грамотно применяют их на благо бизнеса.
Рис. 72. В чем смысл работы аналитика?
К сожалению, и сегодня не редкость, когда специалисты отдела аналитики не видят смысла в своем труде и работают «ради работы». Они сдают руководству масштабные отчеты и таблицы, за которыми ничего не стоит. И это противоречит принципу «создания ценности» компании. Чтобы изменить ситуацию, руководителю неплохо бы поставить перед своими нынешними или вновь нанятыми аналитиками четкий вопрос: «Как вы поможете компании заработать деньги?» Именно с этого вопроса должна начинаться работа аналитического отдела. Не «Какие языки программирования вы знаете?», не «Как вытащить и сохранить как можно больше данных?» и даже не «Как создать самое крутое хранилище?», а «Какую пользу вы можете принести?». И исходя из ответов формируется команда, где каждый аналитик выполняет свои определенные функции. В первой части мы коротко познакомились с устройством аналитического отдела. Сейчас же разберемся подробнее.
Глава 19Роль специалистов по работе с данными в бизнесе
Успешным специалистам по анализу данных необходимо владеть различными навыками, которые можно разделить на 3 группы (рис. 73):
1. Программирование.
2. Математика и статистика.
3. Предметная область бизнеса.
Рис. 73. Необходимые навыки для команды по анализу данных
И в зависимости от задач вашего бизнеса выделяют отдельные специализации в работе с данными. Мы уже знаем, что архитекторы данных проектируют системы хранения и использования информации до момента ее сбора, а аналитики, специалисты по «расшифровке» данных, обрабатывают эту информацию после.
Вспомните аналогию аналитического отдела с функциями строителей из первой главы.
Архитекторы данных – это те же самые архитекторы, проектирующие здание и все его системы. Инженеры данных – строители. Они претворяют в жизнь план архитектора. А аналитики – это арендаторы: они используют построенное, тем самым закрывая потребности клиентов.
Чтобы избежать путаницы между этими ролями, давайте попробуем разграничить компетенции всех дата-специальностей.
Архитектор данных (Data architect)
Этот специалист отвечает за планирование. Он решает, как составить системы правил, политик, стандартов и моделей сбора, как оптимально организовать использование и хранение информации в компании. В аналитическом отделе этот специалист необходим для работы над проектами, связанными с большими данными.
Типичные задачи архитектора данных:
• Разработка устройства озера или хранилища данных и предоставление необходимых инструментов для дата-инженеров.
• Обеспечение безопасности и сохранности данных в случае критичных изменений в компании и минимизации последствий таких перемен.
• Интеграция данных в пределах организации.
• Решение вопросов безопасности хранения данных и распределения ролей сотрудников компании, имеющих доступ к ним.
Рис. 74. Архитектор данных
Хороший архитектор данных умет работать с различными компонентами озер и хранилищ: базами данных SQL и NoSQL, инструментами для пакетной (MapReduce) и потоковой (брокеры сообщений) обработки данных, с различными фреймворками для распределенного хранения и обработки данных (Spark, Hive), а также с технологиями построения ETL и ELT-пайплайнов.
Инженер данных (Data engineer)
Невозможно анализировать данные до того момента, как они возникают. И как раз за их появление отвечает инженер данных. Он вступает в работу следом за архитектором, внедряя и обслуживая конвейер информации согласно плану.
Рис. 75. Инженер данных
Типичные задачи инженера данных:
• Получение и обработка информации из разных источников. Инженеры часто работают с неупорядоченными или неполными данными, собирают и обрабатывают их в озере данных.
• Поддержка и обновление аналитического хранилища данных, пайплайн (отслеживание клиентов на пути к покупке). Инженер пишет так называемые DAG’и, которые позволяют загружать информацию из одного источника в другой и трансформировать ее внутри хранилища данных. Он также строит как промежуточные, так и финальные таблицы данных.
• Взаимодействие с API сторонних источников. Инженеры по обработке данных тесно сотрудничают с аналитиками, их взаимодействие можно сравнить с работой врача и медсестры в больнице.
Инженер данных должен владеть технологиями: Java, Scala, SQL, noSQL, Python/R; уметь применять инструменты для оркестрации данных и ETL/ELT: Airflow, Dagster, Luigi, dbt, Matilon, Pentaho; быть глубоко погруженным в современные базы данных и иметь продвинутые навыки программирования для работы с большими объемами информации.
Именно специалист с такими знаниями сможет разобраться в любых технологиях, правильно разработать решения для разных случаев и не испугаться сложных задач в вашей компании.
При этом инженеру необязательно разбираться в статистике. Это уже задача специалиста по данным (о нем поговорим чуть позже).
Однако не все предприятия могут позволить себе две штатные единицы, а потому обязанности инженера и специалиста по данным нередко совмещает один человек.
И это возможно, если в арсенале компании есть пул современных инструментов для решения всех задач.
Рис. 76. Часто один человек совмещает роли аналитика и инженера данных
Допустим, в компании есть две базы данных: в одну удобно записывать информацию и хранить ее в структурированном виде для основных подразделений предприятия, а с другой удобно работать аналитикам.
Ежедневно делается автоматический перенос информации из одной базы в другую с помощью программы, которая выполняет эту задачу в нужное время. Она отображает весь процесс переноса и уведомляет, если что-то пошло не так.
Что здесь делает инженер:
• настраивает сам процесс переноса данных: пишет скрипты и модифицирует их, если в базе-источнике происходят изменения;
• исправляет ошибки, возникающие в процессе загрузки;
• после загрузки проверяет, совпали ли данные в базе-источнике и в основной;
• поддерживает структуру хранилища: модифицирует таблицы, создает новые.
Рассмотрим работу инженеров на примере приложения для интервального голодания, на котором работа с данными выстраивалась с нуля.
Что было сделано:
• инженеры данных изучили всю доступную информацию о рекламных объявлениях: общее время просмотров, кликабельность и затраты рекламодателя. Сбор этих данных возможен благодаря открытому API на маркетинговых платформах разных социальных сетей;
• написали набор скриптов для сбора и записи маркетинговых данных, чтобы потом построить по ним графики и отчетность;
• настроили автоматический запуск скриптов для работы с данными, полученными за вчерашний и сегодняшний дни в зависимости от источника.
Благодаря инжинирингу вся необходимая информация о работе приложения теперь сохраняется в одном месте в структурированном, пригодном для анализа виде.
Аналитик данных (Data analyst)
Рис. 77. Аналитик данных
Аналитик данных – это исследователь. Ему присуще любопытство и стремление изучать информацию с разных сторон, очищать ее, преобразовывать и находить тенденции и новые пути анализа деятельности компании.
Эти специалисты также умеют доносить выводы до других сотрудников организации. Для этого они используют визуализацию, про которую мы говорили в прошлой главе: графики, диаграммы и прочее. Это помогает руководству и команде специалистов других отделов находить ценные инсайты и принимать правильные решения.
Типичные задачи аналитика данных:
• Анализ данных и составление отчетов. В то время как инженеры взаимодействуют с необработанными данными, к аналитикам информация поступает из хранилища уже очищенной и преобразованной в более удобные форматы.
• Ответы на вопросы коллег. Аналитики проводят статистический анализ и переводят цифры на человеческий язык. Так, например, они могут оценить, насколько эффективно сработала маркетинговая кампания и как она повлияла на продажи.
Аналитик данных должен знать математику и математическую статистику, владеть методами предварительной обработки данных для анализа. Иметь также навыки программирования на Python/R, использовать MS Excel, писать SQL-запросы и тому подобное. Грамотный аналитик умеет работать в BI-инструментах, таких как Tableau, PowerBI, Metabase, Mode, Redash, Superset; быстро погружаться в контекст компании, чтобы эффективнее работать с данными и находить инсайты. И, что немаловажно, готов брать ответственность за самые сложные и, на первый взгляд, нерешаемые задачи.
Важно! Чаще всего аналитик данных не строит прогнозы. Этим занимается специалист по данным.
Кроме того, аналитик не обязан определять стратегию и действия компании на основании сделанных им выводов. Его ключевая задача – найти закономерности и тенденции в данных и передать полученные результаты в понятной форме. А дальше уже другие отделы (продаж, финансов, маркетинга и так далее) должны грамотно сработать с этими результатами.
Часто аналитика данных путают с другим специалистом, чья должность имеет похожее название, но не имеет отношения к аналитическому отделу. Речь про бизнес-аналитика. Он не работает с данными и решает совершенно другие задачи:
• находит «боль» – потребность компании – и предлагает решение с помощью ИТ-систем;
• изучает и выявляет приоритетные для бизнеса задачи;
• играет роль посредника между руководством компании и техническими специалистами; проводит переговоры, чтобы найти выгодные решения;
• оптимизирует текущие процессы бизнеса.
Бизнес-аналитик думает о целях компании, а аналитик данных помогает ему найти варианты для реализации этих целей с помощью статистики и математических методов обработки информации. Они дополняют друг друга и вместе формируют полный цикл решения задач: начиная с анализа требований и заканчивая передачей результата от команды разработки руководству.
Инженер-аналитик (Analytics Engineer)
Об этой профессии заговорили в начале 2021 года. Инженер-аналитик – это специалист, который структурирует хранение данных, ведет расчет метрик и курирует хранилище данных компании, чтобы аналитики могли эффективно выполнять свою работу.
Типичные задачи инженера-аналитика:
• Снабжение бизнеса преобразованными, документированными и проверенными наборами данных. Они помогают другим специалистам компании в дальнейшем самостоятельно проводить анализ.
• Поиск ответов на вопросы:
✓ Можно ли построить единую таблицу данных, отвечающую потребностям всех бизнес-подразделений?
✓ Как увидеть проблемы с данными до того момента, пока бизнес-пользователь не найдет некорректную диаграмму в отчете?
✓ Что аналитики или другие бизнес-пользователи должны знать о таблице данных, чтобы быстро ею пользоваться?
✓ Как можно улучшить качество данных в процессе производства, чтобы не очищать их в дальнейшем?
Рис. 78. Инженер-аналитик
Инженер-аналитик должен знать алгоритмы и понимать сложность вычислений, уметь работать в современных колоночных СУБД: Snowflake, BigQuery, Redshift, Clickhouse; в своей работе активно использовать технологии dbt, Meltano, Stitch, Fivetran, Airbyte, а также знать и уметь все то, что делают аналитики и инженеры.
Специалист по данным (Data Scientist)
Рис. 79. Специалист по данным
Смысл специальности уже заложен в самом названии data science – наука о данных. Специалист по данным проводит исследования, ставит эксперименты, изучает тренды и тестирует гипотезы.
Специалист по данным больше, чем аналитик, погружен в математику и программирование. Словно мощный корабль, он продвигается в море информации в поисках нужных ответов на вопросы поставленных перед ним бизнес-задач.
Его суперсила – умение вычленять из данных сокрытое, находить неизвестные ранее закономерности.
Типичные задачи специалиста по данным:
• Проведение описательного и статистического анализа. В результате этого процесса специалист по данным находит скрытые связи и закономерности, может оценить А/Б-тест, его статистическую значимость и так далее.
• Преобразование данных и оценка результатов. Специалист по данным анализирует их, а также с помощью статистических методов отделяет важные тенденции от информационного шума.
• Прогнозирование, создание отчетов и визуализация результатов. Например, специалист по данным предсказывает вероятность оттока клиентов из компании.
• Кластеризация и классификация данных. Специалист разбивает информацию на группы-кластеры и определяет связи между объектами в этих группах.
Специалист по данным подробно изучает и расписывает результаты аналитиков. Он не просто ищет взаимосвязи, а пытается понять причины тех или иных явлений. Кроме того, грамотный специалист по данным умеет оценивать, строить модели и алгоритмы для будущих задач бизнеса.
Компании часто нанимают сначала аналитика, а после уже специалиста по данным, чтобы он мог сконцентрироваться на более трудоемких задачах, которые непременно возникают, когда компания расширяется.
Специалист по данным должен иметь все те же навыки, что и аналитик, а также владеть навыками статистического анализа и знать теорию вероятностей. От него требуются понимание методов машинного обучения и умение оценивать статистические модели. Еще специалист по данным должен владеть R/Python на продвинутом уровне.
Инженер машинного обучения (Machine Learning Engineer [ML])
Когда компания дорастает до определенного уровня, одного специалиста по работе с данными становится недостаточно. Обычно это знаменует переход от экспериментов с машинным обучением (ML) к применению его результатов. Их, как и сфер использования искусственного интеллекта, очень много: от управления потоками транспорта и пешеходов до создания моделей поведения пользователей в ретейле или e-commerce.
Рис. 80. Инженер машинного обучения
Как правило, разработанные модели машинного обучения должны оказаться в «продакшене», поэтому появляется новая роль – инженер машинного обучения.
Типичные задачи инженера машинного обучения:
• Проектирование, разработка и тестирование ML-систем.
• Создание модели прогнозирования в бизнесе.
• Обучение нейросети – инженер должен искать и писать алгоритмы, позволяющие установить скрытые закономерности в данных.
Инженер машинного обучения должен знать статистику и математику на высоком уровне: математический анализ, линейная алгебра, теория вероятностей, прикладная статистика, дисперсионный анализ; применять на практике основные методы машинного обучения (Supervised и Unsupervised Learning); уметь пользоваться библиотеками Eigen, ML, OpenCV, Spacy и владеть Java, Python, Scala, С++, ML-фреймворками TensorFlow, pyTorch, а также иметь навыки моделирования алгоритмов обучения.
BI-разработчик (Business Intelligence Developer)
Рис. 81. BI-разработчик
Этот специалист может пригодиться более крупному и зрелому бизнесу, так как он работает непосредственно с BI-системами и управляет структурами, связанными с аналитической отчетностью. И на малом предприятии BI-разработчику просто будет нечего делать.
Типичные задачи этого специалиста:
• Структурирование информации и разработка стратегии для ее эффективного использования другими сотрудниками.
• Автоматизация отчетности и визуализация данных.
• Проектирование и воплощение в жизнь многомерных моделей хранилищ, витрин, складов данных.
• Создание хранилищ данных, аналитических отчетов, дашбордов.
Важно! Этот специалист не занимается анализом данных.
BI-разработчик должен знать SQL для управления данными, ETL, Report Builder, SSRS/SSAS/SSIS, способы хранения данных, Power BI, DAX, OLAP, уметь проектировать дашборды, понимать бизнес-операции, свою предметную область (финансы, маркетинг и так далее) и уметь выстраивать коммуникацию с сотрудниками, а также владеть навыками установки и обслуживания BI-сервера: Tableau Server Power, BI Report Server.
Администратор баз данных (Database administrator [DBA])
Рис. 82. Администратор баз данных
Специалист этого профиля присматривает за базами данных, может найти и устранить неисправности и решить проблемы, связанные с хранением информации. Администратор баз данных отвечает за их целостность в компании, за постоянную стабильную работу сервера и доступ пользователей к нему.
Типичные задачи DBA:
• Обеспечение резервного копирования и восстановления данных.
• Поддержание безопасности информации.
• Предоставление доступа к данным и управлению учетными записями, а также обеспечение их защиты от несанкционированного доступа.
• Поддержание работы баз и их целостности, определение узких мест, ограничивающих производительность.
• Объединение старых и новых баз данных.
• Проектирование архитектуры баз данных и непосредственное развертывание системы управления ими на серверах.
Администратор баз данных должен знать языки баз данных (SQL, NoSQL), основные сетевые протоколы, языки программирования. Понимать и применять механизмы восстановления баз данных, а также работать с облачными сервисами.
Это список основных специалистов стандартного аналитического отдела. Бывают и другие, более узкие, позиции:
• Исследователь и разработчик машинного обучения (ML research and development engineer). Он тестирует гипотезы по разработке алгоритмов машинного обучения для бизнеса.
• ИТ-специалист в сфере дата-инжиниринга (DataOps). Он обеспечивает стабильную поставку больших данных другим разработчиками для последующего анализа.
• MLOps – помогает бизнесу развивать Data Science и быстрее внедрять качественные ML модели.
В зависимости от размера организации и ее целей в работе с данными в отделе аналитики могут быть также специалисты и даже целые команды по визуализации и качеству информации.
Маленькие компании или те, что пока не определились, для чего им нужны данные, могут искать «многостаночников» – специалистов, которые одновременно разбираются в математике, статистике, программировании, машинном обучении и бизнес-задачах. Да, такие профессионалы существуют.
Но как показывает практика, такой подход может быть опасен как для компании, так и для дальнейшего развития самого специалиста.
Поверхностные знания в разных областях лишают шанса разобраться в одной конкретной теме досконально и глубоко.
Кроме того, периодически возникает потребность в новых профессиях. Например, не так давно появилась должность менеджера по управлению проектами в области данных (Data Project Manager) или дата проджект-менеджера.
Этой профессии пока нигде не обучают. В вузах есть специальности «Бизнес-информатика», «Математические методы в экономике», однако в них не предусмотрено обучение дата проджект-менеджменту. Поэтому такие специалисты обычно формируются внутри компании, где они занимаются доменной экспертизой данных, аналитикой и так далее.
В чем суть должности дата проджект-менеджера? Допустим, команда занимается данными и делает проекты. И ей нужен человек:
• компетентный в стеке технологий;
• умеющий общаться с заказчиком;
• корректно ставящий задачи нужным людям и умеющий проконтролировать их выполнение;
• способный работать сразу над несколькими проектами.
Рис. 83. Проджект-менеджер
Рис. 84. Основные позиции в аналитическом отделе
Именно тогда на помощь приходит этот специалист. И это не единственная профессия, которая возникла при появлении новых задач в работе с данными.
Но основные позиции в аналитическом отделе, конечно, инженер данных, аналитик и специалист по данным. Первый собирает данные, второй их исследует, а третий строит прогнозы и проводит эксперименты. С них и следует начать, формируя свой собственный аналитический отдел.
А мы идем дальше, чтобы понять, как эти специалисты реализуют свои задачи на практике.