Simulative – Telegram
7.39K subscribers
1.7K photos
70 videos
1 file
1.26K links
Привет! Мы — образовательная платформа в сфере аналитики Simulative: simulative.ru

Создаём курсы-симуляторы, где обучаем не на «апельсинках», а на кейсах из реального бизнеса.

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
Персональный топ нестандартных книг от нашего CEO 🔥

Надевно наш CEO, Андрон, отвечая на вопрос одного из студентов Симулятора «Аналитик данных», сам того не ожидая составил свой личный топ нестандартных книг для аналитиков данных (да и не только - всем будет интересно их почитать)! И сегодня мы делимся этой подборкой и комментариями Андрона с вами 🙂

Обязательно сохраняйте себе - это не всем привычные книги, типа «Статистика и котики», это реально необычная, рафинированная подборка.


Идеи с границы познания: Эйнштейн, Гёдель и философия науки, Джим Холт

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

Ложь, наглая ложь и статистика, Тим Харфорд

Грамотный аналитик может подать даже убыток в компании как праздник и большую радость 😁 Эта книга - как раз про такие фокусы: эффект страуса, 10 правил Харфорда и многое другое.

Идеальная ставка, Адам Кучарски

Книга одновременно и про теорию вероятности, и про математику, и про литературное повествование. Я читал эту книгу на одном дыхании - она была такой же интересной, как фильм «21», где математики обыгрывали казино за счет подсчетов. Очень рекомендую!

Математическое невежество и его последствия, Джон Аллен Паулос

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

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


Ничего не имеем против этих ребят - просто цитируем восторг читателя 😁

Голая статистика, Чарльз Уилан

Базовая книга по статистике в легком формате. Если вы только начинаете свой путь в аналитике и математике - это must read. Если вы хотите изучать математику и не думать «А при чем тут вообще жизнь?!» - вам стоит прочитать эту книгу.

Заключение

Если вам зашла эта подборка - давайте наберем 40 реакций огонечков 🔥 на этом посте, мы сделаем еще одну!
🔥70👍8
7 сценариев использования функции zip в Python 🔥

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

А зачем я так усложнил, это же так просто…


И один из способов сделать свой код проще - использовать функцию zip. Поэтому мы подготовили для вас статью, в которой разобрали целых 7 сценариев использования этой функции!

Переходите по ссылке, читайте статью и обязательно берите на заметку! 👇🏻

Ссылка на статью: ссылка
👍11🔥72
Ошибка в SQL: Избыточные подзапросы 🔥

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

Почему так происходит

Это происходит из-за того, что многие пишут SQL-запросы также, как это «звучит» в их голове. А SQL работает немного иначе - на нем нужно буквально «мыслить». Но это приходит с опытом, за счет большого количества практики (как правило, к концу модуля по SQL такие ошибки уже никто не делает).

Пример

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

Итак, задача: вывести id транзакции и предыдущую сумму транзации со знаком минус. Вот решение студена:

SELECT id, 
LAG(neg) OVER(ORDER BY id)
AS lg
FROM (
SELECT id, sm, -sm AS neg
FROM (
SELECT id, sum AS sm
FROM transactions t
) t
) t1


И это еще не все — можно и побольше накрутить. Но зачем так, если можно так:

SELECT id, LAG(-sum) OVER(ORDER BY id) 
FROM transactions t


А как писать такие запросы?

Отсекайте лишнее. Напишите запрос так, как получилось. Затем попробуйте упростить. Затем еще. И так до тех пор, пока не получите минимально возможный запрос.

Совет

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

Преждевременная оптимизация - корень всех зол


Заключение

Хотите тоже стать аналитиком, который пишет только качественный код и сходу решает сложные задачи? Записывайтесь на персональную экскурсию в Симулятор - расскажем как 👇🏻

🔗 Записаться на экскурсию: ссылка

#sql
👍9🔥54
Вы считаете корреляцию неправильно 😱

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

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

В своем телеграм-канале он написал пост про это с подробными примерами, обязательно прочитайте 👇🏻

ссылка на пост

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

А если вам интересен контент по аналитике от практикующего эксперта - обязательно подписывайтесь на канал 👇🏻

