Продуктовый взгляд | Аналитика данных
1.77K subscribers
20 photos
1 video
5 files
24 links
Этот канал посвящён аналитике данных, продуктовой аналитике и стажировкам.
Download Telegram
Поступашки открывают набор на курс по теории вероятностей и математической статистики для тех, кто поступает в Академию Аналитиков Авито!

Мечтаешь поступить в ААА? Или просто хочешь тащить собесы и стать крутым специалистом в DS, но не хватает фундамента? Тогда тебе к нам!

На курсе будет разобрана специфика задач, ВСЕ идеи и подходы, используемые составителями. А также тебя ждёт пробный экзамен и собеседование!

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

Цена самая доступная: 9000 р за курс.

Начинаем уже 7 июня! Первые материалы уже доступны!

После семинара доступна запись. Кураторы помогут заполнить анкету, помогут в абсолютно в любом вопросе, задаче. Вас ждет пробный экзамен, персональное собеседование! А также разведка по каждому экзамену, инсайды и персональные рекомендации. Все будет еще круче, чем на всех наших прошлых курсах (отзывы тут).

Программа и Подробности.

Для записи и вопросов: @menshe_treh
😢2
ЯндексАналитикаРазбор.pdf
117.8 KB
Товарищи, публикуем разбор на стажировку по аналитике в яндекс, успейте пройти отбор до смены контеста и попасть летом в команду яндекса!😎

@prodAnalysis
8😁1
Принцип Парето

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

Условие:
На заводе техобслуживание станка занимает ровно 8 часов (480 минут). Инженер предложил оптимизировать процесс по принципу Парето (20% усилий дают 80% результата):
1. Выполнить 80% работ за 20% стандартного времени.
2. Для оставшихся 20% работ повторить принцип: устранить 80% остатка за 20% времени, требуемого на этот остаток.
И так мттеративно далее применять для остающихся частей.
Обусловимся следующими ограничениями:
- Объем работ однороден (время пропорционально объему).
- На первом этапе 20% времени = 20% от 480 минут.

Какую экономию времени (в минутах) даст новый метод?

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

1. Обозначим исходное время как T = 480 мин. На каждом шаге: устраняем 80% текущего объема работ (фактически каждую иттерацию можно интерпретировать, как реализацию случайной величины) и тратим 20% времени, требуемого на текущий объем. После n-го шага остаток работ: (0.2)^n * 100%. Время на k-м шаге: t_k = (0.2)^k * T. Общее время – сумма геометрической прогрессии: S = T * \sum (0.2)^k. Посчитаем сумму S = T * 0.2/(1-0.2) = 120 => мы сэкономили 480-120 минут = 360 минут

2. Есть второй подход, можно заметить что, засчет такого иттеративного подхода наша скорость увеличится в 80/20=4 раза, а значит мы в 4 раза потратим меньше времени, тогда ответ 480-480*1/4=360 минут.

@prodAnalysis
15😁3
Свершилось! Поступашки открывают набор на новую линейку карьерных курсов 🎉

Мечтаешь стать крутым специалистом и с легкость тащить собесы, но не хватает фундамента? Хочешь овладеть знаниями и навыками для работы в крупной компании как Яндекс, Тинькофф или ВК? Узнал себя? Тогда записывайся у администратора на любой из курсов (если андроид - смотрим через яндекс браузер):

➡️ алгоритмы старт
➡️ аналитика старт
➡️ машинное обучение старт
➡️ бэкенд разработка старт

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

Помимо этого на курсах тебя ждут:
- пет проекты и мини проекты, которые пойдут в портфолио;
- разбор реальных тестовых заданий бигтехов;
- разбор актуального контеста на стажировку в Яндекс и Тинькофф;
- банк реальных технических вопрос с собесов;
- разбор всех задач с алгособесов Яндекса!

А после прохождения курса тебя ждет пробный собес с подробной консультацией и сопровождением, рефералкой в Яндекс или в другие топовые компании!

📊 Цена 15'000р при покупке! Хочешь купить несколько курсов сразу? Дадим хорошую скидку!

Для вопросов и покупок пишем администратору и не тянем с этим: на каждом курсе количество мест ограничено!
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
Эти ошибки должен избежать каждый стажер аналитик

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

