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

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

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

Уже завтра, 26 декабря в 19:00 по Мск, состоится интенсив, где мы вместе будем разбирать настоящее тестовое задание в СБЕР на junior-аналитика данных!

На интенсиве мы вместе с Андроном будем:

◾️ Решать задания с помощью SQL

◾️ Писать хитрые запросы на SCD, pivot table и другие

◾️ Подробно разбирать каждый шаг

◾️ Считать retention банка и проводить сегментацию

◾️ Проводить аналитику и составлять бизнес-выводы

❗️ Всех участников ждут: насыщенная лекция, много практики и лайфхаки по работе с кодом.

❗️ Записи интенсива не будет. Обязательно приходите на эфир!

👉🏻 Регистрируйтесь по ссылке → ссылка
🔥8👍21
Ошибка целочисленного деления в SQL 🔥

Проверяя работы наших студентов в Симуляторе, мы раз за разом сталкиваемся с одними и теми же ошибками. И сейчас мы расскажем вам об одной из таких ошибок при написании SQL-запросов в PostgreSQL.

Описание проблемы

Мы привыкли, что в математике можно просто разделить одно число на другое и получить результат, даже если нацело числа не делятся - получится десятичная дробь. Однако SQL не всегда работает так, как мы ожидаем…

Например, в PostgreSQL, если вы делите два целых числа, результат будет целым числом, без дробной части:

SELECT a/b FROM demo
# если a и b целые, получаем столбец целых чисел

SELECT 1 / 2
# такое деление вернет 0


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

Примечание: В большинстве других СУБД, таких как MySQL, подобные запросы вернут десятичные дроби, как и ожидается.

Решение проблемы

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

SELECT a::NUMERIC/b FROM demo
SELECT a*1.0/b FROM demo
SELECT CAST(1 AS FLOAT)/2 FROM demo


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

Заключение

Если вы хотите узнать еще больше классных фишек про SQL на реальных примерах - обязательно приходите сегодня в 19:00 по Мск на наш вебинар «Разбор тестового задания в СБЕР на junior-аналитика»! Будем писать SQL-запросы, решать задачи и проводить аналитику.

Записывайтесь по ссылке 👉🏻 ссылка
👍10🔥51
Поиск аномалий с помощью SQL-запроса 🔥

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

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

Переходите по ссылке, чтобы прочитать туториал 👉🏻 ссылка
👍161🔥1
Использование else в циклах for в Python 🔥

Недавно мы проводили небольшой опрос и выяснили, что 68% опрошенных не знают, что в цикле FOR можно использовать конструкцию ELSE. Поэтому сегодня мы решили вам про это рассказать!

Как это работает

Все привыкли использовать ELSE с условием IF. Однако в Python блок ELSE можно использовать и с циклами FORWHILE тоже, кстати).

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

Примеры

Приведем простой пример, где ELSE не сработает, потому что цикл был прерван оператором BREAK.

for i in range(3):
break
else:
print("No else!")


А вот еще один, но здесь уже ELSE сработает, потому что цикл завершился сам:

for i in range(3):
print(i)
else:
print("Yes else!")


Как применить на практике

Мы привели несколько понятных, но синтетических примеров. Однако вы можете применить это на практике. Например:

>>> Напишите функцию, которая принимает на вход массив с ID пользователей и начинает их перебирать в цикле. Если вдруг мы встретили один из заранее заданных ID, мы прерываем цикл с помощью BREAK и начинаем как-то работать с этим ID. В противном случае мы должны сгененировать новый ID - это условие как раз будет в блоке ELSE.

#python
👍13🔥52
Что на новый год загадывают аналитики? 🎁

Друзья, мы всей нашей командой IT Resume & Simulative поздравляем вас с Новым 2024 годом! Спасибо, что были с нами все это время - читали наши посты, смотрели наши вебинары, проходили наши платные и бесплатные программы, решали задачки и оставляли классный фидбек. Мы вас любим - вы у нас лучшие ❤️

Мы спросили у аналитиков, какие письма они писали Деду Морозу в этом году. Вот, что получилось:

Пусть в моей жизни будет поменьше ошибок из-за кривых отступов в Python

Надоело работать в этой душной конторе, поскорей бы в Ozon аналитиком!...