ссылка на канал
👍64🔥3
Стрим по SQL с Глебом Михайловым 🔥

После Новогодних праздников захотелось немного приятного лампового контента. И мы сразу вспомнили про классные стримы с Глебом Михайловым!

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

🔗 Ссылка на стрим → https://www.youtube.com/watch?v=2jDFud5hRHM

Рекомендуем посмотреть - вам точно понравится! 🔥
👍12🔥72
Обновленный Симулятор «Аналитик данных» + новый поток 🔥

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

Обновленные тарифы на Симулятор «Аналитик данных»

Например, мы полностью пересмотрели тарифы нашего Симулятора «Аналитик данных»!

Теперь обучение в Симуляторе стало еще более эффективным и привлекательным. Например, добавились ежемесячные живые мастер-классы для студентов 🙂

Теперь Симулятор стартует потоками!

Кроме того, мы приняли решение, что набор в Симулятор будет происходить потоками! Это позволит нам более сфокусировано работать над продуктом в течение месяца и делать наше обучение еще более качественным.

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

Старт ближайшего потока - в конце января

Ближайший поток стартует уже в конце января! Причем сразу со всеми плюшками обновленных тарифов 🔥

Если вы планировали стать крутым аналитиком, то начало года - отличное время для старта!

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

🔗 Просто заполните форму предзаписи и мы с вами свяжемся → ссылка

До встречи в Симуляторе!
🔥7👍41
ТОП-6 анализов, которые должен уметь делать каждый аналитик: ЧАСТЬ 1 🔥

На всех курсах по аналитике данных очень много внимания уделяется инструментам - SQL, Python, Pandas и так далее.

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

Поэтому сегодня мы собрали ТОП-6 анализов, которые должен знать абсолютно каждый аналитик, ведь именно они помогают принимать data-driven решения в огромном количестве бизнесов.

RFM-анализ

RFM-анализ - это анализ клиентской базы по давности покупок (recency), частоте (frequency) и сумме покупок (monetary). Он позволяет разбить всю базу клиентов на 27 сегментов и работать с каждым сегментом отдельно, в соответствии с особенностями поведения.

Например, группа 311 (покупал давно, но часто и на большую сумму) - так называемый «потерянный фанат»: человек был лояльным клиентом, но уже давно не приходил. Его нужно реактивировать, проявить о нем заботу, сделать для него какое-то персональное предложение, чтобы он снова стал лояльным.

ABC-анализ

ABC-анализ позволяет разбить товары на группы A, B и C в зависимости от того, какой товар больше продается, у кого больше маржинальность и так далее. Мы рекомендуем всегда проводить многомерный ABC-анализ сразу по 3 признакам - выручка, кол-во проданных штук, маржинальность. На основании этого анализа принимаются решения о ценообразовании, выводе товара из ассортимента и проведении акций.

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

XYZ-анализ

XYZ-анализ помогает оценить регулярность спроса - насколько товар покупают равномерно во времени или спрос на товар скачет. Этот анализ часто проводят одновременно с ABC - тогда решения получаются более взвешенные.

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

Заключение

Напоминаем, что у нас открыта предзапись на январский поток Симулятора «Аналитик данных».

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

🔗 Просто заполните форму предзаписи и мы с вами свяжемся → ссылка
👍17🔥71
ТОП-6 анализов, которые должен уметь делать каждый аналитик: ЧАСТЬ 2 🔥

Вчера мы рассказали вам про первую тройку важнейших анализов: RFM, ABC и XYZ. А сегодня расскажем про другие 3 метода, которые входят в ТОП-6 анализов, которые должен уметь делать каждый аналитик

Когортный анализ LTV

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

- А сколько денег за все время принесли нам лиды, которые оставили у нас заявку в феврале 2023 года?
- А сколько денег за первые полгода принесли нам лиды, которые оставили заявку в марте 2023 года?
- А какая группа людей принесла нам больше денег за полгода - которые оставили заявку в феврале 2023 или январе 2023?

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

Когортный анализ retention

Снова речь про когортный анализ, но в этот раз метрики retention - удержания пользователей. Этот анализ позволяет понять, насколько долго клиенты используют ваш продукт и когда они отваливаются. Примеры вопросов, на которые можно найти ответ:

- Через сколько времени пользователи полностью перестают пользоваться продуктом?
- Сколько людей пользуется продуктом только в первый день?
- Кто пользуется продуктом дольше - пользователи, которые зарегистрировались в марте 2023 или в июне 2023?

Этот анализ позволяет принимать решения о продуктовых изменениях - добавлении новых фич в продукт, изменении механик вовлечения и так далее.

Анализ эффективности маркетинга

Абсолютно каждый аналитик должен уметь строить и анализировать маркетинговую модель. CPC, CPL, CAC, CR-Q, CR1, CR2, CPQL и так далее - эти метрики должны быть хорошо знакомы. Более того, их не просто нужно знать, нужно их глубоко понимать.

Например, грамотный аналитик понимает, что низкий CPL не всегда гарантирует низкий CAC. Или что стоимость клиента можно снизить не только снижением стоимости лида, но и повышением конверсии в квалифицированного лида, например.

Заключение

Напоминаем, что у нас открыта предзапись на январский поток Симулятора «Аналитик данных».

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

🔗 Просто заполните форму предзаписи и мы с вами свяжемся → ссылка
🔥11👍31
Хитрый вопрос с собеседования в OZON на аналитика 🔥

На днях студент нашего Симулятора собеседования аналитика, Дима, проходил собеседование на позицию junior-аналитика в один из отделов OZON. После собеседования он поделился с нами вопросами, которые ему задавали - один нам понравился особенно, поэтому хотим сегодня поделиться им с вами.

Вопрос

Продавцы на OZON часто производят переоценку всех своих товаров вверх, чтобы поднять средний чек. Верно ли, что при поднятии цены абсолютно на все товары, средний чек продавца вырастет?

Примечание: Клиентов меньше не станет, к конкурентам никто не уходит, общий объем проданных штук товара такой же.

Разбор

Этот вопрос под разными соусами частенько встречается на собеседованиях. Он проверяет, насколько кандидат умеет делать не поверхностные выводы, а более глубокие (что и требуется от аналитика).

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

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

Пример: До переоценки все покупали iPhone 15 за 150 000. После переоценки он стал стоить 200 000. Это слишком дорого для людей и они стали покупать iPhone 14, который после переоценки стал стоить 115 000. Итого средний чек упал.

Заключение

Хитрый вопрос, согласитесь? А вы правильно на его ответили? Вот Дима ответил правильно и уже получил оффер от OZON 🥳

Хотите легко и без стресса проходить даже самые сложные технические собеседования? Записывайтесь к нам в Симулятор собеседования аналитика → ссылка
👍32🔥7😁21
Лайфхак: Как переставить столбец Pandas в середину датафрейма? 🔥

На прошлой неделе в рамках нашего бесплатного курса по Pandas мы проводили закрытый мастер-класс, где показали интересный прием по перестановке столбцов, который очень зашел ребятам. А сегодня делимся с вами!

Представьте, что у вас есть датафрейм df и вы создали новый столбец:

df['new_col'] = …


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

Классический вариант - поменять порядок названий столбцов местами и переиндексировать исходный датафрейм. Например:

col_names = ['col1', 'col2', 'new_col', 'col3', 'col4', …]

df = df[col_names]


Однако, если столбцов много, то делать это крайне неудобно. Поэтому мы предложили ребятам интересный вариант: одновременно переместить столбец и удалить лишний с помощью комбинации insert + pop.

Код выглядит так:

df.insert(
2,
'Новый столбец',
df.pop('new_col')
)


Если после этого посмотреть на переменную df, то столбец 'new_col' переедет на 3 место и поменяет название на 'Новый столбец'.

Эта конструкция работает очень просто:

1. Метод pop удаляет столбец 'new_col' из исходного датафрейма и записывает его в память
2. Метод insert вставляет на 2 позицию (т.к. индексация с 0 - получается, на 3 место) столбец из памяти и дает ему имя 'Новый столбец'

Очень изящная и полезная конструкция - согласны? 🙂

Заключение

Напоминаем, что у нас открыта предзапись на январский поток Симулятора «Аналитик данных».

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

🔗 Просто заполните форму предзаписи и мы с вами свяжемся → ссылка
👍274
Приглашаем на 3 поток бесплатного курса по Pandas 🔥

