Мир аналитика данных @analysts_world Channel on Telegram

Мир аналитика данных

@analysts_world


Пишу о рабочих буднях и о том как я сменила профессию.
Можно отблагодарить данатами за контент boosty.to/analysts_world

Автор канала: @Valeria_Shuvaeva

Мир аналитика данных (Russian)

Добро пожаловать в канал "Мир аналитика данных"! Здесь мы подробно рассматриваем различные аспекты работы с данными, делимся интересными фактами и информацией о последних тенденциях в этой области. Если вы увлечены аналитикой данных или хотите узнать больше о этой профессии, то наш канал - именно то, что вам нужно!

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

Если вам нравится контент, который мы создаем, вы всегда можете отблагодарить нас донатами на boosty.to/analysts_world. Ваши пожертвования помогут нам создавать еще более полезный и интересный контент для вас и других аналитиков данных.

Присоединяйтесь к нам в канале "Мир аналитика данных" и окунитесь в увлекательный мир цифровой аналитики! Будем рады видеть вас среди наших подписчиков!

Мир аналитика данных

02 Dec, 10:16


Как аналитики создают крутые решения?

🔥Узнайте об этом на онлайн-митапе от Авито!

5 декабря в 18:00 спикеры из Авито и Т-Банка расскажут про:

➡️ особенности внедрения RFM-сегментации клиентов
➡️ эффективное управление при запуске Discovery-процессов
➡️ использование ML Autotasking для автоматизации задач

Подробности и регистрация ➡️ по ссылке.

Мир аналитика данных

01 Dec, 16:09


Наверно многие знают Пашу Бухтика Head of Product Analytics. Так вот у него завтра начинается курс по AБ и я выбила для вас 5% скидку. Нужно только сказать «я от Валерии / мира аналитики данных».


🎉 Курс по АБ – старт уже 2 декабря!

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

👉 Тогда этот курс для тебя!

Паша Бухтик собрал все это:
✔️ Систему подходов, методов и инструментов для АБ,
✔️ Глубокое понимание и практику ключевых навыков,
✔️ Лучшие примеры из своей реальной практики за 7 лет.

Это не просто обучение. Это:
🔸 12 онлайн-занятий в Zoom – максимум структуры и ответов на все вопросы;
🔸 12 практических занятий в малых группах – кейсы, задачи, прикладной опыт;
🔸 12 комплектов доп. материалов – чеклисты, статьи, книги;
🔸 Индивидуальные домашки и обратная связь;
🔸 Активное комьюнити единомышленников!

🚀 Зачем тебе это? Чтобы выйти на новый уровень:
- Наконец увидеть большую картину.
- Разобраться, как всё работает в реальных рабочих задачах.
- Получить ответы на свои вопросы и перестать «спотыкаться».

🤝 Успей присоединиться! На второй поток.

🔗 Заявку оставляй на сайте: nodatanogrowth.com/product-analyst-ab-testing

Войди в 2024 с навыком, который сделает тебя экспертом. 💪

Мир аналитика данных

29 Nov, 10:46


🔍 Как посчитать суммы покупок клиентов без оконных функций в SQL? Простое решение на Python! 🐍

Поступила мне тут задачка посчитать сумму покупок для каждого пользователя на определенном этапе его покупок: например, для 1-й, 2-й или 3-й покупки. В идеале это можно решить с помощью оконных функций в SQL. Но что делать, если они не доступны? 🤔

Я сделала, как обычно, с помощью Python и библиотеки pandas! Давайте разберемся, как это сделать шаг за шагом.

Итак, у нас есть таблица df с такими данными:
data = {
#дата покупки
'created_at': ['2024-10-25', '2024-10-30', '2024-10-30', '2024-11-03', '2024-11-04', '2024-11-05'],
#идентификатор пользователя
'user_id': [1, 1, 2, 2, 2, 1],
#номер сделки
'deal_id': [101, 102, 103, 104, 105, 106],
#сумма покупки
'amount': [200, 300, 150, 250, 100, 200]
}
df = pd.DataFrame(data)
df['created_at'] = pd.to_datetime(df['created_at'])

Мы добавляем столбец month, который извлекает месяц из даты покупки (created_at), так как мне нужна была именно по месяцам разбивка.
df['month'] = df['created_at'].dt.to_period('M')


Оказывается есть метод cumcount(), чтобы рассчитать порядок покупок для каждого пользователя. 📊
df['rank'] = df.groupby('user_id').cumcount() + 1


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

И уже можно легко фильтровать их по порядку (первая, вторая, третья) и посчитать суммы для каждого из этих этапов.
# Сумма первых покупок
first_deals = df[df['rank'] == 1].groupby('month', as_index=False)['amount'].sum()

# Сумма вторых покупок
second_deals = df[df['rank'] == 2].groupby('month', as_index=False)['amount'].sum()

# Сумма третьих покупок
third_deals = df[df['rank'] == 3].groupby('month', as_index=False)['amount'].sum()


📈 Вот так любимый python-чик может все! ❤️🔥🎯

Мир аналитика данных

26 Nov, 10:00


Как начинающему аналитику выбрать работодателя?

