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

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

Наш уютный чат: @itresume_chat
Поддержка: @simulative_support
Download Telegram
5 ошибок в пет-проектах

Всем привет! На связи Андрон, основатель Simulative
👋🏻

Через меня проходит много пет-проектов, и я выделил топ-5 ошибок, которые встречаются практически в каждом. Проверьте себя, нет ли таких грешков в ваших проектах?)

Где размещать проект

Кто-то присылает ссылку на google colab, кто-то блокнот ipynb, кто-то архив, кто-то py-файл... Короче, кто во что горазд.

Есть только единственный вменяемый способ поделиться проектом — публичный репозиторий на GitHub. Если мне нужно сделать что-то кроме git clone ... — значит такой проект можно дальше не смотреть.

Необходимые библиотеки

Если вы используете специализированные библиотеки в своём коде, то обязательно создавайте в корне проекта файлик requirements.txt со списком актуальных библиотек и их версий. Это очень легко можно сделать, если перед пушем проекта на гит выполнить команду pip freeze > requirements.txt (только нужно делать это, активировав виртуальное окружение).

Это нужно, потому что любой проект я разверну так:

git clone https://github.com/...
cd projectname
python -m venv venv
./venv/scripts/activate
pip install -r requirements.txt


Склонил репозиторий → перешёл в папку → создал виртуальное окружение → активировал его → установил зависимости. После этого ваш скрипт у меня запустится без проблем.

Мусор в репозитории

Есть ребята, кто размещают проекты на GitHub, но там много мусора. Запомните: в репе не должно быть папок venv, .idea, __pycache__ и прочих прелестей. Это всё должно добавляться в .gitignore.

Описание, как работает проект

Сделайте хотя бы минимальный Readme-файл. В нём запишите минимальные системные требования (не все библиотеки работают на всех ОС + есть ограничения по версиям питона), как запустить код, где лежат данные, какие входные аргументы, как их менять и что они значат, что вообще код делает. В общем, простой мануал для тех, кто первый раз видит ваш проект.

Хардкодинг пути до файла

Частая история — у автора кода на домашнем компьютере файлик лежит в папке C:/Desktop/pussycat/data.txt. И именно этот путь он зашивает в код. А у меня на компьютере может не быть диска C и уж точно папки pussycat.

Хорошая практика — делать путь относительным, в формате «файл data.txt на одном уровне с текущим файлом с кодом» .Это делается с помощью того же модуля os.

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

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥8👍33
Практическое руководство по тестированию своего дашборда

Вы создали дашборд — подключили данные, сделали красивые графики работающие фильтры. Но как быть уверенным, что в нём нет ошибок, им удобно пользоваться, а под нагрузкой он не упадёт?

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

Мы подготовили для вас методичку «Типы тестирования дашбордов» от Анастасии Кузнецовой, эксперта по BI и визуализации данных и автора тренинга «Осмысленные дашборды».

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

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

Не оставляйте качество ваших дашбордов на волю случая. Берите готовую методику и внедряйте её в свои проекты!

🧡 Получить материал

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥22
Вебинары этой недели

Ждём вас на первых вебинарах в этом году! Разбираем тестовые задания на аналитика и решаем, когда использовать Excel, а где SQL и Python 🧡

#️⃣ 13 января, 19:00 МСК«Разбираем тестовое на аналитика данных в Lamoda»

На вебинаре решим реальное тестовое аналитика: разберём структуру заказов и позиций, посчитаем нужные метрики и увидим, как к таким задачам подходит практикующий аналитик. За разбор отвечает Павел Беляев — тимлид команды дата‑аналитиков в Яндекс eLama.

➡️ Зарегистрироваться на вебинар


#️⃣ 14 января, 19:00 МСК«Когда Excel недостаточно: 5 бизнес-кейсов, в которых вам пора перейти на SQL и Python»

Разберём на коротких кейсах из практики, когда таблички уже не справляются, а пара простых скриптов на Python и запросов на SQL экономят часы рутины, помогают строить финансовые модели и выглядеть сильнее на рынке труда. Вебинар проведёт Вугар Дамиров, Data Analyst Team Lead: он каждый день решает бизнес‑задачи с помощью SQL, Python и BI.

➡️ Зарегистрироваться на вебинар


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

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥22
🗣 Задайте вопрос BI-эксперту

Пробуем новый формат взаимодействия с нашими экспертами и менторами — Q&A-сессию. И первый наш эксперт — Анастасия Кузнецова, автор тренинга «Осмысленные дашборды» и специалист в области BI и визуализации данных!

Она создала более 300 графиков и дашбордов и обучила более 3000 специалистов из Авито, Сбербанка, Яндекса и Циана.

Если у вас есть вопросы по BI-инструментам, визуализации или карьере в аналитике, да и вообще любые — самое время его задать! 15 января Настя выберет самые интересные вопросы и разберёт их здесь, в канале @simulative_official.