Вчера мы поделились с вами лайфхаком, который рассказывали на мастер-классе в рамках 2 потока нашего бесплатного курса по Pandas. А сегодня мы стартуем набор на 3 поток!

🔗 Записаться на поток: ссылка

На бесплатном курсе по Pandas вас ждет:

- Подробные видео лекции по Pandas
- Практические задания и бизнес-кейсы (ABC/XYZ-анализ, автоматизация финансовой отчетности и т.д.)
- Закрытый мастер-класс
- Общение в чате со студентами и преподавателями

В общем, будет круто! Новых потоков в ближайшее время не будет, поэтому записывайтесь по ссылке - давайте проведем время с пользой! 🙂

🔗 Записаться на поток: ссылка
3👍3🔥2
Туториал: Как сделать сводную таблицу в Pandas 🔥

На закрытом мастер-классе в рамках 2 потока нашего бесплатного курса по Pandas мы затронули интересную тему - как сделать сводную таблицу с помощью Pandas.

И это очень актуальная задача, если вы работаете с данными и табличками - не зря во время трансляции зрители закидали нас вопросами и огонечками 🔥

Поэтому сегодня мы выкладываем целый видео-туториал с пошаговым объяснением: как сделать сводную таблицу в Pandas с помощью функции pivot_table!

🔗 Ссылка на туториал: ссылка

Кстати, сегодня последний день записи на 3 поток нашего бесплатного курса на Pandas. Следующий поток пока не планируем, поэтому обязательно записывайтесь!

🔗 Записаться на бесплатный курс по Pandas: ссылка
🔥84
ТОП-3 лайфхака, чтобы кратно повысить эффективность обучения 🔥

У вас есть курс, который вы начали, но так и не закончили? Или может вы прошли уже 5 курсов, но все не устроитесь аналитиком? Или вот-вот планируете начать, но все никак (уже 3 года примерно)?

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

Эту тему мы недавно обсуждали в закрытом чате со студентами Симулятора «Аналитик данных» - они делились своими мыслями, переживаниями и лайфхаками. Из этой переписки собрали для вас подборку из ТОП-3 рабочих способов повышения эффективности обучения.

Способ 1: Перемешивание модулей

Многие проходят курсы последовательно - сначала учат Python, потом SQL, потом A/B тесты, а тут уже и Python забылся… И так по кругу. А сразу несколько наших ребят поделилось лайфхаком:

Мы проходим несколько модулей параллельно. Например, изучаем продуктовые метрики, параллельно решаем задачки по SQL на расчет этих метрик и их же визуализируем в Power BI. За счет этого и не выгораешь - каждый раз что-то новое, и постоянно практикуешь все темы сразу, и картинка более комплексная.

Это крутой и неочевидный способ, обязательно попробуйте!

Способ 2: Миксуйте источники знания

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

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

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

Способ 3: Поддерживайте мотивацию

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

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

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

Вообще это правда помогает, что вы пишете :) Отличная идея ввести в курс помощь в мотивации! Дело даже не в том, что своей не хватает, а в том, что приятно поделиться своей ситуацией)

Заключение

Попробуйте применить эти 3 лайфхака на практике и ваше обучение точно станет сильно эффективней, а результат (например, трудоустройство аналитиком) - сильно ближе 🙂

Хотите стать крутым аналитиком? Записывайтесь на новый поток Симулятора «Аналитик данных», чтобы освоить аналитику с нуля на реальных бизнес-кейсах ссылка🚀
🔥175👍5
Реальный кейс: улучшение продукта на основании аналитики 🔥

Как вы знаете, мы не просто обучаем людей аналитике - мы «сапожники с сапогами» и сами на ней повернуты 🤪 Любые решения мы принимаем, обложившись табличками, дашбордами, UX/AB-тестами и исследованиями.

Одно из таких исследований мы провели в декабре - опросили 100+ наших студентов, чтобы улучшить наш Симулятор собеседования аналитика. И некоторыми пунктами исследования хотим поделиться с вами, чтобы продемонстрировать продуктовый подход в деле.

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

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

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

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

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

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

34% написали, что хочется еще больше обратной связи

