Короткий ответ
Переведите спор из плоскости чья цифра правильнее в плоскость бизнес-цели. Продажам может быть нужна любая незакрытая возможность, а продукту — сделка с недавней активностью; одинаковое название скрывает разные вопросы.
Как это работает подробнее
Постройте два флага на одной базе и FULL OUTER или агрегированное сравнение четырёх множеств: только sales, только product, оба, ни одно. Для крупнейших расхождений покажите конкретные сделки и причину классификации.
Если цель общая, согласуйте канонический SQL, зерно, временную зону, дату вступления и владельца. Если цели разные, переименуйте показатели так, чтобы различие было видно без чтения запроса.
Пример кода
active_deal_diff.sql
WITH classified AS (
SELECT deal_id,
status NOT IN ('won', 'lost') AS sales_active,
status NOT IN ('won', 'lost')
AND last_activity_at >= CURRENT_DATE - INTERVAL '30 days' AS product_active
FROM crm_deals
)
SELECT sales_active, product_active, COUNT(*) AS deals
FROM classified
GROUP BY sales_active, product_active
ORDER BY sales_active, product_active;Что использовать на практике
- Привяжите к решениям. Для чего показатель используется и какое действие вызывает.
- Назначьте совместное ревью. Аналитик фасилитирует, но не навязывает бизнес-смысл единолично.
- Запустите параллельный период. Покажите влияние новой версии до переключения отчётов.
Подводные камни
- Унификация ради унификации. Разным процессам действительно могут требоваться разные показатели.
- Два определения с одним названием. Конфликт неизбежно повторится в презентации.
- Изменение истории без версии. KPI скачет, а команды теряют возможность сопоставлять прошлые отчёты.