Казалось бы, все очевидно: зарплата, карьерные перспективы, удаленка. Но на старте карьеры есть еще один фактор, который упускает каждый второй джун, — это уровень зрелости работы с данными.

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

В компаниях «пониже» процессы могут затянуться настолько, что через год вы по-прежнему окажетесь джуном без знания современных инструментов и соответствующей зарплатой. Вывод: идем за третьим уровнем!

С работодателем определились. Дело за прокачкой «хардов» и «софтов».

Курс «Аналитик PRO» – это реальные проекты:

— Практика на 75% курса, кейсы уровня Тинькофф;
— Работа в тиме и соло с разными инструментами;
— МК от экспертов из Avito, Google, VK, HR-консультации.

В Changellenge >> Education проходит черная пятница со скидками 50% до 30 ноября. При покупке «Аналитик PRO» вы в подарок получите 2 мини-курса и разработку индивидуального плана развития с карьерным консультантом!
Оставьте заявку, чтобы забронировать место со скидкой >>

Реклама. ООО «Высшая школа аналитики и стратегии», ИНН 7716917009, erid: 2VtzqvoEuQs

Мир аналитика данных

15 Nov, 09:42


«Яндекс» опроверг наличие в компании «красных маркеров» при отборе кандидатов (возраст 40+, работа в госструктурах)

💼 На рынке труда часто ценят не только профессиональные навыки, но и соответствие негласным "маркерам" и стереотипам.

12 ноября 2024 года «Яндекс» опроверг в пояснении ситуации для Хабра наличие в компании «красных маркеров» при отборе кандидатов (возраст 40+, с опытом работы в госструктурах, частая смена работодателя и так далее), так как подобные правила противоречат внутренним политикам компании.

😏 Поверили ли мы сразу? Скажем так — рынку проще отсеивать, чем разбираться. И в этом грусть: многих достойных специалистов отсекают по признакам, которые не имеют отношения к их компетентности. Шансы попасть на собеседование часто сводятся к нулю по причинам, которые от кандидата никак не зависят.

⚖️ Конечно, приходится адаптироваться к этой реальности, но у соискателей тоже есть свои "красные маркеры". Один раз, к примеру, я была на собеседовании, где руководитель финансового отдела выглядел до предела уставшим человеком. Тогда я подумала: ну, всякое бывает, может, у компании непростой период. Как выяснилось позже, этот "период" длился уже давно, и в тот год до моего прихода сменился весь финансовый отдел, включая руководителя. Я тоже ушла спустя четыре месяца, так как возвращаться домой за полночь не слишком устраивало мою семью.

Расскажите, а вам попадались "красные флаги" у работодателей или в откликах на резюме?

Мир аналитика данных

12 Nov, 13:24


🖥 Мечтаете о карьере в IT, но не хотите программировать? Хорошая новость: это возможно!

Если стать аналитиком данных — IT-специалистом, который собирает и анализирует данные, чтобы строить прогнозы для бизнеса. Аналитики данных востребованы во многих сферах: IT, маркетинг, ритейл, банкинг и т. д.

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

На курсе вы получите навыки, которые реально нужны работодателям, и овладеете самыми популярными инструментами: Python, Pandas, NumPy, Jupyter Notebook, SQL, Power BI.

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

Мир аналитика данных

12 Nov, 13:24


Вы думаете, что мы программируем? А вот и не особо 😜 Это вам не бэкэнд все таки. В чем-то они правы конечно. В аналитике программирование по лайту.

Мир аналитика данных

07 Nov, 08:58


📊 Как проверить, существует ли датафрейм в Python, прежде чем с ним работать?

Недавно столкнулась на работе с задачей, когда нужно было объединить два датафрейма — df1 и df2. Но тут был нюанс: иногда df1 просто не загружался из-за отсутствия данных. А мне нужно было учесть его, если данные вдруг появятся. Если бы пыталась объединить df1 и df2, когда df1 не существует, то это выдавало бы ошибку. Код и выдавал ошибку, чего уж там. 🤦‍♂️
Вот тут и пригодилась небольшая хитрость с проверкой на существование переменной.

В Python можно использовать функцию locals(), чтобы проверить, была ли создана переменная, прежде чем что-то с ней делать. Например, если я хочу проверить, существует ли df1, то пишу условие:
if 'df1' not in locals():
df1 = pd.DataFrame() # Создаем df1, если он не существует

Итак, накидаем примерчики.

🔹 Вариант 1: locals()
import pandas as pd

df2 = pd.DataFrame({
'status': [1, 2, 3],
'manager_name': ['Иванов', 'Петров', 'Сидоров'] })

# Проверка наличия df1
if 'df1' not in locals() or df1.empty:
df1 = df2.copy() # Если df1 пустой или не существует, присваиваем ему df2
else:
df1 = pd.concat([df1, df2], ignore_index=True) # Объединение строк


🔹 Вариант 2: try-except


Другой способ — использовать try-except, чтобы поймать ошибку NameError, если переменная df1 еще не была создана. Это помогает избежать лишних проверок на пустоту и существование:
try:
if df1.empty:
# Если df1 пустой, присваиваем ему значения df2
df1 = df2.copy()
else:
# Если df1 не пустой, объединяем его с df2
df1 = pd.concat([df1, df2], ignore_index=True)
except NameError:
# Если df1 не был создан, создаем его как копию df2
df1 = df2.copy()