Это подтолкнуло к большому количеству небольших изменений - переупаковка тарифов, изменение ценовой политики, более оптимальное распределение опций по тарифам и так далее.

Заключение

В общем, очень важно принимать решение не на основании «чувств» и «хотелок», а с опорой на цифры.

Ну а мы приглашаем вас в обновленный Симулятор собеседования аналитика! Чтобы затащить любой технический собес и найти работу аналитиком максимально быстро и без стресса - записывайтесь в Симулятор → ссылка
🔥113👍3
5 лайфхаков, как увеличить конверсию резюме с 3% до 43% 🔥

Недавно в нашем телеграм-канале мы разбирали вопрос с собеседования на позицию аналитика в OZON нашего студента Симулятора собеседования аналитика, Димы. Пост собрал много положительных реакций, поэтому сегодня мы решили продолжить рубрику и рассказать про 5 фишек, которые внедрила другая наша студентка Марина из Томска и увеличила конверсию в отклик с 3% до 43%! 🔥

Точка А: Бухгалтер, 5 лет опыта, 4 года в декрете. Хочет поменять профессию, т.к. скучно работать бухгалтером, хочется удаленку + в регионе мало платят.

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

Была проведена большая работа, но вот несколько фишек, которые круто забустили эффективность откликов:

1. Правильная очередность блоков в резюме. Т.к. коммерческого опыта нет, сначала круто расписали навыки/инструменты/анализы, затем примеры учебных (но максимально близких к бизнесу) проектов с ссылками на портфолио (код + бизнес-выводы + графики), затем информация об учебе, а потом описание про себя.

2. Вы должны гореть аналитикой (или показать это рекрутеру хотя бы). В описании про себя добавили социальных доказательств, что она горит аналитикой - ссылки на блоги по аналитике, которые она читает, ее статьи на Хабре, авторский телеграм-канал, участие в соревнованиях.

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

4. Все достижения в совершенном виде. В описании проектов никаких "делал", "участвовал", "писал" и "разрабатывал". Все четко и по делу - "провел анализ", "проанализировал и выявил", "увеличил конверсию на Х%", "предложил акцию для повышения среднего чека (ожидаемое - Y%)" и т.д. Даже с учебным опытом это работает.

5. Внедрили персонализированные сопроводительные письма. Под каждую вакансию cover letter корректировалось с учетом потребностей работодателя. Само письмо делалось по формуле «Что вы получите от работы со мной → Почему мне интересно с вами работать → Почему вы должны взять именно меня».

Точка Б: После прохождения Симулятора из 30 откликов было 13 приглашений на собеседование, из них 4 оффера, а в итоге - трудоустройство с лучшими условиями.

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

Хотите тоже устроиться аналитиком данных, не испытывая стресс от миллиона собеседований? Приходите к нам в Симулятор собеседования аналитика → ссылка 🔥
🔥112👍2
Ошибка при работе с GROUP BY и HAVING в SQL 🔥

Буквально на днях в чате студентов Симулятора «Аналитик данных» обсуждали интересную тему: почему следующий запрос выводит ошибку:

select company_id, count(*) as cnt
from users
group by company_id
having cnt > 10


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

Дело в том, что фильтрация HAVING выполняется системой еще до того, как произойдет присвоение алиаса cnt. Поэтому на момент выполнения команды HAVING, система еще понятия не имеет - что это за столбец cnt такой. И выдает ошибку:
ERROR: column "cnt" does not exist

Поэтому правильно будет переписать этот запрос так:

select company_id, count(*) as cnt
from users
group by company_id
having count(*) > 10

Вообще говоря, алиасы столбцов можно использовать только в ORDER BY, в других случаях можно нарваться на ошибку. Хотя есть исключения - например, мы обучаем студентов на СУБД PostgreSQL, а в ней можно использовать алиасы также и в GROUP BY.

Но студенты из чата, которые уже устроились аналитиками и работают с другими СУБД (например, MySQL или MS SQL Server) совершенно справедливо отметили, что в них использовать алиасы с GROUP BY нельзя - тоже выдаст ошибку.

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

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


Заключение


Хотите и вы стать крутым аналитиком, которого ищут работодатели? Приходите к нам на экскурсию в Симулятор - расскажем как 👉🏻 ссылка
👍17🔥32
Пошаговый алгоритм проведения RFM-анализа + файл с примером 🔥

