Верни только один JSON-объект по указанной схеме и используй идентификаторы KPI без изменений. Выбирай виджеты, взаимодействия и инструменты так, чтобы результат можно было сразу передать BI-команде.
Роль: вы — консультант по бизнес-аналитике.
Цель задания: на основе дерева KPI подготовить готовую к реализации структуру (макет) исполнительной панели (dashboard), где иерархия KPI визуализирована и каждое KPI привязано к конкретному виджету/компоненту панели.
Входные данные (обязательно, в одном сообщении):
1) Дерево KPI — предоставьте в одном из двух форматов (предпочтительно JSON):
- Формат JSON (рекомендуемый) — массив узлов, каждый узел:
{
"id": "KPI_1",
"name": "Net Revenue",
"parent_id": null, // null для корня
"description": "Выручка за вычетом скидок",
"formula": "Sum(invoice.amount) - Sum(invoice.discount)",
"type": "lagging", // или "leading"
"frequency": "monthly", // daily/weekly/monthly/quarterly
"target": 1000000,
"unit": "USD",
"aggregation": "sum", // sum/avg/ratio
"thresholds": {"green":0.95,"amber":0.85}, // % от target
"owner": "Head of Finance",
"data_source": "ERP.sales",
"dimensions": ["region","product"],
"notes": "Include only recognized revenue"
}
- Вложенный список/таблица — допускается, но каждый узел должен содержать минимум id, name, parent_id (или вложенность), frequency, owner, data_source.
2) Список доступных инструментов отчетности и их возможностей (перечислите каждую систему и возможности), формат JSON:
[
{
"name":"Tableau",
"connectors":["Snowflake","Postgres"],
"visual_types":["scorecard","line","bar","treemap","heatmap","tree"],
"supports_drilldown": true,
"supports_real_time": false,
"max_widgets_per_dashboard": 20,
"supports_alerts": true,
"notes": "Embeddable, role-based access"
}, ...
]
Задача (конкретные требования):
- Преобразовать дерево KPI в макет исполнительной панели, сохранив иерархию KPI и отразив зависимости (root → mid → leaf) визуально и через расположение/взаимодействия.
- Выдать структуру, готовую к реализации в BI-инструменте: для каждого KPI указать рекомендованный виджет, позицию, приоритет, источники данных и требуемые взаимодействия (drill-down, фильтры, hover details, alerts).
- Адаптировать рекомендации под перечисленные инструменты отчетности — укажите предпочтительный инструмент и альтернативы для ключевых виджетов, учитывая их возможности.
- Ограничения интерфейса: главный экран (above-the-fold) должен содержить ограниченное число наиболее важных блоков (укажите до 8 ключевых виджетов), остальные — в нижней части или как вкладки/панели drill-down.
- Включите рекомендации по частоте обновления KPI, порогам/цветовой кодировке, владельцам и действиям/ответственности при отклонении от цели.
Формат выхода (строгий, машинопригодный; ответ только в этом формате):
Выдайте JSON-объект со следующими полями:
{
"dashboard_summary": {
"title": "Executive Dashboard — <название>",
"purpose": "Краткая цель панeли (1-2 предложения)",
"primary_audience": ["CEO","CFO","Head of Sales"],
"top_level_kpis": ["KPI_1","KPI_2", ...] // ids
},
"layout_constraints": {
"screen_grid": {"columns": 12, "rows": 6},
"above_the_fold_max_widgets": 8,
"preferred_aspect_ratio": "16:9"
},
"hierarchy_visualization": {
"type": "treegraph|treemap|sunburst", // выберите один
"position": {"row":0,"col":0,"row_span":2,"col_span":6},
"settings": {"show_labels": true,"color_by":"performance_vs_target"},
"description": "Короткая инструкция как визуализировать иерархию"
},
"widgets": [
{
"widget_id":"W_1",
"title":"Net Revenue",
"metric_id":"KPI_1",
"visual_type":"scorecard|line|bar|treemap|heatmap",
"position":{"row":0,"col":6,"row_span":2,"col_span":6},
"size_priority":1, // 1=highest
"description":"Краткое назначение виджета",
"data_source_mapping":["ERP.sales","Finance.view_revenue"],
"calculation_notes":"formula or reference",
"refresh_frequency":"daily",
"thresholds":{"green":0.95,"amber":0.85},
"interactions":["filter_by_region","drilldown_to_transactions"],
"owner":"Head of Finance",
"recommended_tool":"Tableau",
"alternative_tools":["Power BI"],
"alerts_required":true,
"alerts_settings":{"when_below":0.85,"notify":["owner","CFO"]},
"visual_guidance":{"colors":{"good":"#2ca02c","warn":"#ff7f0e","bad":"#d62728"}}
}, ...
],
"navigation_and_filters": {
"global_filters":["date_range","region","business_unit"],
"default_date_range":"last_12_months",
"tabs_or_views":["Executive Summary","Drivers & Trends","Operational Details"]
},
"implementation_notes": {
"mapping_to_reporting_tools": {
"Tableau": "use treegraph for hierarchy + scorecards for top KPIs",
"Power BI": "use decomposition tree or treemap + KPI visuals"
},
"estimated_widget_count": 12,
"suggested_rollout_steps":["Design prototype","Validate data sources & formulas","Build dashboard","User acceptance"]
},
"kpi_catalog": [
{
"metric_id":"KPI_1",
"name":"Net Revenue",
"parent_id": null,
"formula":"Sum(invoice.amount) - Sum(invoice.discount)",
"unit":"USD",
"frequency":"monthly",
"owner":"Head of Finance",
"data_sources":["ERP.sales"],
"recommended_widget":"W_1"
}, ...
]
}
Требования к контенту и стилю:
- Краткость и точность: поля — короткие и информативные, не менее чем требуется для реализации.
- Для каждого виджета обязательно указывать metric_id, visual_type, position, data_source_mapping, owner, refresh_frequency, interactions.
- Везде использовать id из входного дерева KPI для связи (metric_id/parent_id).
- Не добавляйте свободный текст помимо указанного JSON-объекта.
Дополнительно (по желанию, но в пределах JSON): укажите 2–3 визуальные рекомендации (цветовая схема, font-size для заголовков KPI, иконки) в поле visual_guidance каждого виджета.