Пусть все мои JOIN-ы в SQL-запросах будут правильными с первого раза

Пусть lifetime будет не интегралом от retention, а чем-то попроще

Пусть CAC наконец-то будет в 3 раза меньше, чем LTV

Пусть на следующем собеседовании я сразу получу оффер!

Хочу закончить курс и стать «паровозиком который смог» аналитиком


Это, конечно, не все, что они просили - но наверняка вы нашли здесь что-то и про себя 😁 Желаем вам, чтобы все эти пункты, а еще все, что вы загадаете дополнительно, сбудется в 2024. А мы вам в этом поможем! 😌

Всегда ваша, команда IT Resume & Simulative
17🔥6👍3🎉1
Ошибка в SQL: WHERE vs HAVING 🔥

Часто встречается ошибка — оператор HAVING используется вместо WHERE в запросах с агрегацией. И это неверно! Давайте разберемся, в чем же разница.

В чем разница

- WHERE выполняет фильтрацию строк в исходном наборе данных, отсеивая неподходящие записи до группировки
- GROUP BY формирует группы на основе значений в столбце
- HAVING применяется к уже сгруппированному набору данных и фильтрует их на основе агрегированных данных, т.е. после группировки

Пример

Давайте рассмотрим типовой пример:

SELECT date, COUNT(*)
FROM transactions t
WHERE date >= '2019-01-01'
GROUP BY date
HAVING COUNT(*) = 2


Здесь мы сначала отфильтровываем строки, оставляя только те, в которых дата больше или равна 2019-01-01. Затем формируем группы по дате (из тех, которые остались) и оставляем только те, в которых ровно две записи.

Некоторые, не понимая этой разницы, пишут так:

SELECT date, COUNT(*)
FROM transactions t
GROUP BY date
HAVING COUNT(*) = 2 AND date >= '2019-01-01'


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

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

Важное дополнение

Более того, в данном примере мы в HAVING указывали те же столбцы, что используются в группировке (date). А если мы укажем столбец, который не используется в GROUP BY или внутри агрегатной функции, то мы просто получим ошибку - запрос не отработает.

Пример:

SELECT date, COUNT(*)
FROM transactions t
GROUP BY date
HAVING COUNT(*) = 2  AND type_id >= 5


#sql
👍30
В декабре мы обновили формат бесплатного курса по Pandas, и уже успешно провели первый поток! Мы получили много положительной обратной связи от наших студентов, и сейчас вовсю идет запись на второй поток курса.

Ранее мы сделали об этом анонс, но если вы еще не успели или забыли записаться на грядущее обучение, то сегодня последний шанс это сделать  💪

Ведь второй поток стартует завтра, 4 января!

Что нового в курсе:

◾️ Теперь есть чат преподавателей и студентов, где можно задать любой вопрос по материалам

◾️ Добавили новые практические задания

◾️ В программе бесплатного курса будет проходить живой закрытый мастер-класс с разбором бизнес-задачи на Pandas в формате группового созвона

Еще раз – обучение начинается завтра, 4 января. Даты под третий поток пока не определены. Поэтому не откладывайте обучение в долгий ящик - скорее записывайтесь на обучение пока есть места 👇

🔗 Записаться на курс - ссылка

Если вы уже проходили курс или записывались на него - не беда, приходите еще раз, вы найдете для себя массу полезного!

А еще есть возможность вписаться в курс в VIP-тарифе, чтобы получить максимум эффективности (но бесплатное участие тоже супер классное 😁).

🔗 Записаться на курс - ссылка
👍5🔥5
3 крутых лайфхака в Pandas 🔥

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

Игнорирование предупреждений

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

import warnings
warnings.simplefilter(action='ignore', category=Warning)


Задаем количество столбцов

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

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

pd.set_option('display.max_columns', 500)


Биннинг данных

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

Обычно все это делают с помощью apply или сложных циклов. Но все намного проще - с помощью cut вы легко можете сделать такой биннинг, например:

df['age_group'] = pd.cut(
df['age'],
bins=[0, 18, 35, 50, 100],
labels=['<18', '18-35', '35-50', '50+']
)


Заключение

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

Старт потока уже сегодня 👉🏻 записаться на бесплатный курс
🔥11👍85
Персональный топ нестандартных книг от нашего 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