df1

📝 Мне больше с locals() нравится. Кратко и по сути, и не надо дублировать код.

Мир аналитика данных

23 Oct, 09:44


Как начинающему аналитику выбрать работодателя?

Казалось бы, все очевидно: зарплата, карьерные перспективы, удаленка. Но на старте карьеры есть еще один фактор, который упускает каждый второй джун, — это уровень зрелости работы с данными.

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

В такой компании вы быстро вольетесь в работу и познакомитесь со стандартами индустрии. А по мере профессионального роста переходите в менее «зрелые» компании на руководящие позиции и развивайте культуру работы с данными, основываясь на собственном опыте.

В компаниях «пониже» процессы могут затянуться настолько, что через год вы по-прежнему окажетесь джуном без знания современных инструментов и соответствующей зарплатой. Вывод: идем за третьим уровнем!

С работодателем определились. Дело за прокачкой «хардов» и «софтов».

И тут нам поможет курс «Аналитик PRO» онлайн-школы Changellenge >> Education.

Что вас ждет:
- обучение по принципу «от теории к практике», причем практика составляет 75% курса;
- 11 ключевых аналитических навыков от Python до BI-систем и прокачка soft skills на командных проектах;
- эксперты из Яндекса, VK, Сбера и Росатома, с которыми можно общаться и получать ответы на вопросы;
- официальный диплом и упрощенный отбор в компании-партнеры: Kept, ДРТ, Arthur Consulting, SBS Consulting и Ozon.

В Changellenge >> Education стартовала акция в честь Хэллоуина, где вы можете купить курсы с жуткими скидками до 60 000 рублей до 28 октября 23:59.
Оставьте заявку по ссылке на бесплатную консультацию.
С Changellenge >> Education переходить в аналитику не страшно!

Реклама. ООО «Высшая школа аналитики и стратегии». ИНН 7716917009. erid: 2VtzqvuBSFW

Мир аналитика данных

22 Oct, 09:24


🗣«Люди в RPA» — это не просто митап, а площадка для обсуждения актуальных проблем и возможностей в роботизации процессов.

X5 Tech и Газпромбанк.Тех меняют парадигму конференций по роботизации — время отойти от обычного обсуждения преимуществ роботизации перед другими подходами и сосредоточить внимание на тех, кто сегодня задает вектор развития этого направления.

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

🫥 Управление командами роботизации — чем отличается организация RPA-разработки от других продуктовых команд;
🫥 Citizen-разработка — разработка RPA-решений силами линейных сотрудников: коллеги поделятся опытом и успехами такого подхода, обсудят риски и перспективы развития;
🫥 Развитие отечественных платформ роботизации — представители ведущих платформ поделятся своим видением текущей ситуации и расскажут, как они адаптируют свои решения под требования разработчиков;
🫥 Квалификационный стандарт RPA — тимлиды RPA вместе обсудят, какими навыками должен обладать сотрудник в начале пути и к каким вершинам должен стремиться в профессиональном росте.

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

⚡️ Увидимся в офисе Газпромбанк.Тех по адресу: Москва, ул. Коровий Вал, 5, БЦ «Оазис» 28 октября

Сбор участников офлайн с 13:00
Начало трансляции онлайн в 14:00

Зарегистрироваться на митап «Люди в RPA»

Реклама, Банк ГПБ (АО), ИНН: 7744001497, erid: 2Vtzqw9q2bd

Мир аналитика данных

19 Oct, 08:56


Аналитик платформы данных, ты тут? 😎 Специально для тебя запустили бесплатный онлайн-интенсив в Открытых школах Т1! Прокачай скилы и, если повезет, попади в штат Холдинга Т1 — крупнейшей ИТ-компании по выручке в России по версии RAEX и CNews Analytics 2023.

Зачем участвовать?

🔵Бесплатное обучение в гибком формате: по вечерам, онлайн, из любого города РФ
🔵Уникальный рыночный опыт. Проекты Т1 ежегодно побеждают в ИТ-конкурсах: Global CIO, Национальной банковской премии и др. Тебя обучит и поддержит команда профессионалов.
🔵Возможность влиять на развитие ключевых отраслей экономики: в портфеле Т1 800+ высокотехнологичных проектов и 70+ продуктов и услуг на современном техстеке для крупнейших компаний и госсектора.
🔵Карьерный рост и поддержка. Уникальный карьерный фаст-трек для выпускников Открытых школ помогает молодым специалистам прокачаться до уровня мидла в Т1 за 1,5 года.

Успей подать заявку до 25 октября!

Реклама. ООО «Т1» ИНН: 7720484492. Erid: 2SDnjeyHKdu

Мир аналитика данных

19 Oct, 08:56


У меня есть несколько друзей, которые работают в Иннотехе (входит в холдинг Т1). Причем работают удаленно! Так что они обучают, чтобы отобрать себе потом хорошие кадры 😜

Мир аналитика данных

