Тимлидское об аналитике – Telegram
Тимлидское об аналитике
1.67K subscribers
34 photos
1 video
62 links
Мысли, идеи, озарения и советы от тимлида дата-аналитики Яндекс.eLama.
Download Telegram
Пара слов о ETL-процессах

Приветствую, любители аналитики!
Скажу кое-что об этих трёх весёлых буквах.

В многочисленных статьях и курсах вы найдете такую расшифровку:
E(xtract) - извлечение из источника
T(ransform) - преобразование данных
L(oad) - загрузка в аналитическое хранилище
То есть, ETL-процесс - это вроде как подготовка данных к анализу - сбор, преобразование и заливка в инструмент аналитики.

На самом деле, обычно всё не так хорошо разложено по полочкам. Красиво спроектировать и реализовать аналитическую архитектуру могут себе позволить только крупные и богатые компании, для которых данные - ощутимый источник дохода. (Например, в талмуде "DAMA DMBOK" описаны процессы работы с данными для идеальной мегакомпании, созревшей для дата-говернанса.)

Что имеется в реальности?

* E - Сбор.
Запросы к БД могут быть простыми вида SELECT * FROM table, и тогда это "чистый" сбор;
но чаще они содержат в себе джойны, условия, подмены и т.д., а это уже обработка, то есть уже не просто E.
Разработчики (вернее, их руководство) не хотят тратить своё драгоценное время на консультации дата-инженеру, им проще самим написать запрос, которым надо вытягивать требуемые данные.
К тому же, действительно зачастую удобнее брать только то что нужно из источника, а не выгружать его весь.

* T - Преобразования.
Этот этап размазан по всему процессу для разных видов данных. Начинается уже в запросе к источнику, потом что-то происходит в Промежуточном хранилище, потом собираются витрины уже после загрузки в Аналитическое хранилище.

* L - Загрузка

Тоже возможны варианты. Что-то кладется из ПХ в АХ, что-то кочует из источников прямиком в АХ (потому что так проще), что-то окольными путями, например, кладётся в S3, а уже в АХ к нему обращаются соответствующие вьюшки. Короче, даже в этом простом шаге не всегда всё стройно.

Но во всём этом "беспорядке" есть и прелесть)
Как бы кому ни хотелось разделять зоны ответственности, но дата-инженер вынужден понимать смысл данных в источнике, а дата-аналитику приходится разбираться в особенностях процессов сбора данных.
А значит они растут и живут насыщенной интересной жизнью!
👍17
Действие INNER JOIN наглядно.
😁10🔥4👍31
Пара слов о самооценке

Приветствую любителей аналитики!

Еще одна полезная книга - "Книга решений. 50 моделей стратегического мышления", написанная Микаэлем Крогерусом и Романом Чеппелером.

Авторы, помимо прочего, предлагают смотреть на себя с четырех точек зрения:
1) Каким я вижу себя?
2) Каким я хотел бы видеть себя?
3) Каким меня видят другие?
4) Каким меня хотят видеть другие?

Оценку предлагается проводить для пар параметров по 10-балльной шкале:
Командность - Индивидуализм
Содержание - Форма
Физическая сила - Интеллект
Глобальное - Локальное

По-хорошему, сначала следует оценить самому, а потом попросить это сделать других.

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

До связи!
11🔥1
О цикле жизни витрины данных

Приветствую любителей аналитики!

Продолжим разбирать конвейер данных. Про ETL я немножко высказался, теперь рассмотрим работу с витринами данных.

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


А вот через что она может пройти за свою жизнь:

1) Выявление потребности и формирование технического задания.
2) Сбор или досбор необходимых данных, если их ещё нет в аналитическом хранилище.
3) Разработка скрипта или запроса, формирующих витрину.
4) Отладка/тестирование витрины
5) Принятие заказчиком, внедрение, использование
6) Доработка: добавление столбцов, изменение логики - при необходимости.
7) Потеря актуальности витрины, снятие с поддержки, удаление.

Эти пункты затрагивают разных экторов и таят в себе множество нюансов, которые я испытал на своей шкуре (и шкурах своих дата-аналитиков)). Поэтому дальше мы рассмотрим их подробней.
4👍3
О принятии решений

Приветствую, любители аналитики!

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

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

Итак, я озаботился проблемой, в частности, читал "Книгу решений", о которой уже упоминал, и написал (в тот самый блокнот) себе такой подход.

Положим, делать что-то или не делать. Как быстро решать?