1. Не лезь в данные просто так. Когда копаешь данные без чётко поставленного вопроса, можно потратить часы, конечно получится и найти кучу случайных корреляций и т.п. Но ты не добьёшься ответа на поставленный бизнес-вопрос. Поэтому стоит следовать чёткому плану, прежде чем лезть в бд:
а) Сформулируй вопрос конкретно, в нем должны быть уточнены сегмент, метрика и период, например: "Почему упала конверсия в оплату на мобильных устройствах за последнюю неделю?". (В данном случае сегмент - мобильные устройства, метрика - конверсия, период - последняя неделя).
б) Предположи причину (то есть сформулируй гипотезу). Например: "Возможно, сломался выбор способа оплаты на IOS, после обновления".
в) Определим данные, которые понадобятся для вычисления нужных метрик и проверки гипотезы. В контексте данных примеров нам понадобятся конверсии по устройства ОС за 2 недели, логи ошибок на шаге оплаты, дата последнего релиза.
И уже только после этих трех пунктов можно открывать sql/python.

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

3. Многие неопытные стажеры напрочь забывают провести анализ на наличие выбросов. Эти значения могут сильно исказить любую метрику (особенно средние значения). Но их в том числе не стоит удалять сразу после обнаружения, предварительно стоит выявить причину и учитывать её впоследствии (например корпоративная покупка / vip-клиенты / ошибка данных). В случае если аномалия относится к бизнесу, то можно сделать метрику менее чувствительной к экстремальным значениям (например использовать медиану), либо удалить, если это ошибка данных.

4. На практике почему то много стажеров не спрашивают вопросов. Этот страх задать "глупый" вопрос мешает и вам (вы потратите куда больше времени если будете весь день пытаться понять постановку задачи), и команде, а хуже того - вы можете потратить время, неправильно поняв задачу. Поэтому всегда уточняй цель анализа (узнай какой бизнес-вопрос вы решаете), детализируй критерии (сегментируй / ограничь период / метрики выдели), сверься с гипотезами и сроками. 5 минут уточнений вам сэкономит куча времени, поэтому ненпренпрегайте не пренебрегайте вопросами.

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

@ProdAnalysis
16🤓3
Товарищи, подготовили для вас секретный гайд, для тех, кто мечтает, чтобы его резюме отправили в помойку за 10 секунд. Мы составили эту методичку, основываясь исключительно на реальном опыте интервьюеров и кандидатов.

1. Первый этап это скрининг резюме, многие знают из тиктоков про
секретные методики быстрого чтения резюме (а именно F-скрининг резюме, HR мысленно рисует на весь лист вашего резюме букву F и читает текст, попавший в контуры этой буквы). Проверьте внимательность HR и оставьте послание из первых букв каждой строки (например угрозы если вашу заявку не примут), ваша заявка должна отличаться от серой массы. Также помните, что короткие резюме, оформленные в латехе это абсолютно проигрышный вариант, ваше резюме должно быть минимум в 10 страниц, постарайтесь вписать все ваши достижения с детского сада, предварительно адаптировав (например: ‘Победитель городского конкурса стихотворений’ можно переформулировать в ‘Платиновый лидер ораторского клуба города Москва’), любые конкурсы, которые вы видели без раздумий добавляем в резюме. С опытом так же, накидайте кучу несуществующих компаний и назовите их стартапами. Пример наиболее содержательного резюме советую глянуть здесь.

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

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

4. Хвастайтесь навыками, которых нет. Например знанием Klingon Programming Lang. Рекрутер обожает, когда кандидаты называют различные умные технологии (неважно бывают ли такие или нет, если вдруг спросят про несуществующую можете выдумать что-нибудь на ходу)! Заявите, что владеете всеми языками — от Python до эльфийского синтаксиса из LOTR.

5. Говорите по существу, не стоит объяснять на тех собесе неочевидные моменты ваших решений, вы должны казаться очень умным и принимать любой факт за очевидное. Не объясняйте ход мыслей! Пусть интервьюер поломает голову, глядя на ваш код. А если спросят: «Почему вы выбрали такой алгоритм?», бодро ответьте: «Интуиция!». Напишите переменные названиями вроде abcde, tmp (можете тоже здесь проверить внимательность интервьюера и добавить пасхалок, например переменные shitHappens или различные ругательства).

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

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

Делитесь в комментах, как вы попали в черный список или завалили собес😎. А если не хочешь так же позориться на собесах, можешь записаться на карьерные курсы.

@ProdAnalysis
🤝12😁83😈1
How to заботать мат. аппарат для ML? (Часть 1, Алгебра и аналитическая геометрия)