14 Oct, 09:01


Бесплатный вебинар по созданию отчетов в Power BI

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

На вебинаре мы превратим плохой отчет в наглядный и полезный для бизнеса с помощью Power BI — топового инструмента для визуализации данных.

Спикер Мария Гришина, ведущий BI-аналитик в ООО Салаир (РЖД) и автор тг-канала «Power BI Design», расскажет о том, как:

▶️ упростить читабельность дашборда и сократить время на его чтение
▶️ правильно разбить информацию на блоки и выстроить архитектуру UX/UI-отчета
▶️ применять передовые практики дизайна дашбордов

Кому будет полезно?

✔️ Новичкам, которые хотят углубиться в аналитику
✔️ Начинающим аналитикам, которые хотят подсмотреть классные фишки

Встречаемся 15 октября 19:00 (мск). Регистрируйтесь по ссылке

Мир аналитика данных

12 Oct, 17:58


🚀 Друзья, хочу поделиться с вами важной новостью – я создала новый канал, посвященный искусственному интеллекту, нейросетям и технологиям! Это будет канал с последними новостями, собранными из ведущих зарубежных и отечественных источников: www.cnews.ru, www.bbc.com, newatlas.com, www.ibm.com и прочих.

Мне не терпится рассказать вам, как я пришла к этому!

Я просто обожаю всё, что связано с технологиями и нейросетями! 🧠 Я часто читаю новости, отслеживаю самые свежие разработки и подписана на множество тематических каналов. В какой-то момент я подумала: "Почему бы не сделать что-то своё?" 💡 И вот, теперь у меня есть собственный информационный вестник, где я делюсь с вами самым интересным и важным из мира ИИ! Назвала его ИИ Журнал, а симпотяшку робота нарисовала в нейронке.

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

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

ИИ Журнал ждет Вас! Ну и как можно отказать такому милому роботу? 🤪

Мир аналитика данных

11 Oct, 10:56


🚀 Участвуйте в новом исследовании рынка аналитиков от NewHR!

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

📊 Почему это важно?

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

Каких аналитиков охватывает исследование?

➤ Дата-аналитики
➤ BI-аналитики
➤ Продуктовые аналитики
➤ Маркетинговые и веб-аналитики

О чём пойдет речь в опросе?

👉 Как меняются зарплаты и вилки
👉 Какие компании предлагают отличные условия для аналитиков
👉 В каком формате работают аналитики: офис или удалёнка
👉 Чем занимаются аналитики сейчас и к чему стремятся в будущем
👉 Как они ищут работу и выбирают работодателей

📌 Как принять участие? Пройдите опрос, это займёт около 20 минут: ссылка на опрос. Сбор данных идёт весь октябрь.

💡 Почему это важно? Чем больше участников, тем точнее и репрезентативнее результаты! Ваше участие поможет сделать исследование максимально полезным для всех нас.

Я очень рекомендую пройти опрос (сама уже прошла) и поделиться им с коллегами! Окончательные результаты будут опубликованы в начале 2025 года, но участники смогут получать промежуточные данные и приглашения на закрытые обсуждения инсайтов.

Посмотрите какие у них были исследования:
Релокация IT-специалистов
Как изменились зарплаты айтишников за 2023 год
Исследование рынка продуктовых и дата-аналитиков

Мир аналитика данных

10 Oct, 11:50


💡 Как избежать ошибок при SQL-запросах, если в списке только одно значение?

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

Это позволяет SQL-запросу работать корректно в любом случае!
from pandasql import sqldf
import pandas as pd

# Список user_id
users_lst = [987654321]

# Проверка длины списка
if len(users_lst) == 1:
# Добавляем фиктивное значение
users_lst.append(123456789)

# Преобразование списка в кортеж
users_lst = tuple(users_lst)