1) Отключить эмоции. Если из проблемы убрать эмоции, получим просто ситуацию.
Мешающие эмоции:
* страхи
* обязательства перед кем-то
* стыд, смущение

2) Описать себе ситуацию:
* задачи, цели
* преграды, враждебные агенты и факторы
* награда в случае успеха, мотивация
* имеющиеся ресурсы
* требуемые затраты и предлагаемые методы
* штраф за отказ

3) Оценить целесообразность. Стоит ли овчинка выделки?
* самостоятельно
* с помощью консультантов
* исследовав статистику, материалы по теме, изучив предмет
* подобрать альтернативные варианты

4) Принять одно из решений:
* выполнить задачу
* отказаться от выполнения задачи
* видоизменить и выполнить задачу.

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

Успехов и удачных вам решений!
🔥8👍2
Друзья, заглядывайте на огонёк во вторник, кое-чо расскажу!
🔥1
Forwarded from Simulative
📌 [Вебинар] Конвейер данных: путь данных от сбора до анализа

Знаете ли вы, что данные, прежде чем стать действительно полезными, проходят долгий путь? Он называется «конвейер данных» и в его работе принимают участие разные специалисты: дата-инженеры, дата-аналитики, BI-аналитики (хотя часто это один и тот же человек 😉).

📍 Об этапах этого процесса расскажет на вебинаре 15 апреля в 18:30 по МСК Павел Беляев — руководитель группы дата-аналитиков в компании Яндекс eLama и автор телеграм-канала «Тимлидское об аналитике».

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

Может быть, взгляд на весь процесс поможет вам определить своё место в нём!
👍8🔥1
Дайджест №2

Приветствую любителей аналитики!
Давайте-ка немного вспомним, что было здесь интересного за последние пару недель.

Прошлые вспоминалки
Дайджест №1

Аналитика для бизнеса
Роли аналитиков
Пара слов о ETL-процессах
Цикл жизни витрины данных

Аналитика для жизни
Ритуалы для работы
Пара слов о самооценке
Как принимать решения
👍7🔥1
Техническое задание на витрину данных

Приветствую любителей аналитики!

Итак, витрина данных начинается с хорошего ТЗ.
Расскажу, исходя из своего опыта, каким оно должно быть, чтобы задача выполнилась без проволочек, а результат получился качественным.

В задаче на создание витрины должны быть отражены следующие сведения:
* Заказчик - какой отдел и какой сотрудник нуждаются в витрине.
* Назначение витрины - что ожидает выяснить потребитель, анализируя витрину.
* Перечень столбцов с описанием их смысла и логики их получения
* Фильтры: сегмент, период и т.д.
* Пример результата в виде небольшой таблицы с ожидаемыми значениями
* Дополнительные разъяснения: отсылки к другим витринам, ссылки на документацию, цитаты заинтересованных лиц и т.д.
* "Юнит-тесты" (по возможности) - правила, которые должны выполняться в витрине: диапазоны значений, взаимосвязь/согласованность полей, допустимость пустот, возможные тренды и т.д. То есть, всё что может помочь протестировать витрину, понять, что данные получились качественными. (К этому вопросу мы еще подойдем.)

Обычно ТЗ на витрину составляет бизнес-аналитик или сам дата-аналитик, словом, специалист, разбирающийся в сути исследуемого объекта, и представляющий техническую сторону.

Всем успешного взаимодействия!
64🔥2👍1
А это пост для вопросов от участников вебинара Simulative)
Пишите в комментарий, друзья!
🤝72🔥1
Напряжение или расслабление?

Приветствую любителей аналитики!

У достаточно активной и целеустремлённой личности в какой-то момент может возникнуть жизненное противоречие.

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

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

Как разрешить этот конфликт? Как найти грань между необходимостью работать и необходимостью отдохнуть?
👍7🔥1🤔1
Константин Николаич Дыкин, коуч, который мне когда-то очень помог, учил, что как только мы достигаем точки Z, в которой дело перестает нас энергонасыщать, вдохновлять, следует остановиться. Передохнуть, осмотреться, восстановиться.

Автор книги "Сила воли. Как развить и укрепить", Келли Макгонигал пишет, что сила воли - это "мышца", её можно тренировать; а также, что первый признак усталости - это еще не недостаток энергии.

То есть, имеем два подхода

К. Дыкин
Дело начинает истощать? Остановись и подумай, что не так:
* кончилась энергия?
* неверный путь?
* нет мотивации?
* нет инструментов или материалов?
Часто точка Z - это признак не столько упадка сил, сколько неверности цели.
Если цель не вдохновляет на продолжение, значит следует задуматься о ней.

