This is Data – Telegram
This is Data
6.2K subscribers
168 photos
193 links
Канал Романа Романчука про аналитику и данные.

Рассказываю про метрики и мат.статистику. Обозреваю ENG и RUS статьи. Советую книги. Делюсь скриптами, ссылками, майндмэпами.

Сайт: https://thisisdata.ru
Задать вопрос: @romanchuk_roman
Download Telegram
Дубликаты в данных: откуда берутся и почему с ними важно работать

Продолжаем говорить про EDA.

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

Дубликаты бывают двух типов:

▪️Явные — полные копии строк, где значения совпадают по всем колонкам. Их легко обнаружить с помощью df.duplicated() и удалить через df.drop_duplicates().

▪️Неявные — строки, которые описывают один и тот же объект, но отличаются по формату.

Например:
▪️"USER@mail.ru" и "user@mail.ru"
▪️"ООО Ромашка" и "О.О.О. Ромашка"
▪️"Иванов И.И." и "Иванов Иван"

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

Основные причины появления дубликатов:

▪️Повторная выгрузка или объединение таблиц без фильтрации.
▪️Ошибки при джойне.
▪️Разные источники с разной структурой.
▪️Отсутствие стандартизации ввода данных.
▪️Человеческий фактор (опечатки, лишние пробелы, регистр).

Что помогает:

✔️ Приведение строк к единому регистру .str.lower()
✔️ Удаление пробелов .str.strip() и лишних символов .str.replace()
✔️ Поиск дубликатов по ключевым колонкам с помощью duplicated(subset=...)
✔️ В отдельных случаях — предварительная агрегация или группировка

Лайфхак: duplicated(subset=...) особенно полезен, когда в таблице есть автоинкрементные ID. Такие поля делают строки уникальными, хотя по сути данные могут дублироваться.

Например, в датасете мы видим, что один и тот же пользователь почему-то сделал два одинаковых заказа — разный order_id, но одинаковые user_id, product_id и order_date. В этом случае duplicated(subset=['user_id', 'product_id', 'order_date']) поможет найти дубли, которые не видны при обычной проверке.


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

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

В следующем посте — разберёмся с пропущенными значениями: от типовых NaN до «пустых» строк, которые такими не являются.

#eda
🔥328
Когортный LTV — метрика, которая оценивает совокупный доход от конкретной группы клиентов за весь период их взаимодействия с продуктом или услугой. В отличие от усредненного LTV для всех пользователей, когортный подход отслеживает динамику LTV по времени и выявляет структурные сдвиги в поведении пользователей.

Напомню, что когорта — это группа пользователей, объединенная по какому-либо признаку: времени регистрации, первой покупки, типу взаимодействия с продуктом и др. Например, при когортном анализе мы понимаем, когда возрастает количество покупок в когорте, а когда покупательская активность спадает. Зная это, можно подстраивать стратегии вовлечения клиентов и увеличивать LTV внутри когорты.

Формула для расчета приведена на слайде. Это уже не примерная оценка, которую мы считали при помощи простой формулы, а фактический расчет на основе данных из когортного анализа. У нас уже есть история поведения пользователей по месяцам, поэтому мы можем посчитать реальный, кумулятивный LTV для конкретной когорты.

План действий:
1️⃣ Группируем пользователей по когортам, например по дате регистрации.
2️⃣ Внутри когорт собираем данные и считаем Revenue за определенные периоды, например три месяца.
3️⃣ Рассчитываем кумулятивный LTV.

#разбор_метрик #метрики
👍961
Можно ли установить причинно-следственную связь между двумя явлениями без эксперимента? Очень даже да!

📚 В поисках эффекта. Планирование экспериментов и причинный вывод в статистике / The Effect: An Introduction to Research Design and Causality
Ник Хантингтон-Клейн / Nick Huntington-Klein

Ник имеет степень PhD по экономике и преподает в Сиэттлском университете. Он не просто в теме статистики — он кайфует от нее. Не часто встретишь человека, который с таким упоением описывает методы выявления причинно-следственных связей, сопровождая рассказ ироничными сносками.