У многих уже подходит к концу сессия и пора начинать думать о том чем вы будете заниматься во время летнего отпуска (если конечно вы не нашли заветной вакансии стажера в каком-нибудь бигтехе). В этой серии постов опубликуем материалы для того чтобы заботать/освежить/восполнить харды. Один из основных элементов фундамента в ML (естественно, я не говорю про форму мл-макакинга, где персонаж просто пользуется готовыми моделями, не представляя, что из себя они представляют) это алгем. Выписал подборку наилучших курсов/книг по алгебре этого с головй хватит например для экзаменов в ШАД.

В принципе для базового уровня в ML алгебры не так много нужно, а метериалы ниже с голов покроют запросы. Выделил основные темы ангема и алгебры для ML: геометрия векторных пространств, расстояния и проекции, Уравнения прямых, плоскостей и гиперплоскостей, кривые и поверхности второго порядка, вектора и линейные пространства, матрицы и линейные операторы, СЛУ, линейные разложения (svd, lu, evd, qr и т п), нормы векторов и матриц.

Теория

1) Некоторые из вас, кто крутился в олимпиадном комьюнити знают Богданова Илью Игоревича. Он же ведёт очень подробный и продвинутый курс вузовского ангема и алгебра. Также есть затеханные лекции этих курсов (ангем и алгебра).

2) Параллельно этому курсу, если вдруг будут вещи, которые не ясны в полной мере, можете обращаться к материалам учебников Кострыкина или Винберга (Кострыкин будет более простым).

Практическая часть

1) В качестве семинарской части чтобы научиться решать задачи можете посмотреть записи семинаров Юденковой (часть 1 и часть 2). Так же можете еще и письменные материалы.

2) В качестве задачника советую Беклемишева, там перед каждой главой расписана хорошая теория с примерами решения задач.

А также присоединяйся к сообществу продуктовых аналитиков в нашем чатике!

@ProdAnalysis
18
Открытый банк заданий

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

Подписывайтесь и делитесь с друзьями такой годнотой!
Аналитика
Машинное Обучение

Доступ к расширенной базе будет только у тех, кто приобрел курс этой серии! Но к ней можно получить доступ, просто отправив @vice22821 свое тестовое задание или собеседование.

@postypashki_old
Audio
Товарищи, напоминаю, что сегодня последний день, чтобы записаться на наши легендарные курсы по хорошей скидке 30%. Стартую они уже завтра.

Не упустите свой шанс классно прокачаться летом и залететь уже осенью на стажировку в Яндекс как наш выпускник прошлого набора (см прикрепленное интервью). Михаил сейчас работает на позиции джуниор в команде Яндекс Такси. Уверен его история просто парня из региона вас вдохновит!

[ Записаться на курсы ]
2
Свершилось! Поступашки открывают набор на новую линейку математических курсов 🎓

Хочешь поступить в Ai Masters или топовую магистратуру? А, может, ты мечтаешь тащить собесы, но тебе не хватает фундамента? Узнал себя? Тогда записывайся у администратора на любой из курсов:

➡️ алгоритмы
➡️ теория вероятностей
➡️ линейная алгебра
➡️ математический анализ

Все курсы стартуют 28.07, все лекции выложены сразу. Наши курсы заточены на практику и конкретные задачи, вся теория будет разобрана на конкретных задачах и примерах, которые будут на экзаменах и на собесах. Ничего нудного и скучного! Изучаем только то, что тебе реально понадобится! Хочешь подробностей? На нашем сайте можно найти программу и отзывы на каждый курс.

Помимо кучи авторских задач мы даем доступ к уникальной закрытой базе заданий Ai Mastersа, разбор реального контеста в Ai Masters, разбор ВСЕХ задач с собеседований в ШАД, Ai Masters, ААА! Более того, ты получишь эксклюзивные материалы для проверяющих с собесов, пробный экзамен, инсайды, персональные рекомендации, собес с подробной консультацией и дальнейшим сопровождением вплоть до поступления в место мечты!

📊 Цена очень доступная: 12'000 7'500 рублей за каждый курс. До 16.07 включительно отдаем курс со скидкой, дальше продажи по зачеркнутой цене.

Для вопросов и покупок пишем администратору и не тянем с этим: количество мест ограничено!
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Свершилось! Поступашки открывают набор на новую линейку карьерных курсов 🎉