# Пример базы данных с двумя колонками: user_id и amount
data = {
'user_id': [987654321, 154589364, 234567890, 345678901, 456789012],
'amount': [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)

# SQL-запрос
query = f"""
SELECT user_id, amount
FROM df
WHERE user_id IN {users_lst}
"""

# Вывод результата
sqldf(query)


📊 В этом примере, даже если список users_lst содержит одно значение, мы добавляем фиктивный user_id, чтобы запрос был корректным. Используем библиотеку pandasql для выполнения SQL-запроса на DataFrame.

Мир аналитика данных

08 Oct, 09:01


🚀Быстрее, выше, сильнее - вместе с Greenplum!

👉Начните на бесплатном вебинаре онлайн-курса «Greenplum для разработчиков и архитекторов» - «Оптимизация производительности в аналитической СУБД Greenplum»: https://vk.cc/cC5ALi


На вебинаре вы узнаете о:
- Распределении данных: Как оптимально распределять данные по сегментам.
- Индексах и партиционировании: Их роль в ускорении запросов. Нужны ли они в Greenplum?
- Оптимизации запросов: Эффективные SQL-запросы и планировщик.

В практической части будут рассмотрены инструменты мониторинга, такие как gpperfmon и gpstate.

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Мир аналитика данных

07 Oct, 12:46


💡 Почему в мире быстрых изменений важно учиться терпению?

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

Но вот что важно понять: быстрота не всегда равно качество.

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

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

🎯 Не гонитесь за мгновенными результатами!
То, что вы изучаете сейчас (питон, sql, статистика или еще что-то) может не пригодиться ВОТ ПРЯМ СЕЙЧАС, но очень вероятно, что пригодится через год или два при должном стремлении к вашей цели. Именно терпение и постоянство помогут тебе построить крепкий фундамент. Карьерный рост — это постепенный процесс. Очень важно научиться принимать и ценить каждый маленький шаг.

🌱 Учись терпению. Медленный прогресс — это тоже прогресс.

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

Терпение — это не вовсе не слабость, а сила. Развивай свои навыки, не гонись за мгновенными результатами, и в итоге ты увидишь, как далеко продвинулся.

Мир аналитика данных

07 Oct, 07:29


❗️Устали от несогласованных, дублирующихся, неполных данных?

👉Приходите на бесплатный вебинар онлайн-курса «Архитектор Togaf 10» — «Управление основными данными организации»: https://vk.cc/cC4ZYx


Отсутствие консолидации данных приводит к тому, что организация не имеет полного и точного представления о своих клиентах и процессах. TOGAF помогает в управлении основными данными, в том числе данными клиентов (CMDM) путем создания единого источника данных, разработки архитектуры и стандартов управления, интеграции систем и улучшения качества информации.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Мир аналитика данных

03 Oct, 11:24


Когда ко мне обращаются за помощью, я с удовольствием поддерживаю, если вижу, что блог действительно полезный и может помочь другим 💪👌👍

Мир аналитика данных

03 Oct, 11:16


✋🏻 Привет, меня зовут Дмитрий, я data engineer.

Веду свой блог по инжинирингу данных https://t.me/kuzmin_dmitry91.

Пишу про область, рабочие кейсы, немного лайфстайла. Работаю, учусь, делаю и исправляю ошибки)
Будет интересно больше новичкам в области, но также поддержу разговор с middle+ de.

Буду рад, если в моем канале найдете для себя полезности 💪🏻

Мир аналитика данных

30 Sep, 09:33


🎯LEFT JOIN, с условием в ON или в WHERE.

Разберем, почему происходит различие между двумя запросами с LEFT JOIN, где условие включено в разные части: ON и WHERE.
Такое встречается на тестовых. Ну и по работе тоже нужно конечно.

Есть две таблицы: Таблица 1: информация о транзакциях и Таблица 2: информация о типе пользователя

Задача
: выполнить LEFT JOIN по user_id, чтобы узнать, какой у пользователя тип (type), и разобраться, почему два похожих запроса могут дать разные результаты.

🟢 Запрос 1️⃣: LEFT JOIN с условием в ON:
SELECT df_1.user_id, df_1.amount, df_2.type 
FROM df_1
LEFT JOIN df_2 ON df_1.user_id = df_2.user_id AND df_2.type = 'admin'

Для каждой строки из df_1 ищется строка в df_2, где user_id совпадают и type в df_2 равно 'admin'.
Если такое совпадение найдено, строка из df_2 включается в результат. Если совпадений нет, то столбцы из df_2 заполняются NULL.
Все строки из df_1 присутствуют, так как это LEFT JOIN.

🟢 Запрос 2️⃣: LEFT JOIN с условием в WHERE
SELECT df_1.user_id, df_1.amount, df_2.type 
FROM df_1
LEFT JOIN df_2 ON df_1.user_id = df_2.user_id
WHERE df_2.type = 'admin'

Аналогично предыдущему случаю, LEFT JOIN возвращает все строки из df_1 и соответствующие строки из df_2.
Условие WHERE отфильтровывает строки после объединения. Это означает, что оно удалит все строки, где df_2.type не равно 'admin' и также строки, где df_2.type равно NULL.
В результате будут включены только строки, где df_2.type = 'admin'.

🤓 В чем разница?
Условие в ON позволяет выполнить фильтрацию во время объединения (JOIN), сохраняя все строки из левой таблицы (df_1) и вставляя NULL для несоответствующих значений из правой таблицы.

Условие в WHERE применяется после объединения. Поэтому строки, которые не соответствуют условию (type = 'admin'), будут удалены включая строки с NULL!

💡 Запомним 🚀
ON — фильтрует при объединении, сохраняя строки из левой таблицы.
WHERE — фильтрует после объединения, убирая строки с NULL и несоответствующими значениями.

p.s. Картинку рисовала в Canva впервые. Накидайте реакций за смелость :) Дизайнерам тапками не кидаться, сделала как смогла 😂

Мир аналитика данных

25 Sep, 11:05


3 октября в 18:00, в рамках подготовки к Data weekend offer, покажем, как проходит кейс-интервью аналитика в Авито👇🏻

• реальные вопросы
• практический кейс
• развернутый фидбек
• ответы на вопросы зрителей

👉🏻Приходите смотреть интервью в прямом эфире, получите инсайдерскую информацию и советы по подготовке. Не упустите возможность заглянуть за кулисы процесса!

Применить полученные знания можно будет уже 19-20 октября на Data weekend offer от Авито.