К. Макгонигал
а) Мозг стремится сберечь энергию для трудных времён при достижении её порога.
Но трудных времён не будет! Можно тратить ещё!
б) Если чаще тренировать силу воли, то продолжение работы будет даваться легче.

Какой подход выбрать, сказать трудно.
Я использую оба, ориентируясь на текущий уровень усталости, а также уровень отвращения к задаче.
Когда-то заставляю себя ещё немного поднапрячься, а когда-то - отпускаю дела и иду умирать отдыхать.
👍13🔥21
Нюансы сбора данных

Приветствую любителей аналитики!

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

Покажу-ка некоторые нюансы, с которыми мне приходилось сталкиваться.
🔥5
Источник: базы данных
Требуемые данные находятся в базах приложения/продукта компании, на которую мы работаем. Казалось бы, в чем проблема, это же наши данные!
Как бы да, но нет.

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

* Документация к БД традиционно либо неполна, либо не актуальна, либо отсутствует, либо представлена в виде, понятном только самим разработчикам.
Именно добыча точных сведений о данных (т.е. метаданных) обычно занимает большую часть времени на этапе сбора. А дальше-то дело пойдет - настроил стандартный пайплайн или даг Airflow и готово. Ну, еще на мониторинг качества поставить хорошо бы, но это тоже стандартизированный процесс.

* Данные в БД часто неконсистентны, содержат баги, несогласованность, пропуски. За качеством данных, по идее, должны бы следить владельцы (оунеры) БД, но это уж насколько компания созрела для такой "роскоши".
Вот пример проблемы: произведено руками срочное изменение в БД каких-то строк по заказу руководства, а дату обновления строки исправить забыли. Значит, эти строки не будут выбраны при сборе как изменившиеся, не обновятся в аналитическом хранилище и в отчетности не отразятся эти изменения! И никто даже не узнает об этом!

Продолжение следует...
🔥10👍71
А чорт. Только щас пришло в голову, что аналогия между котлетой и сырыми данными некорректна. Ведь котлета уже готовая!
😁23
Нюансы сбора данных (продолжение)
😁3🥰1
Приветствую любителей аналитики!

Источник: API внешнего сервиса

Когда требуется тащить что-то из чужого веб-инструмента, встаёт, прежде всего два вопроса:

* отдаёт ли API требуемые данные? Например API Google Analytics 4 не отдает сырые хитовые данные. Только сводные и хоть ты тресни (ну или используй BigQuery как коннектор)

* насколько адекватна и внятна документация поставщика API? К сожалению, часто приходится добывать нужное методом тыка или в тягомотной переписке с техподдержкой сервиса.

Источник: Файлы (например, Яндекс.Таблицы)
Используется, когда автоматизация невозможна или неоправданно сложна/долга.
Очевидные задачи сбора данных через файлы:

* Организация регулярной поставки новых файлов. За это может отвечать конкретный человек или несколько человек, если файл имеет долгий путь еще до того как попадет в поле внимания дата-инженера.

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

Причины проблем, вытекающих из этих задач, тривиальны: люди ненадёжны)

Короче, задачи дата-инженера, зависящего от поставщиков данных, наполняют его жизнь безудержным весельем и часто удлинняют time to market витрины.
👍135
Мотивация - одна из наиболее интересных для меня тем.
Что движет людьми?
Почему они тратят драгоценные энергию и время на некие дела?
И как их замотивировать?

Последний вопрос мне особенно интересен как руководителю команды.

Наткнулся в своих архивах на короткую выписку из книги "Драйв: Что на самом деле нас мотивирует" Дэниэла Пинка. Убей бог, не помню, читал её или нет, но пунктики мне понравились. Кажется, я стараюсь их применять в работе (получается или нет - об этом пусть расскажут мои ребята, если захотят). Вот эти пунктики:
🔥31
Три компонента мотивации команды.

1. Автономность. Сотрудник должен понимать свою ответственность. Тимлид должен разрешить ему ошибаться в допустимых пределах.

2. Мотивирующая цель. Сотрудники должны понимать общую цель и осознавать, какой вклад они вносят в неё.

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

О мотивации мы ещё будем говорить.
А пока - приглашаю в коменты поделиться, как вы зажигаете команду, если она у вас есть, и каких действий в этом плане хотели бы от своего руководителя.
👍7🤔2🔥1
Разработка витрин данных

Под витриной данных мы понимаем таблицу с готовыми к анализу данными.

Витрина создаётся из сырых данных путём их преобразований. Бросим беглый взгляд на эту кухню.
👍53