GH GambleHub

Визуализация метрик

1) Цели визуализации

Понять быстро: за 3–5 секунд распознать тренд/аномалию/сдвиг.
Сравнить корректно: периоды, сегменты, варианты A/B.
Поверить данным: показать неопределенность, источники, свежесть.
Действовать: рядом с графиком — CTA, фильтры, ссылки на плейбуки.

2) Типы метрик и лучшие формы

СценарийЛучшие формыКомментарии
Временные рядылинейный график, area с прозрачностью, spaрklineПо умолчанию p50/p95; избегайте 3D и stacked с множеством рядов
Распределенияhistogram, boxplot, violin, ECDFДля «тяжелых хвостов» показывайте лог-шкалу или percentiles
Категорииbar/column, dot plotСортируйте по значению, не по алфавиту
Состав/доли100% stacked bars, treemapКруговые — только для 2–3 сегментов
Сравнение версийsmall multiples, slope graph, dumbbellДелайте одинаковые оси и масштабы
Геоchoropleth, символ-картаНормируйте на население/объем (per capita/1000 tx)
Последовательностиfunnel, sankeyДля воронок — явно фиксируйте базис шага

3) Шкалы, оси и агрегирование

Шкалы: линейная по умолчанию; логарифмическая — для кратных диапазонов; процентная — [0;100].
Нулевой базис: столбики — с нуля; линии — без требования нуля (но показывайте baseline).
Агрегирование: дневные/часовые/минутные, p50/p95/p99; избегайте среднего для «шумных» распределений.
Roll-up/Drill-down: кнопки «Д/Н/Ч» (день/неделя/час) и «↑/↓» по иерархии (регион→страна→город).
Выборка точек (downsampling): LTTB/MinMax для длинных рядов, чтобы не терять экстремумы.

4) Контекст и сравнения

Сравнение периодов: «Текущий vs Предыдущий» (overlay с пунктиром) и/или small multiples; подпишите относительную ∆ и абсолютную ∆.
Сезонность: фоновые полосы «выходные/праздники», теплые/холодные зоны по часам.
Бенчмарки: горизонтальные линии норм/целей (SLO/SLA), подпишите единицы и временной горизонт.
Интервалы доверия: полосы/ленты ±CI; для A/B — error bars и p-value/лифт.

5) Неопределенность, пропуски, ревизии

Пропуски: разрывайте линию (не соединяйте нулем); серые «туманы» для незавершенного окна.
Лаги данных: бейдж «данные отстают на 12 мин», tooltip с timestamp ingest.
Ревизии: тонкая штриховка участков «пересчитано», ссылка на changelog.

6) Цвет, форма и доступность (A11y)

Палитра: нейтральная база; красный — критично, оранжевый — предупреждение, зеленый — позитив.
Цвето-независимость: дублируйте значением/маркерами/подписями; контраст ≥ WCAG AA.
Количество рядов: ≤5 на один график; иначе — small multiples/фасетки.
Размеры/клики: интерактивные цели ≥ 32–40 px; фокус-кольца, клавиатурная навигация.

7) Подписываем правильно

Оси: единицы измерения, формат чисел (1 234,56; 12.3k; 5.2%); дата-метки с локалью.
Легенда: в порядке визуальной важности; кликабельная для включения/исключения рядов.
Аннотации: коротко и по делу («релиз PSP_X», «инцидент #4217»), с ссылкой на событие.

8) Интерактивность: не перегружать

Hover/Tooltip: компактные, с ключевыми полями и ∆ vs baseline.
Zoom/Brush: выделение диапазона мышью/клавиатурой; кнопка «Сбросить».
Drill-down: клик по сегменту → детальный разрез; breadcrumb для возврата.
Селекторы: пресеты диапазонов (24ч / 7д / 30д), фильтры сегментов, переключатель «Абс/Процент».

9) Шаблоны компонентов (пример API)

json
{
"type": "timeseries",
"title": "Payment authorizations,"
"metrics": [
{"id":"auth_rate_p50","label":"p50","agg":"p50"},
{"id":"auth_rate_p95","label":"p95","agg":"p95","style":{"dash":true}}
],
"x": {"field":"ts","granularity":"5m"},
"y": {"unit":"%","min":0,"max":100},
"baseline": {"value": 92. 0, "label": "SLO 92%"},
"ci": {"field_low":"ci_low","field_high":"ci_high"},
"badges": ["late_data","revised"]
}

10) Производительность рендеринга