RFM - это метод анализа клиентской базы, когда мы изучаем всех клиентов в разрезе 3 параметров: давность покупок (R - recency), частота покупок (F - frequency) и сумма покупок (M - monetary).

Если вы хотите подробнее ознакомиться с основами этого анализа, то вот 2 наших поста на эту тему: Что такое RFM-анализ и RFM-анализ в SQL.

Мы очень любим этот анализ и всегда даем его своим студентам как одну из работ для портфолио. RFM актуален почти для любого бизнеса, поэтому любой рекрутер, увидев RFM в вашем портфолио, скажет: «О, круто, мы тоже такое делаем - классно, что кандидат это уже умеет!».

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

Шаг 1: Исследовательский анализ и формирование пороговых значений

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

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

Шаг 2: Проведение RFM-анализа

Результатом этого шага должен стать SQL-запрос или Python-скрипт, который будет производить сегментацию клиентской базы на 27 сегментов, вне зависимости от входных данных.

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

Шаг 3: Написание выводов

Очень часто люди останавливаются на этапе получения 27 сегментов RFM. Получили и хорошо.

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

- Группа (311) - покупали давно, но часто и на большие суммы. Это «потерянные фанаты» - они были лояльными, но перестали ходить. Их нужно реактивировать с помощью заботы и снова сделать лояльными клиентами. Например, отправить им рассылку вида «Иван Иванович, вы часто покупали у нас витаминки Х, но уже давно не были - кажется, они у вас закончились. Мы для вас заказали новые - вам остается только прийти и забрать».

- Группа (111) - VIP-клиенты. У них и так все хорошо, но нужно сделать их вашими амбассадорами. Сделайте для них что-то очень крутое, чтобы они всем рассказывали и пиарили ваш продукт. Например, именную VIP-карту с их портретом 😁


Заключение


Если сделать RFM-анализ по этому шаблону, получится большая, качественная и полезная для любого бизнеса работа. Именно поэтому у нас в Симуляторе «Аналитик данных» RFM-анализ является одним из итоговых проектов в модуле по SQL.

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

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

Кстати, уже на днях стартует новый поток нашего Симулятора «Аналитик данных»! Если вы тоже хотите обучиться аналитике на реальных бизнес-кейсах и начать карьеру в интересной отрасли уже в 2024, то обязательно запишитесь на поток 👉🏻 ссылка
👍107🔥4
Воркшоп: RFM-анализ клиентской базы с помощью Pandas в Python 🔥

В этот четверг, Андрон Алексанян, CEO IT Resume & Simulative, проведет бесплатный воркшоп для аналитиков на тему: «RFM-анализ клиентской базы с помощью Pandas в Python»!

📅 Дата: 25 января
🕘 Время: 19:00 по Мск

Что будем делать на воркшопе:

Проанализируем реальную клиентскую базу аптечной сети
Проведем EDA с помощью Pandas
Напишем скрипт для проведения RFM-анализа
Сформулируем конкретные бизнес-выводы и предложения на основании проведенного анализа
Изучим несколько классных фишек Pandas

Воркшоп подойдет всем — от новичков до тех, кто уже знаком с Python. В прямом эфире мы также расскажем о частых ошибках и поделимся рабочими лайфхаками 💪🏻

❗️ Записи воркшопа не будет. Только один раз и только в live-формате.

А вы готовы прокачать свои знания и скиллы в аналитике?

👉🏻 Зарегистрироваться на воркшоп здесь: ссылка
👍93🔥2
Напоминаем про воркшоп 🔥

Напоминаем, что сегодня в 19:00 пройдет воркшоп на тему: “RFM-анализ клиентской базы с помощью Pandas в Python”!

На воркшопе мы вместе:

◾️ Проанализируем реальную клиентскую базу аптечной сети
◾️ Проведем EDA с помощью Pandas
◾️ Напишем скрипт для проведения RFM-анализа
◾️ Сформулируем конкретные бизнес-выводы и предложения на основании проведенного анализа
◾️ Изучим несколько классных фишек Pandas

Вас ждет только крутой контент и ничего больше, поэтому скорее нажимайте кнопку, чтобы записаться 👇🏻

