Merged PR 3272: Expose Churn Rates into Main KPIs

# Description

Exposes Churn Rates into Main KPIs, specifically Revenue Churn Rate, Bookings Churn Rate and Listings Churn Rate. This is based on the average approach.

Additionally, it adds these 3 metrics in the kpis_additive_metrics_per_dimension_are_consistent test.
Additionally, it removes from int_mtd_vs_previous_year_metrics the computation of the additive Churn Rates. The removal of further unused code will be handled in a separated PR.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [X] The edited models are sufficiently documented.
- [X] The edited models contain PK tests, and I've ran and passed them.
- [NA] I have checked for DRY opportunities with other models and docs.
- [NA] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #22691
This commit is contained in:
Oriol Roqué Paniagua 2024-10-22 08:08:03 +00:00
parent f230eb3af5
commit 6a90eb30f9
4 changed files with 46 additions and 25 deletions

View file

@ -57,7 +57,20 @@ from int_mtd_aggregated_metrics
*/
where
(
-- Not show current + previous month if the metric depends on invoicing cycle
(
-- Not show current + previous month if the metric depends on invoicing
-- cycle
(
lower(metric) like '%total revenue%'
or lower(metric) like '%resolutions%'
or lower(metric) like '%invoiced%'
or lower(metric) like '%retained%'
or lower(metric) like '%damage host%'
)
and {{ is_date_before_previous_month("date") }}
)
-- Keep all history for the rest of metrics
or not
(
lower(metric) like '%total revenue%'
or lower(metric) like '%resolutions%'
@ -65,14 +78,6 @@ where
or lower(metric) like '%retained%'
or lower(metric) like '%damage host%'
)
and {{ is_date_before_previous_month("date") }}
)
-- Keep all history for the rest of metrics
or not
(
lower(metric) like '%total revenue%'
or lower(metric) like '%resolutions%'
or lower(metric) like '%invoiced%'
or lower(metric) like '%retained%'
or lower(metric) like '%damage host%'
)
-- If metric is Churn Rate, do not show month in progress
and not (lower(metric) like '%churn rate%' and is_current_month = 1)