Мир аналитика данных

25 Sep, 11:05


Я тоже приду послушать. Ну, точнее, не приду, а подключусь 😜 3 октября в 18:00

Мир аналитика данных

20 Sep, 11:54


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

Мир аналитика данных

13 Sep, 11:23


Про прокрастинацию и баланс в жизни 🧠💪

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

Домашние дела 🧹, семейные заботы 👨‍👩‍👧‍👦, домашка с детьми-школьниками, и несколько человек в менторстве — всё это отнимает много сил. И вот тут появляется прокрастинация 🕰. Не потому что неинтересно, а потому что тело и разум просто требуют передышки 🛌.

И знаете, я пришла к выводу: нельзя постоянно «пахать» 💼. Наш организм подаёт сигнал, что ему нужен отдых, и это важно уважать. Если хочется замедлиться 🧘‍♀️ — нужно дать себе такую возможность. Отдых — это тоже часть пути к продуктивности ⚡️

Недавно я даже решилась на шаг вперёд: записалась в фитнес-клуб 🏋️‍♀️. Теперь забочусь не только о своём уме 🧠, но и о теле 💪. Ведь в гармонии важен баланс ⚖️ — между физическим, эмоциональным и интеллектуальным развитием.

Помните, заботиться о себе — это не лень, а необходимость ❤️.

И вот, пишу это всё в пятницу 13-го 🌘 — не знаю, совпадение это или знак, но кажется, что сегодня именно тот день, когда стоит притормозить, оглянуться вокруг и просто насладиться тем, что уже удалось достичь.

Мир аналитика данных

03 Sep, 07:31


Лето прошло, и кажется, все уже поплакали по этому поводу. Но кто бы мог подумать, что Notion тоже оставит нас в печали?

С 9 сентября сервис прекратит работу для пользователей из России. Это настоящее разочарование. 😭 Вся мои заметки, ссылки и курсы хранятся там, и теперь я в поисках альтернативы.

После долгих поисков наткнулась на Yonote.ru. Это не реклама, а просто находка, которая поможет заменить Notion. Конечно, можно использовать VPN, но иногда хочется работать без лишних танцев с бубном.

Что делать дальше?

Экспорт данных: Первое и самое важное — экспортируйте свои заметки из Notion. Это можно сделать как для отдельных страниц, так и для всего аккаунта. Резервные копии — залог спокойствия.

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

Аналоги: Есть несколько российских вариантов:

✔️ Яндекс Заметки — для простых записей, если не нужны сложные структуры: ссылка
✔️ Заметки Mail.ru — с недавним добавлением тегов можно разделять записи по темам: ссылка

Для более сложных задач:

✔️ Yonote.ru — организация, планирование, управление знаниями.
✔️ Teamly.ru — платформа для совместной работы и управления знаниями
✔️ Weeek.net — задачи, база знаний, CRM, аналитика и многое другое

Каждый решает сам, что выбрать. Главное — быть готовым к изменениям и действовать заранее. 👩‍💻

А вы чем пользуетесь, кстати?

Мир аналитика данных

26 Aug, 10:10


Как правильно выбирать топ-клиентов с прерываемыми индексами?

Сперва кажется, что за бред про прерываемые индексы? Сейчас расскажу где можно ошибиться 😜
А кто не ошибается, тот не работает! Главное вовремя понять, что тут что-то не то.

💡 Итак, задача: У нас есть список клиентов и их годовые обороты. Мы хотим отфильтровать тех, у кого оборот, допустим, больше 1 миллиона, отсортировать их по убыванию и выбрать топ-3 самых крупных клиентов.

Создадим данные для наглядности:
import pandas as pd
# Создаем исходный DataFrame
data = {
'client_id': [101, 102, 103, 104, 105],
'client_name': ['Client A', 'Client B', 'Client C', 'Client D', 'Client E'],
'turnover': [1200000, 500000, 1500000, 2000000, 3000000]
}
df = pd.DataFrame(data)

📋 Шаг 1: Фильтрация и сортировка клиентов

Сначала отфильтруем клиентов с оборотом более 1 миллиона и отсортируем их по обороту от большего к меньшему:
filtered_df = df[df['turnover'] > 1000000].sort_values('turnover', ascending=False)


Теперь у нас есть DataFrame с клиентами, у которых оборот превышает 1 миллион, отсортированный по убыванию

🚫 Ошибка: Что будет, если для выбора топ-3 теперь использовать .loc?
incorrect_top_3 = filtered_df.loc[:3]


Метод .loc[:3] пытается выбрать строки с индексами 0, 1, 2, 3. Однако, после фильтрации и сортировки, индексы строк изменились, и это приведет к выбору не тех строк!

Правильный подход: Используем .iloc, чтобы выбрать первые 3 строки по их позициям:
correct_top_3 = filtered_df.iloc[:3]


С помощью .iloc мы гарантированно получаем топ-3 клиента по их позициям в отсортированном DataFrame, игнорируя индексы.

Вывод: Используйте .iloc для выбора строк по позициям, особенно после фильтрации, группировки или сортировки данных, когда индексы идут не подряд. Тогда результат действительно будет топовым! 🤪