🔗 Зарегистрироваться на воркшоп здесь: ссылка
👍3🔥21
Почему расчет среднего в SQL приводит к ошибке? 🔥

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

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

Конкретный пример

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

Напишем код:

with a as (
select 1 as sales
union all
select 2
union all
select null
union all
select 3
)
select avg(sales), sum(sales) * 1.00 / count(*)
from a


Результат: 2, 1.5

Мы посчитали среднее значение 2 разными способами и получили разный результат - использование AVG дало нам 2, а расчет среднего по формуле «сумма / количество» дало нам 1.5.

Почему так?

Дело в том, что AVG игнорирует значения NULL при расчетах, а COUNT(*) учитывает все строки. А в некоторых задачах эти значения для нас очень важны - например, для расчета среднего количества покупок, как в нашем случае.

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

Как бороться с этой ошибкой

Мы советуем 2 способа:

- При расчете среднего всегда перепроверяйте себя двумя вариантами
- Если в столбце могут быть значения NULL - используйте COALESCE и меняйте NULL на 0

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

Заключение

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

Хотите освоить другие фишки и стать крутым аналитиком данных? Приходите к нам на экскурсию в Симулятор - расскажем как 👉🏻 ссылка
🔥46👍72
3 варианта ранжирования в Pandas - какой правильный? 🔥

Pandas - один из основных инструментов аналитика: с его помощью можно решить огромное количество аналитических задач + он сильно помогает в оптимизации рутинной работы. А еще его большое преимущество - его вполне реально выучить всего за 2 недели.

Однако в Pandas есть много тонких моментов, хотим поделиться как раз одним из них.

Ниже мы будем описывать свои действия, а под постом прикрепим карточки с таблицей.

Рассмотрим пример

Допустим, у вас есть датафрейм Pandas с информацией о менеджерах и их продажах. Ваша задача - отранжировать продажи в рамках каждого менеджера от минимальной до максимальной.

Код для создания датафрейма:

import pandas as pd

df = pd.DataFrame({
'manager': [1, 1, 2, 2, 2, 3, 4, 4, 4, 4, 4],
'sales': [100, 200, 300, 200, 100, 500, 700,
700, 700, 600, 800]
})


Сделаем это тремя способами и посмотрим на разницу:

▪️rank
▪️rank + dense
▪️cumcount


Способ 1: rank


df['rank1'] = (
df
.groupby('manager')['sales']
.rank()
)


Самый простой способ - сделать это с помощью метода rank. И кажется, что все нормально - но посмотрите на продажи 4 менеджера. Всем записям со значением 700 почему-то присвоен ранг 3.

Это связано с тем, что по умолчанию rank ставит средний ранг в группе - в данном случае среднее значение между (2, 3, 4).

Что еще интересно - после 3 сразу идет 5, то есть ни 2, ни 4 у нас в этом наборе нет.

Способ 2: rank + dense

df['rank2'] = (
df
.groupby('manager')['sales']
.rank(method='dense')
)


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

Давайте снова посмотрим на 4 менеджера - теперь у него все значения 700 имеют ранг 2, а после него логично идет ранг 3. Это уже сильно лучше!

Способ 3: cumcount

df['rank3'] = (
df
.sort_values(['manager', 'sales'])
.groupby('manager')['sales']
.cumcount() + 1
)


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

По сути, мы получаем аналог функции ROW_NUMBER в SQL, что также полезно в некоторых ситуациях.

Заключение

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

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

Например, за написание скрипта, который автоматизирует обработку эксельки вполне могут дать более 10 000 рублей, а займет это у вас 2 часа времени. Даже выполняя 1 заказ в день, сидя дома, вы можете делать от 150 000 рублей в месяц без напряга. Хорошая прибавка к зарплате 😁 Если интересно - примеры нескольких классных проектов скинем в комментарии.

Кстати, мы всегда агитируем своих студентов в Симуляторе «Аналитик данных» начинать трудоустройство еще во время обучения - это правильный подход.

Хотите тоже стать востребованным аналитиком и начать монетизировать свои знания через несколько месяцев? Приходите к нам на экскурсию в Симулятор - расскажем как 👉🏻 ссылка
🔥19👍6