diff --git a/README.md b/README.md index 3177034..7dc3fa0 100644 --- a/README.md +++ b/README.md @@ -271,7 +271,7 @@ make superset-dashboard | Блок | Чарты | Датасет | |------|-------|---------| | **KPI** | Total Events, Unique Users, Avg Events/Visit, Conversion to /confirmation | `v_events_enriched` | -| **Динамика** | Events by Hour (timeline), Traffic by Device (pie) | `v_events_enriched` | +| **Динамика** | Events over Time (timeline), Traffic by Device (pie) | `v_events_enriched` | | **География** | Geography Map по странам | `v_events_enriched` | | **Маркетинг** | UTM Effectiveness Table, Page Funnel | `v_utm_effectiveness`, `v_top_pages_daily` | | **Слои** | Rows by Layer (event) — прохождение строк STG→ODS→DDS→DM | `dq_summary` | diff --git a/docs/SUPERSET_DASHBOARD.md b/docs/SUPERSET_DASHBOARD.md index aa802f2..def91bb 100644 --- a/docs/SUPERSET_DASHBOARD.md +++ b/docs/SUPERSET_DASHBOARD.md @@ -67,7 +67,9 @@ KPI разложены в одну строку по 12-колоночной с `user_domain_id` и `click_id` идут 1:1 и дают то же число, что `Unique Users`. #### Динамика трафика -- **📅 Events by Hour** — линейный график событий по часам +- **📅 Events over Time** — линейный график событий с 5-минутными бакетами + (все события стенда укладываются в ~50 минут, поэтому часовая гранулярность + давала бы всего 2 точки и прямую линию) - **📱 Traffic by Device** — pie chart распределения по устройствам #### География diff --git a/docs/course/lessons/06_superset_bi.md b/docs/course/lessons/06_superset_bi.md index 6f0c759..54220b5 100644 --- a/docs/course/lessons/06_superset_bi.md +++ b/docs/course/lessons/06_superset_bi.md @@ -118,7 +118,7 @@ http://localhost:8088/superset/dashboard/1/ - KPI сверху: `Total Events`, `Unique Users`, `Avg Events/Visit`, `Conversion to /confirmation`; -- динамика: `Events by Hour`, `Traffic by Device`; +- динамика: `Events over Time`, `Traffic by Device`; - география: `Geography Map`; - маркетинг: `UTM Effectiveness Table`, `Page Funnel`; - прохождение строк по слоям: `Rows by Layer (event)`. diff --git a/superset/create_dashboard.py b/superset/create_dashboard.py index 2517b5b..43bef21 100644 --- a/superset/create_dashboard.py +++ b/superset/create_dashboard.py @@ -103,12 +103,17 @@ CHARTS_CONFIG = [ }, # Динамика { - "slice_name": "📅 Events by Hour", + "slice_name": "📅 Events over Time", + "previous_slice_names": ["📅 Events by Hour"], + # Все события стенда укладываются в ~50 минут (20:51–21:41 28.11.2022), + # поэтому часовая гранулярность давала всего 2 точки и прямую линию, + # читавшуюся как ошибка. 5-минутные бакеты дают ~10 точек — реальную + # форму трафика. Поэтому и название не «by Hour», а «over Time». "viz_type": "echarts_timeseries_line", "dataset_name": "v_events_enriched", "params": { "granularity_sqla": "event_ts", - "time_grain_sqla": "PT1H", + "time_grain_sqla": "PT5M", "metrics": [ { "expressionType": "SQL", @@ -283,7 +288,7 @@ DASHBOARD_ROWS = [ [("📊 Total Events", 3), ("👤 Unique Users", 3), ("📈 Avg Events/Visit", 3), ("🎯 Conversion to /confirmation", 3)], # Динамика во времени + разрез по устройствам - [("📅 Events by Hour", 8), ("📱 Traffic by Device", 4)], + [("📅 Events over Time", 8), ("📱 Traffic by Device", 4)], # География + эффективность маркетинговых каналов [("🌍 Geography Map", 6), ("🔗 UTM Effectiveness Table", 6)], # Популярные страницы + прохождение строк по слоям