Не упустите шанс получить совет от топового эксперта!

✍️ Задать вопрос

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
🔥432
Simulative
Вебинар: решаем тестовое задание в Lamoda Приглашаем на первый вебинар этого года! Вместе с Павлом Беляевым, тимлидом команды дата-аналитиков в Яндекс eLama, решим реальное тестовое аналитика из Lamoda: разберём структуру заказов и позиций, посчитаем нужные…
Присоединяйтесь сегодня в 19:00 по МСК к нашему вебинару!

Павел Беляев, тимлид дата-аналитиков в Яндекс eLama, поделится своим решением тестового задания в Lamoda.

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

➡️ Зарегистрироваться

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥32
5 ошибок новичков в SQL

Привет, будущие аналитики! С вами Павел Беляев, ментор курса «Аналитик данных» и ведущий канала Тимлидское об аналитике 👋🏻

Хочу привести несколько ошибок начинающих в SQL, которые наблюдал в своей практике. Предупреждён — значит вооружён!

1️⃣ JOIN вместо LEFT JOIN

Положим, есть таблица с юзерами users и таблица с их финансовыми активностями. Мы хотим вывести юзеров, которые зарегистрировались в 2026 году, и подтянуть их транзакции.

SELECT u.user_id, money_sum
FROM
(
SELECT user_id
FROM users
WHERE DATE(date_registration)>=DATE('2026-01-01')
) AS u

JOIN
(
SELECT user_id, SUM(amount) AS money_sum
FROM transactions
GROUP BY user_id
) AS t


Так? Нет! В этом запросе мы увидим не всех пользователей, а лишь тех, у которых были транзакции.

2️⃣ BETWEEN и формат даты

Чтобы вытащить данные временного ряда из определённого интервала, часто прибегают к BETWEEN в условии:

SELECT user_id, SUM(amount) AS money_sum
FROM transactions
WHERE paid_at BETWEEN '2025-12-01' AND '2025-12-31'
GROUP BY user_id


Оператор BETWEEN включает границы в выборку, так что вроде всё верно, да? Нет. Дело в том, что обычно транзакции хранятся в формате «дата-время»: 'YYYY-MM-DD HH:MM:SS'.

В нашем запросе '2025-12-31' будет приведено к форме '2025-12-31 00:00:00', а значит, почти весь день из правой границы не попадёт в выборку!

Правильный вариант — привести поле paid_at к формату «дата» и только потом подставлять в условие:

WHERE DATE(paid_at) BETWEEN '2025-12-01' AND '2025-12-31'


3️⃣ Пересечения условий в CASE WHEN ... END

Рассмотрим запрос, сегментирующий пользователей по их суммарному обороту:

SELECT user_id,
CASE
WHEN SUM(amount)<100 THEN 'C'
WHEN SUM(amount)<=150 THEN 'B'
WHEN SUM(amount)>=150 THEN 'A'
END AS segment
FROM transactions
GROUP BY 1


К какому сегменту отнесётся пользователь с оборотом 150? Исходя из кода — к 'B'. Но отвечает ли это бизнес-логике?

Следует чётко определить границы сегментов и выставить строгое неравенство там, где нужно:

WHEN SUM(amount) < 100 THEN 'C'
WHEN SUM(amount) < 150 THEN 'B'
WHEN SUM(amount) >= 150 THEN 'A'


4️⃣ Проверка на NULL в условиях

При составлении любых фильтрующих условий (WHERE, ON, HAVING и т. п.) следует помнить, что 0 и NULL — не одно и то же.

Если мы хотим дополнить запрос из первого примера условием для выборки только пользователей без транзакций и добавим в конце:

WHERE money_sum = 0


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

WHERE money_sum IS NULL


5️⃣ NULL в условиях объединения

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

SELECT * FROM t1
LEFT JOIN t2 ON t1.nullable_col = t2.nullable_col


то имейте в виду, что NULL слева не заджойнится с NULL справа. Если в обеих таблицах nullable_col IS NULL, эти строки не попадут в выборку, хотя кажется, что колонки равны, правда?

Для таких случаев следует полю для соединения назначить какое-то значение с помощью функции COALESCE или IFNULL:

SELECT * 
FROM
(
SELECT *, COALESCE(nullable_col, 'empty') AS j
FROM t1
) AS j1

LEFT JOIN
(
SELECT *, COALESCE(nullable_col, 'empty') AS j
FROM t2
) AS j2 ON j1.j = j2.j


Ставьте реакции, если было полезно!

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2797
This media is not supported in your browser
VIEW IN TELEGRAM
32🔥2
Узнаем, как перейти из Excel в SQL и Python, через пару часов

