Короткий ответ
Единого правильного решения нет: нужно выстроить общий семантический слой метрик с согласованными, задокументированными и версионируемыми определениями, которые потребляют все BI-инструменты, при этом допуская явно поименованные исключения там, где различия обоснованы бизнес-контекстом.
Как это работает подробнее
Семантический слой централизует логику метрики (например, «активный пользователь» = ≥1 сессия за последние 28 дней) в одном месте (dbt metrics, единый LookML-слой или отдельный metrics store), чтобы все BI-инструменты запрашивали одно и то же определение, а не реализовывали его заново.
Что использовать на практике
- Применение. Проведите инвентаризацию существующих определений метрик по командам, отделите реальные различия, продиктованные бизнес-логикой (например, «активный» для биллинга у finance vs «активный» для вовлечённости у продукта), от случайного расхождения; согласуйте и задокументируйте одно каноничное определение для общих понятий, явно именуя и версионируя легитимные варианты; постройте процесс управления (каталог метрик, владение, ревью изменений), чтобы определения снова не расходились молча.
- Пример. Метрики-кандидаты: «MAU (по сессиям, продукт)» и «Billable active account (finance)» — зафиксировать оба определения в каталоге метрик с явными названиями и формулами, вместо того чтобы называть оба просто «Active User». Проверка: любой новый дашборд должен ссылаться на запись в каталоге, а не определять метрику заново.
Подводные камни
- Частые ошибки. Принудительное навязывание одного определения там, где реальные бизнес-потребности различаются, вызывающее сопротивление команд; создание технически элегантного семантического слоя без согласия стейкхолдеров, из-за чего команды начинают его обходить; отсутствие версионирования/документирования изменений метрики, из-за чего смысл исторических отчётов незаметно меняется.