Мир аналитика данных

13 Aug, 18:26


Мечты сбываются!

Друзья, рада поделиться отличной новостью! Мой модуль по аналитике уже опубликован в курсе SkillFactory "IT-специалист с нуля"! 🥳 Ранее я делилась с вами, что работаю над этим курсом, вот тут.

Создание курса оказалось нелегким испытанием (особенно совмещение с основной работой), но очень интересным процессом. Я полностью уверена в том, что каждый, кто его пройдет, получит максимум знаний и навыков. Я вложила в него все, что было возможно, и спокойна за ваши результаты! 🚀

Мой модуль является частью большого IT-курса, где каждый раздел помогает изучить различные IT-профессии и выбрать свой путь в мире технологий! 👨‍💻

Мир аналитика данных

01 Aug, 09:20


📊 ⚡️Хитрая задачка с работы. Возвращение. 📊

👨‍💻Наконец удалось выкроить время, чтобы поэкспериментировать с этой хитрой задачей, и теперь у меня есть решение, которое не использует циклы! Всё сделано исключительно с помощью Pandas!
Давайте разберем его пошагово:

1️⃣Генерация данных как и в прошлый раз💾
Здесь мы создаем список словарей, где каждый словарь содержит client_id и строку value с информацией о рассрочках.
import pandas as pd

data = [
{ 'client_id': 111,
'value': 'installment_0_0_3_7,59 Срок рассрочки 3 мес.'
'installment_0_0_4_8,42 Срок рассрочки 4 мес.'
'installment_0_0_6_10,84 Срок рассрочки 6 мес.'
},
{
'client_id': 222,
'value': 'installment_0_0_3_4,93 Срок рассрочки 3 мес.'
},
{
'client_id': 333,
'value': 'installment_0_0_4_5,64 Срок рассрочки 4 мес.'
'installment_0_0_6_6,05 Срок рассрочки 6 мес.'
},
{
'client_id': 444,
'value': 'installment_0_0_3_7,78 Срок рассрочки 3 мес.'
'installment_0_0_6_9,60 Срок рассрочки 6 мес.'
},
{
'client_id': 555,
'value': 'installment_0_0_4_8,57 Срок рассрочки 4 мес.'
'installment_0_0_6_8 Срок рассрочки 6 мес.'
}
]
df = pd.DataFrame(data)

2️⃣Извлечение данных (сроков рассрочки и ставок из строки value) с использованием регулярного выражения 🔍
extracted = df.set_index('client_id')['value'].str.extractall(r'installment_0_0_(\d+)_([\d,]+)')
extracted = extracted.reset_index(level=1, drop=True).reset_index()
extracted.columns = ['client_id', 'term', 'rate']

3️⃣ Преобразование данных в нужный формат 🔄 Преобразуем строковые значения в числовой формат и добавляем текстовое описание к срокам рассрочки.
extracted['rate'] = extracted['rate'].str.replace(',', '.').astype(float)
extracted['term'] = 'Срок рассрочки ' + extracted['term'] + ' мес.'

4️⃣Определение условий фильтрации 🕵️‍♂️
Задаем условия для фильтрации данных по срокам рассрочки и максимальным допустимым ставкам.
conditions = {
"Срок рассрочки 3 мес.": 5.93,
"Срок рассрочки 4 мес.": 6.64,
"Срок рассрочки 6 мес.": 7.05
}

5️⃣Фильтрация данных 📊
filtered_df = extracted[extracted.apply(
lambda row: row['term'] in conditions and row['rate'] <= conditions[row['term']], axis=1
)]


📎 Вот ссылка на обновленный Jupyter Notebook. В нём вы найдёте ещё дополнительные варианты решения, которые прислал Дмитрий в комментариях. Спасибо ему за это! 🙂

Мир аналитика данных

24 Jul, 15:04


🎉 Один хороший человек наконец-то достиг первой серьезной отметки - 1000 подписчиков на своем Телеграмм-канале! 🎉

📚 В честь этого он устраивает розыгрыш трех потрясающих книг! По аналитике конечно📚 А я всегда поддерживаю такие начинания. 👌

1. Статистика и Котики – Владимир Савельев
2. Графики, которые убеждают всех – Александр Богачев
3. Погружение в аналитику данных. От Exсel к Python и R – Джордж Маунт

🎁Я тоже участвую и надеюсь на удачу. 😃 Присоединяйтесь!
Условия участия очень просты - быть его подписчиком.

🍀 Пусть удача будет на вашей стороне! https://t.me/analitikza30

Мир аналитика данных

23 Jul, 09:43


⚡️Хитрая задачка с работы.

Попросили меня выгрузить всех клиентов, у которых ставка кредита меньше или равно указанных. Должны быть меньше вот этих (как пример, цифры придуманные):
📉 Срок рассрочки 3 мес.: 5.93%
📉 Срок рассрочки 4 мес.: 6.64%
📉 Срок рассрочки 6 мес.: 7.05%

В базе данные хранятся у каждого клиента в параметре value просто как текст:
installment_0_0_3_7,59 Срок рассрочки 3 мес. installment_0_0_4_8,42 Срок рассрочки 4 мес. installment_0_0_6_10,84 Срок рассрочки 6 мес.
Сравнить нужно не только ставку, но и соотнести с продолжительностью кредита.