Вместе с Вугаром Дамировым, Data Analyst Team Lead с 7‑летним опытом, расскажем бизнес-кейсы, где пригодится SQL вместо стандартного Excel.

Что вы получите от вебинара:
Поймёте, когда Excel уже мешает работе: отчёты растут, таблички ломаются, автоматизации нет;
Увидите на примерах, как SQL и Python забирают рутину: сами тянут данные, обновляют отчёты и ускоряют проверку гипотез;
Разберётесь, какие базовые навыки SQL, Python и BI нужны, чтобы претендовать на роль fullstack-аналитика.

➡️ Зарегистрироваться

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥52
Simulative
🗣 Задайте вопрос BI-эксперту Пробуем новый формат взаимодействия с нашими экспертами и менторами — Q&A-сессию. И первый наш эксперт — Анастасия Кузнецова, автор тренинга «Осмысленные дашборды» и специалист в области BI и визуализации данных! Она создала…
Объявляем Q&A-сессию с Анастасией Кузнецовой!

Спасибо большое вам за вопросы, присланные в форму — Настя ознакомилась со всеми и готова ответить на самые интересные из них. В течение дня мы поделимся её ответами. Stay tuned!

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥433
Вопрос:
1. Что должен уметь BI-аналитик сейчас, чтобы быть востребованным на рынке?
2. Насколько сейчас ценится красота/дизайн визуализации данных?
This media is not supported in your browser
VIEW IN TELEGRAM
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🔥2
Вопрос:
Всегда мучает вопрос, что делать со stacked bar chart, где много категорий.

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

Есть ли альтернативные способы визуализации для таких кейсов? Как правильно подобрать цвета, чтобы категории отличались, но это не выглядело паршиво?


Всё зависит от задачи. Супер-редко, когда нужны прям все категории — обычно мы можем сгруппировать основные в топ-5 и остальные положить в «другое». Если заказчик просит уместить всё, то стоит посмотреть, а как же с этим графиком работают и какие выводы пытаются получить. Часто такие графики просто дополнительно фильтруют и поэтому дефолтное состояние с кучей категорий не так пугает.

Из альтернативных способов визуализации:
— Хитмап + его можно скомбинировать с графиком динамики ровно над ним. Так можно будет посмотреть и общий тренд, и каждую категорию и её долю/значение отдельно;
— Разбить график на много маленьких. Это может быть small multiples (его ещё называют треллис-график) или таблица со спарклайнами — когда вы показываете столбиком общие значения по категории и рядом спарклайн с динамикой.

Собирала ещё решения для спагетти-графиков тут, часть подойдёт и для этого кейса.
6🔥32
Вопрос:
Как понять, что хочет увидеть в дашборде заказчик, если он сам этого не понимает и не может объяснить?


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

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

Из фреймворков — это подходы JTBD (jobs to be done), user persona, user story. Это как представить себе, что вы запускаете новый продукт и пытаетесь найти нишу и product market fit — для кого же будет этот продукт и какие проблемы он будет решать.
🔥742
⚡️ Прервём наш Q&A важным сообщением: анонсируем новый курс «Инженер глубокого обучения нейросетей» от МИФИ и Simulative!

Эта программа профессиональной переподготовки — сплав науки от лучшего исследовательского вуза страны НИЯУ МИФИ и практики в формате симулятора реальной работы от Simulative.

Почему это ваш шанс?

😶 Диплом МИФИ: официальный диплом о переподготовке с квалификацией «Специалист по большим данным» от вуза, входящего в топ-4 России;
😶 100% практики: вы добавите в портфолио 40+ практических работ;
😶 Гибкий онлайн-формат: учитесь из любой точки мира, совмещая с работой. Доступ к материалам — навсегда;
😶 Для любого уровня: если вы новичок, аналитик, действующий ML-инженер или выпускник — программа выстроит ваш путь в Deep Learning.

Что вы получите?

Навыки создания нейросетей с нуля: Computer Vision, NLP, генеративные модели и MLOps;
Рост от джуна до востребованного специалиста, зарплата уже на старте — от 80 000 до 150 000 ₽, а на следующих этапах — до 350 000 ₽ и больше;
Карьерный трамплин в самой горячей сфере технологий.

📆 Старт обучения — 12 марта, продолжительность 9 месяцев.

Места на поток ограничены! Забронируйте место на курс уже сейчас и сделайте решающий шаг в карьере:

➡️ Оставить заявку на бронь и консультацию

Есть вопросы по программе, оплате от компании или вступительным требованиям? Оставьте свои контакты на сайте, и наши менеджеры подробно ответят!

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥522
А мы продолжаем наш Q&A с Настей Кузнецовой!

Вопрос:

Побольше бы примеров построения разных дашбордов с разборами ошибок и разных нестандартных ситуаций, с которыми можно столкнуться при построении дашбордов.
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM