AIST.tech DS  /  Components  /  Widgets (Analyst)

Виджеты аналитика.

Карточки, из которых MI Analyst собирает canvas ответа. Семь типов — KPI, график, таблица, сравнение, SQL, источники, инсайт. Один скелет на все (header + body + footer с уверенностью), разный body. Только dark surface.

01. Анатомия

Любой виджет — карточка #18181B, border #27272A, radius 12, padding 16. Сверху header (заголовок слева, источник справа), в центре body (зависит от типа), снизу необязательный footer — confidence bar + источник данных.

HeaderTitle (heading 600) + src (mono caps muted). Заголовок не кричит.
BodyОдин тип данных. Не комбинировать график и таблицу в одной карточке.
Footer (опционально)Confidence bar + источник + дата. Показывает, насколько модель уверена.
Padding 16Одинаковый для всех типов. Между виджетами в canvas — gap 12.

02. KPI

Большое число + подпись + дельта. Когда нужно поставить точку на одном факте.

— KPI: одиночное и парное
Размер рынка (TAM)market_size
€2.4 млрд
DACH + NL · 2024
↑ 12% к 2023
Уверенность
78%
Сравнение метрикcohort_analysis
42%
Retention M3
↑ 4 п.п.
€118
ARPU
↓ €6

03. График

Столбцы для сравнения категорий, линия / area для временного ряда. Никаких pie и 3D.

— столбцы и линия
TAM по странам€ млрд
DE 1.48AT 0.39CH 0.32NL 0.21
Источник
Eurostat Q3
MRR по неделямtimeseries
W1W3W5W7W9

04. Таблица

Когда нужен компактный ranking или список значений: топ-конкуренты, ТОП-N запросов. До 10 строк. Больше — уходить в полную таблицу.

— таблица виджета
Топ-7 конкурентов по ARRcompetitor_scan
ИгрокСтранаARR
PersonioDE€890M
FactorialES€140M
HR WorksDE€42M
OnApplyNL€28M
Charlie HRUK€19M
KomboDE€11M
LanoDE€8M
Crunchbase + собств. оценка
64%

05. Сравнение

Матрица «фичи × игроки» с yes / no / средне. Когда вопрос — «у кого что есть».

— матрица возможностей
Сравнение фич ATS-сегментfeature_audit
PersonioFactorialHR WorksOnApply
Multipost (10+ JB)~
AI-скрининг резюме~
Видео-интервью in-app
Интеграция с 1С
DPA EU-резидентность~

06. SQL-блок

Когда агент сходил в БД — виден запрос. Прозрачность = доверие. Можно скопировать, запустить ещё раз, открыть в редакторе.

— SQL-блок с подсветкой
Запрос: retention M3 по когортамquery · 142ms
-- cohort_retention.sql
SELECT
  date_trunc('month', signup_at) AS cohort,
  count(DISTINCT user_id) AS users,
  round(100.0 * sum(active_m3) / count(*), 1) AS retention_m3
FROM users
WHERE signup_at >= '2024-01-01'
GROUP BY 1
ORDER BY 1;

07. Источники

Откуда модель взяла данные. Каждый элемент — название + meta (тип, дата, объём). Кликабельно в полный источник.

— список источников
Использованные источники14 шт
  • Eurostat — статистика занятости DACHCSV · Q3 2024
  • Crunchbase — раунды HR-techAPI · 14 ноя
  • Личный блог Hannes PersonioWeb · окт 24
  • Отчёт PwC HR Tech OutlookPDF · 82 стр
  • Внутренняя БД клиентовSQL · 42k строк

08. Инсайт / риск

Текстовый вывод модели — не факт, а интерпретация. Иконка слева задаёт тон: нейтральный инсайт, риск, возможность.

— три формы текстового виджета

DACH ≠ DACH

Австрия и Швейцария требуют отдельных DPA и разных каналов sales. Германия — 76% TAM, начинать стоит с неё.

GDPR — блокер

DPA с EU-резидентностью обязательна до запуска. Срок оформления — 6–8 недель. Без неё первый клиент в DACH невозможен.

Слабое место Personio

Нет интеграции 1С и продуктов для sub-100 FTE сегмента в DACH — окно для нишевой подачи.

NL — пилотный рынок

21% TAM, но 92% компаний с англоязычным интерфейсом готовы. Идеален для тест-запуска без локализации.

09. Loading

Пока виджет формируется — skeleton того же размера, что ожидаемый контент. Без спиннера в центре карточки.

— skeleton state
Загружается…market_size
Загружается…timeseries

Правила

Когда какой виджет

Один фактKPI. «Размер рынка — €2.4 млрд». Точка.
2–4 связанных фактаKPI split. Две колонки в одной карточке.
Сравнение категорийBars. До 8 столбцов.
Временной рядLine / area. Если 1 серия — area, 2+ — line.
Ranking до 10Table. Имя слева, число справа, tabular-nums.
«У кого что есть»Matrix. Фичи строками, игроки колонками. ✓ / — / ~.
SQL/инструментSQL-блок. Виден запрос — виден способ ответа.
Перечень источниковSources. Финал ответа, не каждой карточки.
Интерпретация / выводInsight. Нейтрально (●), риск (▲), возможность (↗).

Do / Don't

DOОдин тип данных — один виджет. Чистая  функция: KPI показывает число, таблица — ranking.
DON'T«Универсальный виджет» с графиком + таблицей + текстом. Это не Notion — это ответ модели.
DOSource виден всегда. В header — имя инструмента или БД. Без него виджет не валиден.
DON'TПолупрозрачные «декоративные» виджеты. Если виджет показан — он готов и на него можно сослаться в ответе.
DOConfidence honest. 64% — показать. Если ниже 50% — окрасить bar в warn-orange.
DON'T«100% confidence» всегда. Это убивает доверие. Показывайте реальный.
DOInsight в конце ответа. Сначала данные (KPI / graph), затем интерпретация.
DON'TInsight без опоры. Каждый insight ссылается на другой виджет или источник.

Токены

Widget bg#18181BCard surface
Widget border#27272A1px solid
Widget radius12pxОдинаково для всех типов
Widget padding16pxОдинаково
Title0.875rem, 600Heading font
Source caps0.6875rem, monocolor #71717A, uppercase
KPI value2.5rem, 800tabular-nums, letter-spacing −0.025em
Bars height100pxВ широком виджете — 110px
Line height110pxSVG viewBox 280×110
Footer border1px solid #27272Aborder-top
Confidence colors#16A34A / #C2410Cok / warn (< 50%)
Insight accentblue / red / greenтень 15% alpha + текст 100%