Аналитика на Mage.ai и Superset
Пайплайны в Mage.ai, дашборды в Superset с разграничением доступа и своя мобильная оболочка над Superset, в которой те же дашборды открываются с телефона.
Задача
Данные о платежах, подписках и рекламе лежали в разных сервисах, а отчёты собирались руками. Нужно было одно место, где команды видят актуальные цифры, причём каждая — только свои.
Моя роль
Поднял связку и веду её: пайплайны, модели данных, дашборды, роли и доступы для команд.
- ETL: регулярная выгрузка из сервисов и внешних API, нормализация, хранение.
- Дашборды: от общих показателей до разборов по гео, провайдерам и кампаниям.
- Доступы: роли в Superset, чтобы операционная, финансовая и маркетинговая команды видели своё.
- Superset View: собственное веб-приложение, через которое команда смотрит дашборды с телефона.
Решение
Mage.ai забирает данные по расписанию и складывает в PostgreSQL в виде, удобном для отчётов. Superset читает оттуда и показывает дашборды. Новый источник — это новый пайплайн по шаблону, новый отчёт — новый дашборд на уже готовых данных.
- Единые таблицы фактов, из которых строятся все отчёты.
- Проверки на свежесть и полноту данных: если выгрузка сломалась, это видно сразу.
- Роли и фильтры по командам вместо отдельных копий дашбордов.
Superset View
Стандартный интерфейс Superset на телефоне неудобен, а смотрят цифры чаще всего именно с телефона. Поэтому поверх Superset написана отдельная оболочка: Next.js, TypeScript, Ant Design, графики на ECharts. Вход через API Superset с теми же учётными записями и ролями, сессия в httpOnly-cookie. Всё, что настроено в нативном Superset — дашборды, чарты, фильтры, текстовые блоки, — появляется в оболочке сразу, без дублирования: она читает конфигурацию дашборда через API и рисует её под мобильный экран. Светлая и тёмная тема, адаптивная сетка фильтров, компактные таблицы.
Результат
Около 50 пайплайнов и 30 дашбордов. Отчёты, которые раньше собирались руками, обновляются сами; вопросы «а сколько у нас…» решаются ссылкой на дашборд, и эта ссылка нормально открывается с телефона.
Стек
- Mage.ai — пайплайны и расписания.
- PostgreSQL — хранилище для отчётов.
- Apache Superset — дашборды, роли, доступы.
- Python — трансформации и выгрузки из API.
- Next.js, TypeScript, Ant Design, ECharts — Superset View, мобильная оболочка.
Материалы
[Скриншоты дашбордов с обезличенными данными, экраны Superset View на телефоне и схема потоков — по готовности.]