Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-06-06-superset-dashboard-redesign-implemented.md
T
ddadmin 1bec6bb8ad feat(superset): обновлен состав KPI и воронки дашборда
- Зачем:
  - нужно убрать дублирующий 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.
2026-06-06 17:00:02 +03:00

5.1 KiB

Handoff: Superset dashboard redesign implemented

Дата: 2026-06-06 · Язык сессии: русский

Статус

Редизайн Superset-дашборда реализован и закоммичен.

Коммит:

04995af832743ed984c25af08a185f7abe0485f1
feat(superset): обновлен состав KPI и воронки дашборда

Рабочее дерево было чистым перед созданием этого handoff; сам handoff создан после коммита.

Источники истины

Что сделано

  • 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: 1000 events, 99 visits, 99 users;
  • 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.