Витрины, метрики и воронка — Supabase

Платформа продуктовой аналитики на Supabase Postgres: восемь вьюх в схеме analytics плюс experiments.v_results считают funnel, retention, MRR, DAU и конверсию в базе, дашборд только решейпит. Ниже — слои данных, карта метрик с их значениями и объектом SQL, воронка активации по разрезам (переключатель) и завершённый A/B-эксперимент.

Слои данных: таблицы → витрины → дашборд

одна БД, три слоя
Сырые таблицы · sql/001_schema.sql analytics.users · api_keys · events analytics.subscriptions · org_members + experiments.* select Витрины · sql/002_views.sql, sql/003_experiments.sql v_events v_subscriptions v_funnel v_retention_raw v_cohort_sizes v_mrr v_conversion_channel v_dau v_results supabase-py · RLS-скоуп Дашборд · data.py → pages/*.py overview · funnel · retention · revenue segments · experiments · events st.metric / st.dataframe / CSV-экспорт

Витрины возвращают уже агрегированное: дашборд не считает метрики, он их решейпит (data.py) и рисует (pages/*.py). Девятая вьюха, experiments.v_results, живёт в миграции эксперимента; все вьюхи объявлены security_invoker = on, то есть наследуют RLS базовых таблиц. Анонимный доступ даёт 0 строк — политики построены на analytics.my_orgs() (sql/004_rls.sql).

Карта метрик: значение и объект, который его производит

seed = 42, окно 01.2024 — 06.2025

Воронка активации, 8 000 пользователей

Шаг Дошедшие пользователи, % от app_open

Тот же путь по разрезам

конверсия в подписку, % от app_open · число подписок

A/B: pricing page redesign v2 · concluded

experiments.v_results
control
treatment