Действуй как BI lead с фокусом на information design. Спроектируй дашборд: аудитория {{audience}}, домен {{domain}}, инструмент {{tool}}.
Шаг 1. Кто смотрит и зачем
Аудитория определяет всё: layout, refresh rate, depth.
| Audience | Goal | Refresh | Depth | Tone |
|---|---|---|---|---|
| Exec (CEO/CFO) | "Всё ли в порядке?" 30 секунд | Daily, утром | Surface only | Точно, без жаргона |
| Ops (on-call) | "Что сломалось сейчас?" | Real-time | Drill-down к причинам | Тех, точно |
| Team (PM/eng) | "Как идёт спринт/эксперимент?" | Hourly/daily | Medium | Domain-specific |
| Public (customer) | "Доверять ли вам?" | Hourly | None | Дружелюбно, мало чисел |
Если пытаешься обслужить всех — обслужишь никого. Сделай 2-3 разных дашборда вместо одного monster.
Шаг 2. Иерархия — F-pattern / inverted pyramid
Глаз сканирует слева-направо, сверху-вниз. Самое важное — top-left. Прогрессивно открывай детали ниже.
┌─────────────────────────────────────┐
│ [HERO METRIC] [COMPARISON] │ ← 5-секундный read
│ $4.2M MRR +12% vs LM, +28% YoY│
├─────────────────────────────────────┤
│ [TREND CHART — 90 days] │ ← 30-секундный read
│ │
├─────────────────────────────────────┤
│ [BREAKDOWN 1] [BREAKDOWN 2] │ ← 2-минутный read
│ By channel By plan │
├─────────────────────────────────────┤
│ [ALERTS / ANOMALIES] [LINK TO DRILL]│ ← actionable
└─────────────────────────────────────┘
Шаг 3. Hero metric — одна, не пять
Одна метрика в самом крупном шрифте — главный ответ на главный вопрос дашборда.
Правила:
- Числовая, абсолютная (не "good/bad")
- С сравнением (vs prev period, vs target) — число без контекста бесполезно
- Цвет статуса (green/yellow/red) опционально, но не злоупотреблять
- Никакого "+5%" без указания базы — "+5% MoM" или "+5% vs target"
Bad: "Revenue: $4.2M" Good: "MRR: $4.2M — +12% vs last month, on track for $5M Q-end target"
Шаг 4. Comparison panel
Каждая метрика должна сравниваться:
- vs Previous period (LW, LM, LQ) — momentum
- vs Target — performance
- vs Last Year same period — seasonality-adjusted
Если ни одно сравнение невозможно — метрика преждевременна для дашборда.
Шаг 5. Trends
Тренд — это не "график", это shape of change.
Чек-лист хорошего trend chart:
- Минимум 4 точки сравнения (4 недели для weekly, 30 дней для daily)
- Ось Y начинается от 0 для абсолютных метрик; от near-min для рейтов
- Annotation важных событий (релизы, кампании) прямо на графике
- Forecast/projection отделён от actual (пунктир)
- Confidence interval для предсказаний
Шаг 6. Breakdowns
Срезы — главный инструмент действия. Без них дашборд "красивый, но что делать?".
Правила:
- 2-4 breakdown panels max (не больше)
- Каждый показывает top-N + "other" (top 5 + other = 6 entries)
- Сортировка по объёму (не алфавиту)
- Сравнение vs предыдущий период тут же
Типичные breakdowns:
- By segment (channel / plan / geo / device)
- By time-of-day или day-of-week (для cyclical метрик)
- By cohort (для retention)
Шаг 7. Alerts / anomalies секция
Не auto-generated graveyard. Только активные:
- Что не в норме сейчас
- Severity, since when
- Link to runbook / drill-down
Если ничего не сломано — "All systems normal as of 14:23". Не пустой блок.
Шаг 8. Что НЕ класть
- Метрики без owner — некому реагировать
- Метрики с шумовым CI — N<100, бесполезно
- Vanity metrics ("уникальные посетители", если не привязаны к conversion)
- 5+ метрик одинаковой важности — wall-of-numbers, никто не видит главное
- Историческая справка ("вот как было 2 года назад") — для дашборда не нужно
- Чарты "potolok" типа pie chart c >7 секторами — нечитабельно
- Дублирование (одна метрика в 3 видах) — выбери одну форму
- Слова "various", "miscellaneous", "other" доминирующие — значит таксономия плохая
Шаг 9. Refresh cadence
| Audience | Cadence | Реализация |
|---|---|---|
| Exec | Daily 8am | Email digest + статичный PDF + дашборд для drill |
| Ops | Real-time (≤1 min) | Streaming, ColumnStore / Kafka materialized view |
| Team | Hourly | Scheduled query, simple cache |
| Public | Hourly with safe-fallback | Cache + manual override |
Real-time для exec — anti-pattern: они не на месте 24/7, а свежесть до минут не нужна для стратегических решений.
Шаг 10. Drill-down флоу
Клик по любому числу должен вести к "почему". Иерархия:
- Hero → trend chart того же metric
- Trend → table с разбивкой по дням
- Day → events / cohort / segment view
- Segment → user-level или transaction-level (с RBAC)
Без drill-down дашборд — статуэтка. С ним — инструмент.
Output
## Audience & goal
- Audience: {{audience}}
- Job-to-be-done: ...
- Refresh: ...
## Layout (top to bottom)
1. Hero: <metric> with vs LW, vs target
2. Trend: 90-day with annotations
3. Breakdowns: by <X>, by <Y>
4. Alerts: active only
## Excluded (with reason)
- <metric> — no clear owner
- <metric> — vanity, no action
## Drill-down map
Hero click → /trend/<metric>
Trend point click → /day/<date>
Segment click → /segment/<id>
Анти-паттерны
- ❌ 30 чисел одинакового размера — глаз не находит что главное
- ❌ Hero metric без сравнения — "$4.2M MRR" — это хорошо или плохо?
- ❌ Trend на 7 точках — slope доминирует случайным колебанием
- ❌ Pie chart с 12 категориями — bar chart всегда лучше
- ❌ Real-time для exec audience — невостребовано, дорого
- ❌ Дашборд "для всех" — не работает ни для exec, ни для ops
- ❌ Alerts секция всегда красная — игнорируется, как broken windows
- ❌ Нет drill-down — нашёл проблему, не можешь докопаться до причины
Аудит воронки конверсии
Где сливаются пользователи: каждый шаг воронки, причины отвала, гипотезы для тестов.
Проектирование REST/RPC API
Ресурсы, эндпойнты, контракты, версионирование, ошибки, идемпотентность, rate limits.
Таксономия событий
Названия событий и параметров так, чтобы аналитик через год не плакал.