Агрегировать на сервере: возвращайте уже «правильные» окна/квантили.
Canvas/WebGL: для десятков тысяч точек и тепловых карт; SVG — для ≤2–3 тыс. элементов и четких подписей.
Виртуализация списков/таблиц: подгружать страницы по мере прокрутки.
Кэширование: горячие тайлы, precompute «вчера/неделя».

11) Достоверность и анти-паттерны

Нельзя:
  • Манипулировать шкалой (обрезать ось столбиков выше нуля).
  • Смешивать разные единицы без вторичной оси и явных подписей.
  • Строить «лес» stacked-area с 8–10 рядами.
  • Подменять пропуски нулями.
  • Использовать 3D/тенюшки ради «красоты».

12) Формулы, единицы и форматирование

Деньги: minor units/десятичные строки; явно указывать валюту.
Конверсии/доли: проценты с одной десятичной (при необходимости — p.p.).
Скорости/ставки: «в час/в день» — подпишите период.
Округление: до значимых разрядов, не скрывая порядок величин.

13) Специфика метрик качества и SLO

Показывайте error-budget burn (оставшийся % бюджета) и уровни предупреждений.
Для аптайма — stacked статус-бары «OK/Degraded/Down» + окна инцидентов.
Для latency — распределения (p50/p95/p99), «violin/boxplot» по кластерам/эндпоинтам.

14) Сторителлинг и авто-саммари

Narrative блок: 2–4 предложения «что произошло» + «почему» + «что сделать».
Слайды/экспорт: PDF/PNG/SVG с сохранением шрифтов и цветов; водяные знаки и дата среза.

15) Тест-план для визуализаций

Unit: формат осей, вычисление бинов, CI-ленты.
Integration: фильтры/диапазоны/локаль, drill-down и обратная навигация.
E2E: сценарий «от алерта к действию»: клик по аномалии → плейбук.
A11y/i18n: экранные читатели, клавиатура, перевод подписей.
Perf: рендер больших рядов, cold/warm cache, стресс на 10× точек.

16) Метрики качества визуализаций

Time-to-Insight (TTI): медиана времени до первого клика/понимания.
Explained Rate: доля графиков с доступным Explain.
Action Rate: где были выполнены действия из виджета.
Error/Noise: неверные подписи, жалобы пользователей.
Perf p95: время до первого контента и до интерактивности.

17) Чек-лист дизайна графика

  • Правильный тип графика под задачу
  • Ясные оси, единицы, формат чисел и дат
  • Контекст: baseline/SLO, период сравнения, аннотации
  • Показ пропусков/лагов/ревизий
  • Цвета и контраст (WCAG), не больше 5 рядов
  • Интерактивность без перегруза: hover, zoom, drill-down
  • Производительность: агрегирование, downsampling, Canvas/WebGL при нужде
  • CTA рядом: открыть отчет/плейбук/создать алерт
  • Экспорт/шаринг с датой среза и параметрами фильтров

18) Встраивание в дашборды

Consistency-kit: единые токены (шрифты, размеры, палитры), единое поведение тултипов.
Шаблоны виджетов: KPI, timeseries, distribution, comparison, map, table.
Слоты для «умных» подсказок: бейдж «аномалия», объяснения драйверов, кнопки действий.

19) План внедрения (3 итерации)

Итерация 1 — Fundamentals (2–3 недели):
  • Типы графиков, единые шкалы/форматы, baseline/SLO, пропуски/лаг-бейджи, экспорт.
Итерация 2 — Insight & A11y (3–4 недели):
  • Сравнения периодов, CI-ленты, small multiples, аномалии/бейджи, клавиатурная навигация.
Итерация 3 — Scale & Story (непрерывно):
  • Downsampling/WebGL, Explain-панель, авто-саммари, пресеты дашбордов и CTA.

20) Мини-FAQ

Нужно ли всегда начинать ось Y с нуля?
Для столбиков — да. Для линий — не обязательно, но укажите baseline и не «обманывайте» масштабом.

Как показать p95/p99 и не перегрузить?
Лента percentiles или small multiples с одинаковыми осями.

Чем заменить «пирог» с 8 сегментами?
100% stacked bars или таблица с барами внутри строк (bar-in-cell) + сортировка.

Итог

Эффективная визуализация метрик — это корректный выбор формы + честный контекст + удобные действия. Держите единые стандарты шкал и форматов, показывайте неопределенность и пропуски, давайте быстрый дрилл-даун и CTA, берегите производительность и доступность. Тогда графики перестанут быть «картинками» и станут инструментом принятия решений.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Telegram
@Gamble_GC
Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

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