Решение 🚀
✔️Генерация данных. 📊 Создадим небольшой датафрейм:
data = [
{
'client_id': 111,
'value': 'installment_0_0_3_7,59 Срок рассрочки 3 мес.'
'installment_0_0_4_8,42 Срок рассрочки 4 мес.'
'installment_0_0_6_10,84 Срок рассрочки 6 мес.'
},
{
'client_id': 222,
'value': 'installment_0_0_3_4,93 Срок рассрочки 3 мес.'
},
{
'client_id': 333,
'value': 'installment_0_0_4_5,64 Срок рассрочки 4 мес.'
'installment_0_0_6_6,05 Срок рассрочки 6 мес.'
},
{
'client_id': 444,
'value': 'installment_0_0_3_7,78 Срок рассрочки 3 мес.'
'installment_0_0_6_9,60 Срок рассрочки 6 мес.'
},
{
'client_id': 555,
'value': 'installment_0_0_4_8,57 Срок рассрочки 4 мес.'
'installment_0_0_6_8 Срок рассрочки 6 мес.'
}
]
# Создание DataFrame
df = pd.DataFrame(data)

Обработка данных 🛠
✔️ Создаем пустой список для хранения обработанных данных.
processed_data = []

✔️Извлечение данных с помощью iterrows() 🔄

Для каждой строки извлекаем client_id, сроки рассрочки и процентные ставки из столбца value. Используем регулярное выражение для поиска всех совпадений в value, которые соответствуют шаблону installment_0_0_<term>_<rate>.

📚Как работает iterrows() 🐍 Метод iterrows() проходит по строкам DataFrame и возвращает пары (index, row) для каждой строки. Здесь index - это индекс строки, а row - это Series, представляющая данные строки.
То есть я извлекаю сроки рассрочки и процентные ставки из колонки value и потом добавляю их в новый DataFrame.
for index, row in df.iterrows():
client_id = row['client_id']
value = row['value']

# Извлечение сроков и ставок с помощью регулярного выражения
matches = re.findall(r'installment_0_0_(\d+)_([\d,\.]+)', value)

for match in matches:
term = f"Срок рассрочки {match[0]} мес."
rate_str = match[1].replace(',', '.')
rate_str = re.sub(r'\.$', '', rate_str)
rate = float(rate_str)
processed_data.append({
'client_id': client_id,
'rate': rate,
'term': term
})

# Создание нового DataFrame из обработанных данных
processed_df = pd.DataFrame(processed_data)


Регулярное выражение для извлечения данных 🔍
Разберем matches = re.findall(r'installment_0_0_(\d+)_([\d,\.]+)', value) подробно:
1. Ищет буквальный текст "installment_0_0_" в строке.

2. (\d+): Находит одну или более цифр и сохраняет их как первую группу захвата (срок кредитования).

3. Ищет символ подчеркивания _.

4.([\d,\.]+): Находит одну или более цифр, запятых или точек и сохраняет их как вторую группу захвата (ставка кредита).

5. Метод re.findall возвращает список кортежей, каждый из которых содержит группы захвата.

У нас получился датафрейм с колонками client_id, rate и term. Вуаля! А теперь можно отфильтровать нужное.

✔️Фильтрация данных 🎯
Далее я фильтрую данные по заданным условиям. Проценты не должны превышать определенных значений для каждого срока рассрочки
# Определение условий фильтрации
conditions = {
"Срок рассрочки 3 мес.": 5.93,
"Срок рассрочки 4 мес.": 6.64,
"Срок рассрочки 6 мес.": 7.05
}
filtered_df = processed_df[processed_df.apply(
lambda row: row['term'] in conditions and row['rate'] <= conditions[row['term']], axis=1)]

📌Так как код большой, то я оставлю ссылку на юпитер ноутбук. Тестируйте, модифицируйте.

Мир аналитика данных

05 Jul, 09:50


💬 Консультируя людей, я часто слышу вопрос: "Какой курс выбрать для перехода в IT?"

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

1️⃣ Избегайте длинных годовых курсов без соответствующего бэкграунда:

Если у вас нет опыта в IT, выбирайте краткосрочные и целенаправленные курсы. Годовые программы могут быть пустой тратой времени и денег.

Работодатели не всегда обращают внимание на ваши курсы, особенно если они не соответствуют вашему предыдущему опыту.

2️⃣Рассмотрите ваш текущий опыт и его применимость:

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

Например, если вы не работали хотя бы с Excel, ваш путь в IT должен начинаться с базовых знаний.

➡️ Как проверить свою гипотезу? Создайте тестовое резюме.

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

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

3️⃣С чего начать:

Изучите Excel и SQL:

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

Попробуйте откликаться на вакансии, требующие знания Excel. Если будет упоминание SQL — это плюс.

Поиск вакансий начального уровня:

Ищите вакансии, где требуется аналитическая работа: сбор данных, работа с таблицами и т.д.

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

Доступ к базам данных:

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

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

Удачи! 🚀📈😊