В книге два раздела — «Схема исследования» и «Инструменты». Первый, так сказать, для гуманитариев. Он посвящен тому, как мы делаем предположения относительно реального мира и насколько они обоснованы. Ник предлагает начинать с анализа историй, стоящих за данными, чтобы идентифицировать ту их часть, в которой скрыт ответ.

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

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

Зато англоязычная веб-версия есть в свободном доступе на theeffectbook.net. Более того, в разделе 0.1 Additional Materials вы найдете 72 видеоурока по темам книги, записанных самим автором, а также исходные коды на Python, Stata и R, используемые в книге, и ссылки на программные пакеты на GitHub.

#книга
👍24🔥73
Зачем делать ИПР, если всем все равно?

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

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

Хочется предложить другой подход. Более честный, системный и полезный. В его основе alignment, идея, которую я взял из книг «Working Backwards» и «Measure What Matters».

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

Как это устроено?

Цели компании последовательно декомпозируются до конкретных действий и зон ответственности на всех уровнях:

1️⃣ Компания (стратегический уровень)
Тут главные бизнес-цели на год – рост, прибыль, удержание, масштабирование.

2️⃣ Департамент (тактический уровень)
Тут мы видим вклад подразделения в стратегические цели – направления развития и ключевые проекты.

3️⃣ Команда (операционный уровень)
Что конкретно делает команда, чтобы внести вклад в общие цели? Это уже про OKR, инициативы, дедлайны и результат.

4️⃣ Сотрудник (индивидуальный уровень)
Здесь начинается самое важное – развитие компетенций (курсы, грейды, скиллы) и чёткий кусок ответственности в общей командной цели.

То есть прямо прописано, что конкретно ты делаешь, чтобы команда достигла своих OKR. Если ты затащил – логично ожидать поощрения: рост, бонус, новая зона ответственности. Все прозрачно и мотивирует.

Что это даёт?

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

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

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

Я видел всего одну компанию, которая использовала этот принцип и там ИПР реально работал. А какой у вас опыт? Поделитесь.

#опыт
👍147
Выбрал для вас лучшие статьи июля.

Первая из них — о прогнозном фреймворке для расчета временных рядов метрик, которым поделились аналитики из Яндекса. Общий пайплайн включает пять основных шагов: сбор данных и их первичная обработка, комбинирование рядов, очистка данных, построение прогноза и визуализация. Данный фреймворк можно настроить под любую метрику. Именно такое отделение бизнес‑логики отдельных доменов от алгоритма команда ставила своей главной задачей при разработке. В итоге получилось ускорить типовой прогноз, облегчить проведение экспериментов и сделать прогнозные цифры понятнее и прозрачнее для бизнеса. Жаль, что фрейм не выложен в open source.

Далее мне понравился обзор дата-платформы от Т-банка. Она существует более 18 лет и охватывает весь жизненный цикл работы с данными. В настоящий момент ее MAU составляет более 17 тысяч пользователей, а количество запросов к данным в месяц превышает 144 млн. Главная задача платформы — сократить time-to-value для аналитиков и обеспечить их удобными инструментами для обработки данных. В статье автор Дима Пичугин рассказывает о ее нынешней архитектуре, не ныряя глубоко в технические детали (хотя заинтересованные могут найти их по ссылкам).

Последняя статья спускает LLM-фанатов с небес на землю. Павел Бабин, CPO платформы MWS GPT от МТС, рассказал о реальном применении технологии. Оказывается, что кейсы, действительно оптимизирующие бизнес-процессы, относятся к простым вещам: помощь сотрудникам-консультантам при живом общении с клиентами, общение пользователей с ИИ в приложении, удобный UI для сотрудников для работы с LLM. Последний кейс автор выделил как главный тренд. Логика проста: дай человеку нормальный инструмент, и он сам найдет, как его применить, чтобы упростить свою работу.

#дайджест
1👍12🔥51
Сегодня поговорим о метриках ценности находящихся в середине пирамиды метрик. Эти показатели помогают понять, какую реальную пользу продукт приносит пользователям. Если польза есть и она очевидна, то человек ваш надолго. В результате растет процент удержания клиентов и падают затраты на привлечение новых. На слайде я показал, как превратить абстрактное понятие ценности в измеримые показатели.

Ценность – это не про эмоции или «нам кажется». Это про то, чего человек реально достиг с помощью продукта. Поэтому, прежде чем что-то измерять, нужно ответить на простой, но не всегда очевидный вопрос: а что именно пользователь хочет получить от продукта?
И второе: в какой момент он действительно это получает?
Именно этот момент называют обменом ценностью.

Важно: не путайте момент обмена ценностью с Aha-моментом. В Aha-моменте пользователь только осознаёт, зачем продукт нужен. А в моменте ценности – уже получает результат.

Чтобы измерить эту ценность, не нужен идеальный фреймворк, нужны базовые метрики:

▪️Количество успешных завершений целевого действия

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

▪️Скорость достижения ценности

Через сколько времени или шагов человек доходит до нужного действия? Чем быстрее – тем выше шанс, что он останется.

▪️Регулярность использования

Повторяет ли он ключевые действия? Осваивает ли новые функции?

▪️Качество результата

Насколько успешно пользователь решает свои джобы? Здесь помогают коэффициенты успешности и CSAT сразу после ключевого события.

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

Следующий слой – метрики качества. И там тоже будет интересно.

#разбор_метрик #метрики
👍113🔥31
Что делать с пропусками в данных?

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

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

Работу с пропусками всегда начинаем с базы: df.isna().sum() – покажет нам, где и сколько пропущено.

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

1️⃣ Среднее, медиана, мода

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

df['income'] = df.groupby('region')['income'].transform(lambda x: x.fillna(x.median()))


2️⃣ Предыдущее или следующее значение

Идеально подходит для временных рядов. Если один день в продажах пропал, но до и после были – можно заполнить с помощью .ffill() или .bfill().

df['sales'] = df['sales'].ffill()


Только помни: это работает, если данные меняются постепенно, а не скачками.

3️⃣ Интерполяция

Вот тут начинается магия. Интерполяция – способ аккуратно восстановить пропущенные значения по соседним точкам. Простой вариант – линейный:

df['metric'] = df['metric'].interpolate(method='linear')


Если тренд сложный, можно попробовать polynomial, а если данные колеблются, то spline. Это особенно полезно в метриках с сезонностью или кривыми трендами.

Важно: интерполяция работает, когда есть хотя бы несколько точек до и после. Если пропуски в начале или в конце ряда – лучше использовать .ffill() или .bfill().

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

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

Пропуски не повод паниковать. Это повод задуматься: почему их так много и что будет, если их игнорировать?

#eda
19👍14🔥5
Как эффективно взаимодействовать с ИИ

Недавно я проводил опрос, и 88% подписчиков канала ответили, что используют ИИ-чаты для решения каких-либо задач. А 19% делегируют ИИ даже ежедневную рабочую рутину. Цифры впечатляют.

Но как чаще всего выглядит это общение? Мы задаем какой-то вопрос, пишем призыв «сделай то-то и то-то», чуть уточняем и все. На самом деле можно получать гораздо более качественный результат, для этого существует такая штука, как промпт-инжиниринг.

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

Основные техники

1. Zero-shot prompting – запрос без примеров. Модель должна понять задачу и попытаться ответить.
2. Few-shot prompting – запрос с несколькими примерами. Модель получает образцы правильных ответов, что помогает ей лучше понять задачу.
3. Chain-of-thought prompting – пошаговое рассуждение. Модель объясняет свой процесс мышления, что улучшает качество и прозрачность ответа.
4. Role prompting – задание роли. Указание модели определённой роли (например, «ты эксперт по статистике») помогает получить более целенаправленные ответы.
5. Context-enhanced prompting – использование контекста. Предоставление модели дополнительной информации о задаче или ситуации улучшает релевантность ее ответов.

Примеры использования

Zero-shot:
Объясни p-value простыми словами.

→ Модель даст общий обзор, понятный новичку.

Few-shot:
Вот несколько примеров объяснения статистических понятий:

1. Среднее значение – это статистический показатель, который характеризует типичную величину набора числовых данных.
2. Дисперсия – это показатель разброса данных вокруг их среднего значения.

Теперь объясни p-value аналогичным образом.

→ Модель ориентируется на стиль и уровень объяснения.

Chain-of-thought:
Объясни p-value, рассуждая пошагово, чтобы я понял, как его вычисляют и как интерпретируют результаты A/B теста.

→ Модель подробно описывает последовательность действий и логику анализа.

Role + Context-enhanced:
Ты аналитик в финтех-компании. Мы проводим A/B тесты. Объясни p-value так, чтобы я понял его практическое значение и математическую интерпретацию. Приведи пример на основе сравнения двух выборок.

→ Модель выдаёт экспертный разбор с конкретным примером, максимально приближённым к реальной задаче.

Что почитать?

▪️Руководство по промпт-инжинирингу – отличная база с примерами и техниками.
▪️Книга «The Art of Prompt Engineering» – практическое руководство с кейсами и советами.

ИИ-чаты уже стали частью нашей работы и жизни. Пока они не способны заменить человека, но это мощный инструмент автоматизации. Главное – уметь им правильно пользоваться. Экспериментируйте с промптами и выжимайте из ИИ максимум.

#опыт
🔥21👍123
И снова 3 сентября… а вместе с ним третий способ посчитать LTV!

Прошлые два способа можно глянуть здесь: тыц и тыц.

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

Маржинальность (Gross Margin) – это доля прибыли от выручки после вычета переменных затрат на обслуживание, производство, доставку, сырье и т.д. Она считается так:

Gross Margin (%) = (Revenue - COGS) / Revenue * 100

Например, если COGS составляет 300 000 р., а Revenue – 1 200 000 р., то маржинальность равна 75%. Это значит, что из общей выручки в 1 200 000 р. ваша прибыль составила 900 000 р. Остальные 300 000 р. покрыли затраты на продукт. Про расчет Revenue и COGS я делал отдельный пост.

Дисконтирование – метод, который корректирует будущие доходы на основе ставки дисконтирования. Обычно ставка составляет 5–15% годовых. В нашем случае для простоты мы возьмем 10% годовых или в упрощенном расчете 0.833% в месяц. Метод учитывает, что деньги, полученные через год, менее ценны из-за инфляции, альтернативных инвестиций и рисков.

Чтобы рассчитать прогноз LTV за выбранный период, нужно для каждого месяца взять ARPU, умножить его на маржинальность, дисконтировать и сложить результаты.
Формулу и пример я привел на слайде.

#разбор_метрик #метрики
16👍9🔥1
Знакомимся!

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

Меня зовут Рома. Родился и живу в Москве, в IT работаю с 2008 года. Начинал как веб-разработчик, потом стал seo-шником (да-да, был и такой грех), а примерно с 2015 ушел в аналитику. Тогда все было куда проще: «Знаешь что такое Яндекс Метрика и Google Analytics?» – ты принят! Сегодня же это профессия с серьезным порогом входа: SQL, Python, A/B-тесты, модели и многое другое. Все эти навыки я осваивал постепенно на практике, дорос до хеда и даже директора по аналитике.

Вот уже год как я работаю в Т-Банке, занимаюсь экосистемной аналитикой и метриками. Параллельно снова учусь – поступил в магистратуру, так как считаю, что учеба должна быть постоянной частью жизни, а не чем-то разовым.

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

Теперь ваша очередь! Напишите в комментариях: кто вы, чем занимаетесь и как пришли в аналитику (или только думаете об этом). Будет интересно познакомиться поближе)
3🔥7315👎3
Мы разобрали три популярных способа подсчета метрики LTV. Теперь пора сравнить их и сделать выводы.

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

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

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

На слайде я суммировал информацию и привел формулы. Сохраняй как шпаргалку.

#разбор_метрик #метрики
👍204🔥3
Аналитики, дизайнеры и продакты!

Вы наверное уже слышали, что 27 сентября в Москве пройдет конференция «Продукты 24 × FFDD2D» – объединение двух крупных мероприятий, которые задают тренды в продуктовой среде.

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

Будет три потока выступлений:

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

📍 Регистрируйтесь онлайн: https://producty24-ffdd2d.ru/

P.S. Для тех кто успел зарегистрироваться офлайн, приходите в экспертную зону, я там буду. Поговорим о метриках или за жизнь )
👍102🔥1
Есть метрика, которая неразрывно связана с LTV, – Customer Acquisition Cost (САС), стоимость привлечения клиентов. Это средняя сумма, которую компания тратит, чтобы привлечь одного клиента. Если CAC превышает прибыль от клиента, бизнес работает в минус.

Существуют два подхода к расчету САС. Маркетинговый подход учитывает только затраты на маркетинг: рекламу, контент-маркетинг, расходы на CRM и др. Он применяется в стартапах и E-commerce. Расчет CAC должен быть как по каждому каналу, так и по всем каналам в целом.

Финансовый подход включает не только затраты на маркетинг, но и на продажи: зарплаты менеджеров по продажам, обслуживание колл-центров, пробные версии продукта и др. Такой подход – стандарт в крупных компаниях и B2B, особенно в SaaS, где цикл сделки долгий, и маркетинг – только верхняя часть воронки.

Независимо от подхода, для корректного расчета метрики необходимо установить:

1. Какие затраты вы будете учитывать? Например, медиабюджеты, фиксированные затраты, такие как зарплаты маркетологов, расходы на CRM.

2. Кого считать «привлеченным клиентом»? В B2C это может быть пользователь, который совершил первую покупку, в SaaS – подписавший договор и прошедший онбординг, в freemium-моделях – платящий пользователь.

3. Какой временной лаг выбрать? Большинство маркетинговых активностей работают с отложенным эффектом. Человек мог увидеть рекламу в январе, а совершить покупку в марте. Поэтому не стоит считать CAC и количество привлеченных клиентов за один и тот же месяц. Один из вариантов – посчитать всех, кто перешел по рекламе в январе, и сколько из них стало клиентами в течение 30/60/90 дней.

В чем связь LTV и CAC? CAC показывает, сколько вы тратите на привлечение клиента, а LTV – сколько вы с него зарабатываете. Ключевая метрика здесь – соотношение LTV/CAC.

Золотое правило гласит: если LTV / CAC > 3, то модель считается здоровой и бизнес приносит прибыль, а значит надо масштабироваться! Если LTV / CAC < 1, то бизнес теряет деньги на каждом клиенте. Если LTV / CAC = 1, то вы просто окупаете маркетинг, но не покрываете прочие расходы.

#разбор_метрик #метрики
19👍8🔥5
Зачем я поступил в магу?

Недавно обещал рассказать, зачем пошел в магу в таком почтенном возрасте и как ее выбирал.

Я закончил ВУЗ, вообще никак не связанный с IT или математикой. Но еще со школы я увлекался сайтами – делал их просто ради интереса, потом начал брать заказы, а дальше уже пошло-поехало, устроился работать в эту сферу. Сначала это казалось случайным путем, но именно он и привел меня в аналитику.

Когда я впервые пришел на собеседование, все выглядело иначе, чем сейчас. Тогда требования были простыми: знаешь Excel – ты уже аналитик))

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

Потом я оказался в Т-Банке. Вокруг люди, которые учатся постоянно: кто-то только закончил университет, кто-то проходит очередной курс, кто-то снова поступает. В основном это технические вузы. И я подумал: а почему бы не попробовать самому?
Оказалось, сейчас масса возможностей для жаждущих знаний. Например, онлайн-программы ВУЗов в партнерстве с крупными IT-компаниями. А еще в помощь студентам дают образовательный кредит под 3% с господдержкой! Решил собрать варианты и посмотреть, куда я вообще подхожу.

В список попали три магистратуры:
▪️ВШЭ с программой «Аналитика больших данных» совместно с Karpov Courses;
▪️МИФИ с направлением «Наука о данных и искусственный интеллект» в партнерстве с Яндекс Практикумом;
▪️МФТИ с программой «Наука о данных».