Мечтаешь стать крутым специалистом и с легкость тащить собесы, но не хватает фундамента? Хочешь овладеть знаниями и навыками для работы в крупной компании как Яндекс, Тинькофф или ВК? Узнал себя? Тогда записывайся у администратора на любой из курсов (если андроид - смотрим через яндекс браузер):

➡️ дата сайнс (глубокое обучение)
➡️ фронтенд
➡️ дата инженер
➡️ математика для карьеры

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

Помимо этого на курсах тебя ждут:
- пет проекты и мини проекты, которые пойдут в портфолио;
- разбор реальных тестовых заданий бигтехов;
- разбор актуального контеста на стажировку в Яндекс и Тинькофф;
- банк реальных технических вопрос с собесов;
- разбор всех задач с алгособесов Яндекса!

А после прохождения курса тебя ждет пробный собес с подробной консультацией и сопровождением, рефералкой в Яндекс или в другие топовые компании!

📊 Цена 15'000р 9'000р при покупке до 18 июля включительно! Хочешь купить несколько курсов сразу? Дадим хорошую скидку!

Для вопросов и покупок пишем администратору и не тянем с этим: на каждом курсе количество мест ограничено!

Не забываем и про линейку старт, на которую тоже только до 18.07 действует скидка 40%!

➡️ алгоритмы старт
➡️ аналитика старт
➡️ машинное обучение старт
➡️ бэкенд разработка старт

ЗАПИСАТЬСЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Кейс с собеса яндекса

В нашем чатике аналитиков попросили разобрать кейс с собеса на мидла. Представьте, что команда Яндекс.Тревел запускает A/B-тест нового баннера "Горящие туры в Турцию" на главной странице сервиса. Цель теста — увеличить конверсию пользователей главной страницы в бронирование туров (особенно в Турцию) и общую выручку от продажи туров, за счет более привлекательного и релевантного баннера. Гипотеза заключается в том, что новый баннер (Вариант B) с яркой фотографией пляжа, четким призывом "Успейте купить! Скидка до 30%", таймером обратного отсчета и кнопкой "Смотреть туры" приведет к увеличению кликабельности (CTR), конверсии в просмотр и бронирование туров в Турцию, а также к росту выручки по сравнению с текущим баннером (Вариант A).

Для оценки успешности теста будет набор метрик. Основными ключевыми показателями эффективности (KPI) станут: CTR баннера, рассчитываемый как отношение числа кликов к числу показов. Рост CTR покажет, насколько эффективнее новый баннер привлекает внимание и мотивирует к клику, что напрямую влияет на поток пользователей дальше по воронке. Конверсия в переход на страницу поиска туров именно в Турцию (отношение переходов с фильтром "Турция" после клика по баннеру к общему числу кликов) покажет релевантность предложения — соответствует ли целевая страница ожиданиям, созданным баннером. Наиболее важной бизнес-метрикой будет конверсия в бронирование тура в Турцию. Ее будут оценивать двумя способами: Post-Click Conversion Rate (бронирования туров в Турцию пользователями, кликнувшими на баннер, деленное на клики) и Post-View Conversion Rate (бронирования туров в Турцию пользователями, увидевшими баннер, деленное на показы). Post-View конверсия критически важна, так как учитывает влияние "увидел, не кликнул, но потом купил", что характерно для travel. Также будет отслеживаться средний чек бронирования тура в Турцию (общая выручка от таких бронирований после клика/показа баннера деленная на количество бронирований), чтобы понять, привлекает ли баннер пользователей с разной платежеспособностью. Самой важной финансовой метрикой станет выручка, или Revenue Per Visit (RPV). Рассчитываться она будет как Post-Click RPV (выручка от бронирований в Турцию после клика деленная на клики) и особенно Post-View RPV (выручка от бронирований в Турцию после показа баннера деленная на показы). Рост Post-View RPV — главный индикатор финансовой успешности теста, интегрирующий влияние на конверсию и средний чек.

Дополнительно будут использоваться: глубина просмотра страницы поиска (среднее количество просмотренных карточек туров после клика по баннеру) покажет уровень интереса пользователя. Показатель отказов (Bounce Rate) на странице поиска (доля сессий, начатых с клика по баннеру, где пользователь просмотрел только одну страницу) поможет выявить возможное разочарование или технические проблемы.

