Data Science на пальцах: учимся анализировать данные на простых примерах

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

Разработка

6 мин

Зачем вообще Data Science?

Data Science — это не «магия ИИ», а аккуратные вопросы к данным:

  • Что происходит? — описательная аналитика

  • Почему это происходит? — диагностическая

  • Что будет дальше? — прогноз

  • Что делать? — рекомендации

Базовый цикл: собрать → очистить → посмотреть (EDA) → проверить гипотезу → смоделировать → объяснить результат и принять решение.

Правило №1: результат должен приводить к действию. Цифра ради цифры — мусор.

Мини-шпаргалка: что считать и чем мерить

Вопрос

Что считаем

Инструмент

Тип метрики

Что означает

Сколько тратят клиенты?

Средний чек (mean), медиана

Pandas/SQL

Описательная

Базовый ориентир по выручке

Насколько «живой» спрос?

Конверсия, частота покупок

Группировки, cohort

Описательная/диагностическая

Понимание воронки

Работает ли баннер?

Δ конверсии, t-тест/бутстрэп

SciPy/бутстрэп

Инф. статистика

Вероятность, что эффект не случайность

Что влияет на отклик?

Корреляции/фичевая важность

corr(), простая регрессия

Диагностическая

Какие факторы реально значимы

Сколько продадим завтра?

Прогноз (линейная/деревья)

scikit-learn

Прогнозная

Оптимизируем закупки/рекламу

Пример 1. Кофейня и средний чек

Сценарий: владелец хочет понять, почему выручка «прыгает».

Данные: таблица orders (id, дата, сумма, способ оплаты).

Что делаем:

  1. Считаем средний чек и медиану.

  2. Строим распределение чеков.

  3. Смотрим день недели — где пиковые дни?

df['weekday'] = df['date'].dt.day_name()
avg_check = df['amount'].mean()
median_check = df['amount'].median()
by_weekday = df.groupby('weekday')['amount'].mean().sort_values(ascending=False)

Выводы: если средний чек >> медианы — у вас длинный «хвост» дорогих заказов. Пики по пятницам? Значит, промо лучше запускать в четверг вечером.

Пример 2. Конверсия из просмотра в покупку

Сценарий: интернет-магазин: много просмотров, мало покупок.

Данные: события view_product и purchase с user_id.

views = events.query('event=="view_product"').user_id.nunique()
carts = events.query('event=="add_to_cart"').user_id.nunique()
buys  = events.query('event=="purchase"').user_id.nunique()
conv_view_to_cart = carts / views
conv_cart_to_buy  = buys / carts

Вывод: если просадка на этапе «корзина → покупка» — проверьте UX, ошибки формы или стоимость доставки.

Пример 3. Быстрый A/B-тест баннера

from statsmodels.stats.proportion import proportions_ztest
count = np.array([buys_B, buys_A])
nobs  = np.array([visits_B, visits_A])
stat, p = proportions_ztest(count, nobs)

Вывод: даже при +0.8 п.п. разницы стоит учитывать доверительный интервал и стоимость трафика.

Пример 4. Прогноз продаж «на завтра»

X = pd.get_dummies(df[['day_index','weekday']], drop_first=True)
y = df['sales']
model.fit(X_train, y_train)
pred = model.predict(X_test)
mae = np.mean(np.abs(pred - y_test))

Вывод: прогноз нужен, чтобы снизить неопределённость, а не для «точного угадывания».

Пример 5. Что реально влияет на отклик?

Сценарий: email-рассылка. Почему одни письма открывают, а другие — нет?

Идея: проверить корреляции и логистическую регрессию для оценки влияния признаков.

Чистка данных — половина успеха

Проблема

Как заметить

Что делать

Пропуски

df.isna().mean()

Удалить или заменить медианой

Выбросы

Boxplot, z-score

Ограничить по бизнес-правилам

Дубликаты

df.duplicated().sum()

Очистить ключи

Разные форматы дат

Ошибки парсинга

Использовать to_datetime

Неполные категории

Доля < 1%

Объединить в «Other»

В Кодике мы даём короткие модули по Python и аналитике с задачами «как в жизни» — загрузка CSV, чистка, воронки, mini A/B-тест и первая модель. Без воды и с понятными итогами.

А ещё у нас есть активный telegram-канал, где мы обсуждаем крутые идеи, делимся опытом и вместе разбираем задачи — учиться становится не только полезно, но и весело.

Комментарии