Сначала хотел податься везде, но МФТИ отпал – дорого и неудобный сайт, даже не смог подать заявку. В итоге сосредоточился на ВШЭ и МИФИ.
Сдал экзамен, выбрал МИФИ. Сыграли роль и доверие к ВУЗу, и партнерство с Яндекс Практикумом – я уже проходил у них курсы, знаю уровень. Плюс программа в МИФИ показалась интереснее: не только аналитика, но и искусственный интеллект – сейчас это очень актуально.

А дальше два года обучения.

1️⃣ Первый год базовый: Python, SQL, статистика, визуализация, теория вероятностей, машинное обучение. Во втором семестре нужно будет выбрать фокус – Data Science или инженерия данных.

2️⃣ На втором году выбор специализации. Всего их четыре: ML-инженер, инженер данных, направление по компьютерному зрению и NLP.

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

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

А я буду время от времени делиться, как идет обучение и какие выводы делаю по ходу.
🔥73👎2🥱21
В последнее время мы разбирали метрику LTV и ее связь с CAC. Хочется завершить эту серию постов вот какой темой: «Что делать, когда показатели посчитаны?»

Главное, что нам дает LTV в совокупности с другими метриками – понимание своих клиентов. Вот несколько рекомендаций по дальнейшим действиям.

Устанавливаем бюджет на рекламу. Очевидная польза LTV – знание о том, сколько денег приносит один клиент за все время пользования продуктом. При минимальных прикидках эта цифра не должна превышать расходы на привлечение одного клиента. При более сложных расчетах мы следим, чтобы соотношение LTV к CAC превышало 3. Это позволяет заложить бюджет на маркетинг.
Тут важная ремарка: затраты на привлечение могут превышать доход от клиента, если вы это делаете осознанно. Например, вы под инвестициями и вам необходимо нарастить оборот, долю рынка и тп. Однако вы должны четко понимать как в будущем будете исправлять экономику продукта и растранзачивать клиента, иначе это все может плохо закончиться.

Выявляем эффективные маркетинговые каналы. Каналы с наибольшим когортным LTV и прибыльным LTV/CAC Ratio должны стать приоритетом для маркетинговых кампаний, а каналы с наименьшим LTV – поводом для выявления причин и, возможно, смены стратегии.

Влияем на поведение клиентов. Не все клиенты одинаково прибыльны. Главная задача – подобрать стратегию для каждой когорты. Для этого мы проводим аналитику, формулируем гипотезы и разрабатываем стратегии, которые повысят LTV конкретной группы: скидки и бонусы, программа лояльности, продажи товаров комплектом и др. При анализе мы смотрим в первую очередь на частоту покупок, средний чек и снижение активности.

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

Планируем рост бизнеса. Прогнозирование LTV помогает ставить долгосрочные цели и рассчитывать инвестиции. Оптимальный горизонт предсказания – от года до трех лет. Лучше оценивать LTV одновременно с CAC за выбранный период, чтобы видеть, приносят ли клиенты прибыль в перспективе и за какое время окупятся затраты на их привлечение. На основании этого мы планируем расширение бизнеса.

#разбор_метрик #метрики
1👍85🔥3👎1
Как организовать разметку приложения событиями?

Недавно прилетел вопрос от коллеги: «Как правильно размечать событиями сайт или приложение? Есть ли какие-то чек-листы или best practice?».

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

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

Представьте, что ваше приложение – это матрешка

У нас есть экраны: main, catalog, cart.
Каждый экран мы мысленно делим на крупные блоки (например, header, product_grid, recommendations_slider).
А эти блоки, в свою очередь, состоят из элементов (cart_button, favorite_icon, product_card).

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

Вариант 1

Событие создается по правилам:
screen_name + block_name + element_name + action


Например:
catalog_product_grid_cart_button_click


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

Минусы:
▪️Риск упереться в лимиты на количество уникальных событий. Если у вас очень сложное приложение, таких комбинаций может накопиться несколько тысяч.

Вариант 2

Событие состоит только из действия:
action


Но вся магия кроется в параметрах! В них мы и прописываем screen_name, block_name, element_name.

Например:
click