Выводы не будут сделаны, пока не достигнута достаточная мощность теста и статистическая значимость (обычно p-value < 0.05) по ключевым KPI (CTR, Конверсия в бронирование Турции, Post-View RPV). Тест должен длиться минимум 1-2 полных бизнес-цикла (например, неделя для учета выходных, а лучше 2 недели для стабильности данных), с учетом возможной сезонности

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

@ProdAnalysis
12
Собеседование на агрегатор эскортниц

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

Задача 1
Сколько эскортниц в городе Санкт-Петербург

Решение:
Оттолкнемся от спроса. Мужчин в СПБ примерно 3 миллиона. Средний ценник за час возьмём 10 тыс. Чтобы мужчина мог хотя бы пару раз в месяц сходить к фее, он должен зарабатывать 50 тыс (аренда) + 50 тыс (еда) + 50 тыс (бытовые расходы) + 50 тыс (отложить). То есть, чтобы ходить к фее, доход мужчины должен быть хотя 250 тыс. Из-за того, что доходы распределены экспонециально, делаем вывод, что столько и выше зарабатывает не более 1% населения СПб. То есть столько зарабатывает примерно 25 тысяч человек. Чтобы дело было рентабельным, фее нужно зарабатывать хотя бы 250 тысяч (по предыдущим оценкам), то есть принять 25 человек в месяц. Того можем предложить оценку, что в СПб примерно 1 тысяча фей.

Задача 2
Почему в Москве эскортницы в основном кучкуются в районе Академический, Фили, Красно Пресненский? Предложи несколько гипотез.

Решение:
Во-первых в Москве всегда преимущественно жили на западе, а в восточной части располагались промышленные зоны. Жить на западе считалось престижней, там же расположены престижные районы: Хамовники, Патрики, Дорогомилово. А в центральном округе аренда просто дорогая и феям располагаться не рентабельно.

@ProdAnalysis
😁37🔥93🤔1
Поступашки продолжают набор на новую линейку карьерных курсов 🎉

Мечтаешь стать крутым специалистом и с легкость тащить собесы, но не хватает фундамента? Хочешь овладеть знаниями и навыками для работы в крупной компании как Яндекс, Тинькофф или ВК? Узнал себя? Тогда записывайся у администратора на любой из курсов (если андроид - смотрим через яндекс браузер):

➡️ дата сайнс (глубокое обучение)
➡️ фронтенд
➡️ дата инженер
➡️ математика для карьеры

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

Помимо этого на курсах тебя ждут:
- пет проекты и мини проекты, которые пойдут в портфолио;
- разбор реальных тестовых заданий бигтехов;
- разбор актуального контеста на стажировку в Яндекс и Тинькофф;
- банк реальных технических вопрос с собесов;
- разбор всех задач с алгособесов Яндекса!

А после прохождения курса тебя ждет пробный собес с подробной консультацией и сопровождением, рефералкой в Яндекс или в другие топовые компании!

📊 Цена на сайте, только при покупке до 24 июля включительно скидка 40%! Хочешь купить несколько курсов сразу? Дадим хорошую скидку!

Для вопросов и покупок пишем администратору и не тянем с этим: на каждом курсе количество мест ограничено!

Не забываем и про линейку старт, на которую тоже только до 24.07 действует скидка 40%!

➡️ алгоритмы старт
➡️ аналитика старт
➡️ машинное обучение старт
➡️ бэкенд разработка старт

ЗАПИСАТЬСЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
Когортный анализ в email-маркетинге

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

Когортный анализ — один из самых популярных анализов в маркетинговой и продуктовой аналитике. Он показывает изменение ключевых показателей во времени в разрезе каждой когорты. Так появляется возможность, в зависимости от того, когда пользователь совершил действие, отследить достижение конкретных целей: конверсии, ROI, CAC, LTV, Retention Rate — и разобраться в предпосылках.

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

Рассмотрим задачу

Постановка задачи
В данном примере цель когортного анализа — отследить взаимодействие подписчиков с рассылками на основе Click Rate (количества кликов).

Определение параметров
Анализ будет построен на следующих показателях.
Признак формирования когорты — дата подписки.
Размер когорты — месяц.
Временной интервал — с января 2018 по ноябрь 2019.
Ключевой показатель — CR.

Исходные данные
В Таблицу 1 собираем информацию о подписчиках:
- ID подписчика (в качестве ID может выступать email);
- дата подписки.
В Таблице 2 — информация о взаимодействиях (одна строка — одно действие):
- ID подписчика;
- дата совершения действия;
= рассылка, в которой совершено действие.

