- Зачем: - нужно убрать дублирующий KPI Unique Sessions и сделать эталонный dashboard честнее для учебного анализа. - Что: - обновлены KPI, добавлена Conversion to /confirmation и Page Funnel. - добавлена идемпотентная миграция старых chart names без дублей. - синхронизированы документация, урок 6 и спека редизайна. - добавлен handoff для продолжения работы в новой сессии. - Проверка: - python3 -m py_compile superset/create_dashboard.py. - make superset-dashboard. - Superset metadata: dashboard_charts=10, obsolete_unique_sessions=0, page_funnel_type=funnel.
5.1 KiB
5.1 KiB
Handoff: Superset dashboard redesign implemented
Дата: 2026-06-06 · Язык сессии: русский
Статус
Редизайн Superset-дашборда реализован и закоммичен.
Коммит:
04995af832743ed984c25af08a185f7abe0485f1
feat(superset): обновлен состав KPI и воронки дашборда
Рабочее дерево было чистым перед созданием этого handoff; сам handoff создан после коммита.
Источники истины
- Спека:
docs/specs/2026-06-06-superset-dashboard-redesign.md - Реализация:
superset/create_dashboard.py - Пользовательская документация:
docs/SUPERSET_DASHBOARD.md - Урок 6:
docs/course/lessons/06_superset_bi.md - Предыдущий handoff:
2026-06-06-superset-dashboard-redesign.md
Что сделано
- KPI-полоса теперь:
Total Events · Unique Users · Avg Events/Visit · Conversion to /confirmation. Unique Sessionsудалён из KPI и из Superset metadata как obsolete chart.Avg Events/Sessionпереименован вAvg Events/Visitидемпотентно черезprevious_slice_names.Top Pagesпереименован вPage Funnelи переведён наviz_type: funnel.- Conversion считается как page-funnel metric:
countIf(page_url_path = '/confirmation') / countIf(page_url_path = '/home'). - UTM-таблица оставлена без мёртвых колонок
purchases/add_to_cart. Events by Hourоставлен: на полном датасете есть два часовых бакета.- Документация и урок 6 синхронизированы с полным датасетом и новым dashboard flow.
Проверки
Выполнено:
make data
make transform
python3 -m py_compile superset/create_dashboard.py
make superset-dashboard
make superset-dashboard
Результаты:
- полный датасет в DM:
1000events,99visits,99users; Avg Events/Visit = 10.1;Conversion to /confirmation = 35 / 426 = 8.2%;- Superset dashboard metadata:
dashboard_charts = 10;obsolete_unique_sessions = 0;page_funnel_type = funnel;
- Superset API
/api/v1/dashboard/1/datasetsвернул200; - browser chart-data для
Page Funnelвернулstatus: success, 6 строк; - browser chart-data для
Data Quality Summaryвернулerrors: [],status: success.
Визуальная проверка
Пользователь визуально подтвердил: «Визуально - выглядит норм».
Скриншоты были сохранены в /tmp во время сессии:
/tmp/ecommerce-analytics-dashboard-desktop.png/tmp/ecommerce-analytics-dashboard-lower.png
Они могут исчезнуть после очистки /tmp; при необходимости переснять через playwright-cli.
Важные детали реализации
- Для Superset 4.1.2
funnelпроверялся через MCP Context7 по/apache/superset; Context7 не дал точную строкуviz_type. - Решение подтверждено по установленному Superset 4.1.2: bundled example
Featured Charts/Funnel.yamlиспользуетviz_type: funnel. create_dashboard.pyищет старые имена черезprevious_slice_names, чтобы не плодить дубли при rename.- Cleanup obsolete charts удаляет все найденные
🎯 Unique Sessions, если metadata уже была загрязнена дублями.
Что осталось
Обязательных незакрытых задач по редизайну нет.
Возможные следующие шаги, если продолжать dashboard-направление:
- экспортировать обновлённый dashboard JSON через
make superset-export, если экспортный артефакт должен соответствовать новой metadata; - отдельно модернизировать legacy chart types (
pie,world_map,dist_bar) на ECharts, если это станет целью следующего захода; - при развитии генератора перенести требования из спеки в его
KNOWN_ISSUES.md.
Suggested skills
playwright-cli— если нужно переснять визуальную проверку dashboard.conventional-commits— если нужно коммитить этот handoff или дальнейшие правки.diagnose— если Superset chart-data или layout начнут падать после сброса volumes.