Параметры:
{screen_name: 'catalog', block_name: 'product_grid', element_name: 'cart_button'}


Плюсы:
▪️Простой и понятный список событий. У вас будет всего несколько десятков базовых действий. Система не захламлена.
▪️Легко добавить новый элемент или блок, не создавая новое уникальное событие.

Минусы:
▪️Требуется предварительная обработка. Для анализа вам постоянно придется фильтровать одно и то же событие по разным параметрам.

Независимо от выбранного варианта, душа события – это его параметры. Обязательно продумайте их: от базовых, вроде user_id и app_version, до кастомных, вроде product_id, promo_name или source.

Предостережение

Главный соблазн для любого начинающего аналитика – начать трекать ВСЁ. «А давайте еще повесим событие на скролл, на наведение курсора, на смену времени суток в приложении!». Стоп! Помните, что у всего есть своя цена.

Системы аналитики вроде Google Analytics, AppsFlyer или AppMetrica имеют лимиты на количество регистрируемых событий. Например, вот выдержка из доки:
В AppMetrica есть суточные лимиты на кастомные события, присылаемые через SDK и Post API. Суточный лимит — 3 250 000 событий на тарифе Free.


Упершись в потолок, вы можете начать терять важные данные. Да и хранение каждого события в вашей БД – это прямые серверные затраты.

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

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

#опыт
1👍23🔥7
Always be the worst guy

Always be the worst guy in every band you’re in. If you’re the best guy, you need to find another band. And always be around people who are better than you, so you can learn.

– Чад Фаулер, «The Passionate Programmer»


Эта фраза из книги так зацепила меня, что я решил осмыслить ее через написание поста 🙂

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

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

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

Иногда рядом с такими людьми чувствуешь себя неуверенно, но именно это состояние и есть двигатель прогресса. Через год ты оглядываешься назад и понимаешь – стал совсем другим.

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

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

Поэтому если чувствуешь, что вокруг все слишком знакомо и спокойно – возможно, пора сменить окружение.

Потому что быть самым слабым в команде – не стыдно. Стыдно – застрять там, где ты не развиваешься.

#мысли
💯3516🔥6👎2
Друзья, привет!

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

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

▪️ Простой способ расчета LTV
▪️ LTV с учетом маржи и дисконтирования
▪️ Когортный LTV
▪️ Customer Acquisition Cost
▪️ Что делать, когда показатели посчитаны

Если тема вам близка – добавляйте пост в закладки, пригодится!

#метрики
16👍6🔥5
Иногда кажется, что ИИ влетел в нашу жизнь слишком быстро. Еще вчера мы учились программировать, ковырялись в формулах, сдавали лабы ночами… а сегодня половина задач в ВУЗах и на собеседованиях решается по схеме: вставил в чат – получил ответ – профит 🙈

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

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

Ситуация в ВУЗах

Недавно наткнулся на интересную дискуссию в сообществе МИФИ о использовании ChatGPT студентами из-за возросшей нагрузки непрофильными предметами. Студент получает задачу, не понимает или просто не успевает в ней разобраться и открывает ИИ. Через минуту готовое решение, с кодом, объяснениями и красивыми формулами.
Можно сдавать и закрывать предмет. А вот знания, увы не прикладываются автоматически. Более того, даже преподы грешат этим!

Уровень собеседований

Здесь все еще забавнее. Кандидат приходит на интервью, получает вопрос, кивает, «думает» пару секунд, а в реальности в это время спешно вбивает запрос в ChatGPT.
Ответ получается идеально гладким. Но главное даже не в том, что рекрутер это заметит (а опытные замечают почти сразу). Главная проблема, что таким путем ты рискуешь получить работу, к которой вообще не готов.

Мы стоим на развилке

ИИ – невероятно мощный инструмент. Он может ускорять обучение, помогать понять сложные темы, разбирать код, объяснять формулы человеческим языком.
Но если сводить его роль к «сделай за меня», то мы попадаем в ловушку: перестаем различать, что мы понимаем, а что просто красиво сделано за нас.

Как быть?

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

#мысли
👍18💯9🔥63🦄2