Алгоритм работы
- Группируем пользователей по дате подписки, учитывая размер когорты. Получаем количество подписчиков в каждой когорте.
- Объединяем таблицу 2 с таблицей 1, используя в качестве ключа общее поле — ID подписчика.
- Группируем полученную из пункта 2 таблицу по полям «дата совершения действия» и «дата подписки» и подсчитываем для такой пары общее количество кликов.
- Рассчитываем для каждой пары значение ключевого показателя.

Анализ результатов
Полученные результаты представляются в виде матрицы, где строки — это когорты, столбцы — месяцы, значения — ключевой показатель (CR).

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

@ProdAnalysis
11
Кейс из сбера

Разберем интересный кейс с собеседования на позицию middle data analyst. Рассмотрим ситуацию, когда команда онлайн-гипермаркета "СберМегаМаркет" проводит A/B-тестирование переработанного алгоритма рекомендаций на страницах товарных категорий.

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

Гипотеза состоит в том, что усовершенствованная система рекомендаций (Вариант B), которая сочетает:
- анализ индивидуального покупательского поведения
- машинное обучение на основе похожих профилей
- учет сезонного спроса в регионе
- баланс между популярными и перспективными товарами
позволит добиться более высоких показателей эффективности по сравнению с текущей системой (Вариант A), основанной исключительно на общих показателях популярности товаров в категории.

Для оценки результатов тестирования определены ключевые метрики:
Основные показатели эффективности: коэффициент кликабельности (CTR) рекомендательного блока, конверсия в корзину из рекомендаций, показатель Post-View покупок (учитывающий отложенные решения), средняя стоимость заказа с рекомендациями, выручка на активного пользователя (ARPU). Дополнительные метрики качества: индекс удовлетворенности рекомендациями (на основе логов взаимодействия), показатель возвращаемости к блоку рекомендаций, коэффициент разнообразия предлагаемых категорий, время взаимодействия с рекомендательным блоком

Особое внимание уделяется анализу Post-Engagement Conversion — метрике, учитывающей покупки, совершённые после любого взаимодействия с рекомендательным блоком, даже если оно не привело к немедленному клику. Важно для понимания общего влияния системы на покупательское поведение.

Тест проводится с соблюдением требований:
Рандомизация пользователей по cookie-идентификаторам
Баланс групп по ключевым характеристикам (50/50). Минимальная длительность — 14 дней для учета различных паттернов поведения, Контроль внешних факторов (акции, сезонность). Размер выборки — от 150k пользователей в каждой группе.

При анализе результатов применяется следущий подход: проверка статистической значимости различий, анализ вторичных эффектов и неожиданных корреляций, оценка влияния на разные сегменты пользователей, проверка на отсутствие негативного воздействия на UX

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

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

@ProdAnalysis
12
Топ 5 ошибок в продуктовой аналитике

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

1. Неясные цели исследования
Любой анализ начинается с чётко сформулированных целей и проверяемых гипотез. Если вы заранее не определите, зачем собираете данные, велика вероятность, что результаты будут трактоваться произвольно и пойдут «в холостую». Держите цели перед глазами на каждом этапе работы.

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

3. Игнорирование контекста
Цифры вне контекста продукта, аудитории и рынка легко вводят в заблуждение. Без понимания, кто пользуется вашим решением, как работает бизнес-модель и какие внешние факторы влияют на данные, выводы будут искажёнными, а рекомендации — неэффективными.

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

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

@ProdAnalysis
8
Задачка с финалов яндекса

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

Условие
100 дверей, все изначально закрыты. Каждый ход случайно и равновероятно выбирается одна дверь. Если выбранная дверь закрыта, она открывается. Если выбранная дверь уже открыта, ничего не происходит. Требуется найтиматожидание количества ходов до момента, когда будет открыто ровно 50 дверей.

Решение
Решим более простую задачу, посчитаем ожидание количества бросков до открытия новой двери на момент, когда уже k дверей открыто. Вероятность открыть новую дверь с учетом того что k дверей открыто - p = (100 - k) / 100. Остаётся посчитать матожидания количества ходов с учетом такой вероятности. Переформулировав эти открытия дверей - это испытания бернулли, а реализуются они до того момента пока не настанет успех, а значит это геометрическое распределение, матожидание которого 1 / p = 100 / (100 - k).
Тогда можно разложить исходную величину на сумму 50 таких получившихся по линейности матожидания:
E[T] = E[T_0 + T_1 .. + T_49] = E[T_0] + E[T_1] + .. + E[T_49]
E[T] = 100 / (100 - 0) + 100 / (100 - 1) + ... + 100 / (100 - 49)
E[T] = 100 / 100 -+ 100 / 99 + ... + 100 / 51
Заметим, что если вынести 100 то в скобках останется отрезок суммы гармоничесого ряда с 51 по 100 элемент.
E[T] = 100 * (H_100 - H_50)~ 100 * ln2, где H_n— n-ое гармоническое число.

