Heatmap простыми словами

Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.

Короткое объяснение

Heatmap (тепловая карта) — визуализация данных через цвет. Яркость / оттенок ячейки показывает значение.

Используется для:

  • Матрицы корреляций
  • Cohort retention
  • Activity по часам × дням
  • Карты кликов на сайте

Примеры

Correlation matrix

       A    B    C
A  [1.0  0.8  0.2]
B  [0.8  1.0  0.3]
C  [0.2  0.3  1.0]

Красные ячейки = высокая корреляция. Глаз сразу видит связи.

Cohort heatmap

Cohort    | M0   | M1   | M2   | M3
Jan 2026  | 100% | 40%  | 20%  | 15%
Feb 2026  | 100% | 45%  | 25%  | 20%
Mar 2026  | 100% | 35%  | 15%  | 10%

Цвет = retention %. Видим, какая когорта лучше.

Activity heatmap

Дни недели × часы суток. Цвет = количество заказов. Видим, когда пик.

В Python (seaborn)

import seaborn as sns
import matplotlib.pyplot as plt

# correlation matrix
corr = df.corr()
sns.heatmap(corr, annot=True, cmap='RdBu_r', center=0)
plt.show()

Cohort retention

cohort_pivot = pd.pivot_table(
    df, values='retention',
    index='cohort', columns='period'
)
sns.heatmap(cohort_pivot, annot=True, fmt='.0%', cmap='YlGn')

Плюсы

1. Мгновенное восприятие

Большая таблица чисел — сложно. Heatmap — интуитивно.

2. Паттерны

Видно группировки, тренды, выбросы.

3. Компактно

Много данных в одной картинке.

Минусы

1. Не точные значения

Сложно различить «0.65» и «0.72» по цвету. Добавьте annot=True.

2. Color-blind friendly?

Red-green daltonism. Используйте colorblind-safe palettes (Viridis, RdBu).

3. Ordering matters

Порядок строк и колонок влияет на восприятие. Сортируйте по логике (date, cluster).

4. Слишком много ячеек

500×500 heatmap = невозможно прочитать. Максимум ~50×50.

Colors и palettes

Sequential

Для возрастающих значений (retention, revenue):

  • Viridis (современный стандарт)
  • YlGn (жёлто-зелёный)
  • Blues / Reds

Diverging

Для значений с «нейтральной» точкой (correlation: -1 / 0 / +1):

  • RdBu (красный-синий)
  • coolwarm

Qualitative

Не для heatmap.

Types of heatmaps

Standard 2D

x, y оси + цвет.

Correlation matrix

Специальный — квадратная матрица.

Calendar heatmap

По дням года. Github contributions — классика.

Geographic heatmap

На карте. Плотность событий.

Web heatmap

Клики / scrolls на странице (Hotjar, Crazy Egg).

В SQL подготовка данных

SELECT
    DATE_PART('dow', event_at) AS day_of_week,
    DATE_PART('hour', event_at) AS hour,
    COUNT(*) AS events
FROM events
GROUP BY 1, 2;

Pivot в Python для heatmap.

На собесе

«Что такое heatmap?» Визуализация через цвет. Для матриц и массивных датасетов.

«Когда использовать?» Correlation matrix, cohort retention, activity patterns.

«Ограничения?» Не для точных значений. Не для color-blind без palettes.

Связанные темы

FAQ

Heatmap или table?

Table — для точных чисел. Heatmap — для визуального поиска паттернов.

Annot=True обязательно?

Для небольших матриц — да. Для большых — загромоздит.

Виды heatmap?

Standard 2D, correlation matrix, calendar, geographic, web.


Тренируйте визуализацию — откройте тренажёр с 1500+ вопросами для собесов.