Перейти к содержанию

Как добавить метрику

Пошаговый процесс добавления новой метрики в систему.

Шаги

  1. Запись в реестр. Добавить метрику в methodology/METRIC-REGISTRY.md: ID (M-NNN), описание, SQL-формула, источник, тип визуализации, дашборд.

  2. SQL-файл. Создать sql/<категория>/<имя>.sql. Обязательно:

  3. Использовать канонический B2C-фильтр (см. canonical-filter) - либо через Metabase Model canonical_b2c_users, либо inline-CTE b2c.
  4. Сверить имена таблиц/колонок с DB-SCHEMA-GROUNDTRUTH (реальная схема).
  5. Параметры периода через {{period_start}} / {{period_end}}.

  6. Карточка в Metabase. Создать вопрос/карточку на источнике «TRADEX Replica (B2C)» (или на materialized view, если тяжёлая когортная метрика). Привязать к нужному дашборду.

  7. Inventory. Отметить в metabase/INVENTORY.md (старая карточка → новая, если заменяет существующую).

  8. Sanity-тест. Добавить минимум одну проверку в sql/sanity_tests/NN_<имя>.sql - что метрика возвращает осмысленный результат (диапазон, монотонность, отсутствие null/дублей).

Правила

  • Единицы. Денежные суммы - в USD-эквиваленте (конверсия через h_latest_exchange_rate, котируемая валюта → USD по name/id, не code).
  • Тяжёлые когорты - только через staging + materialized view (реплика отменяет долгие запросы). См. materialized-views.
  • Часовой пояс - Europe/Minsk при группировке по дням/месяцам.

Проверка перед релизом

make sanity          # все sanity-тесты против реплики

Если падает - не релизим. Расхождение >30% от baseline = вероятный bug фильтра/схемы.