@ProdAnalysis
🤯113❤‍🔥1
Новая линейка продвинутых карьерных курсов стартует уже в это воскресение 🎉

Мечтаешь стать крутым специалистом и с легкость тащить рабочие задачи и собесы, получив конкурентное преимущество? Хочешь овладеть знаниями и навыками для работы в крупной компании как Яндекс, Тинькофф или ВК? Узнал себя? Тогда записывайся у администратора на любой из курсов (если андроид - смотрим через яндекс браузер):

➡️ машинное обучение хард
➡️ бэкенд хард
➡️ аналитика хард
➡️ алгоритмы хард

Курсы продвинутые и рассчитаны на тех, у кого уже есть БАЗА, для тех, кто хочет затронуть более сложные темы и идеально подготовиться к собесам, для тех, кто претендует на что-то большее чем просто джуниор. Если вы только в начале своего пути, советуем курсы старт, на которые тоже до 16.08 действует скидка.

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

Помимо этого на курсах тебя ждут:
- продвинутые пет проекты и мини проекты, которые пойдут в портфолио;
- разбор реальных тестовых заданий бигтехов;
- разбор актуального контеста на стажировку в Яндекс и Тинькофф;
- банк реальных технических вопрос с собесов;
- разбор всех задач с алгособесов Яндекса!

А после прохождения курса тебя ждет пробный собес с подробной консультацией и сопровождением, рефералкой в Яндекс или в другие топовые компании!

📊 Цена 12'000р 7'200р при покупке до 16 августа включительно! Хочешь купить несколько курсов сразу? Дадим хорошую скидку!

Для вопросов и покупок пишем администратору и не тянем с этим: на каждом курсе количество мест ограничено!

Не забываем и про линейку старт, на которую тоже только до 16.08 действует скидка 40%!

➡️ алгоритмы старт
➡️ аналитика старт
➡️ машинное обучение старт
➡️ бэкенд разработка старт

ЗАПИСАТЬСЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌1
Задача из отбора на стажировку Мини-CEO в Т-банк


Условие

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

Решение
0) Чтобы получить таблицу где будут кредиты и соответствующие им даты платежей делаем JOIN, по умолчанию функция JOIN работает как INNER JOIN
1) Для каждого кредита находим даты первого и последнего платежа — это можно сделать функциями MAX и MIN. Затем считаем их разницу, предварительно приведя p.payment_date из формата timestamp в date.
2) С помощью AVG усредняем эти разницы по всем закрытым кредитам и округляем до целого.

Когда я в первый раз решал задачу, система выдала вердикт Presentation Error — Ошибка неправильного формата. Первая версия моего кода выглядела так:
SELECT ROUND(AVG(last_date - first_date))
FROM (
    SELECT MIN(p.payment_date) AS first_date, MAX(p.payment_date) AS last_date
    …
) AS diffs;


Ключевой момент в том, что столбец p.payment_date имеет формат timestamp, разность таймстемпов даст интервал "XX days HH:MM:SS" (timestamp – timestamp = interval). AVG(interval) возвращает опять interval. Вызов ROUND(interval) не существует, значит результат будет в формате вида "42 days 11:23:58", которую система считывает, но она не совпадает с ожидаемым форматом (PE).

Если мы приведем payment_date к date, то разность дат даст целое число дней (date – date = integer). AVG(integer) вернет в этом случае numeric. Округляя среднее число дней ROUND(numeric) получим, то что от нас требовали.

SELECT ROUND(AVG(day_diff))
FROM (
    SELECT cr.credit_id, MAX(p.payment_date)::date - MIN(p.payment_date)::date AS day_diff
    FROM credits AS cr
    JOIN payments AS p ON cr.credit_id = p.credit_id
    WHERE cr.status = 'closed'
    GROUP BY cr.credit_id
) AS diffs;


@ProdAnalysis
👍9❤‍🔥22