diff --git a/models/intermediate/cross/int_monthly_onboarding_mrr_per_deal.sql b/models/intermediate/cross/int_monthly_onboarding_mrr_per_deal.sql index 3368bb8..3066027 100644 --- a/models/intermediate/cross/int_monthly_onboarding_mrr_per_deal.sql +++ b/models/intermediate/cross/int_monthly_onboarding_mrr_per_deal.sql @@ -20,7 +20,7 @@ with ) -- Calculate expected MRR per deal by each dimension select - m.date, + (date_trunc('month', m.date) + interval '2 month' - interval '1 day')::date as date, 'by_number_of_listings' as dimension, d.hubspot_listing_segmentation as dimension_value, sum(coalesce(m.total_revenue_in_gbp, 0)) / count(*) as expected_mrr_per_deal @@ -36,7 +36,7 @@ where d.hubspot_listing_segmentation <> 'UNSET' group by 1, 2, 3 union all select - m.date, + (date_trunc('month', m.date) + interval '2 month' - interval '1 day')::date as date, 'by_billing_country' as dimension, d.main_billing_country_iso_3_per_deal as dimension_value, sum(coalesce(m.total_revenue_in_gbp, 0)) / count(*) as expected_mrr_per_deal @@ -52,7 +52,7 @@ where d.hubspot_listing_segmentation <> 'UNSET' group by 1, 2, 3 union all select - m.date, + (date_trunc('month', m.date) + interval '2 month' - interval '1 day')::date as date, 'global' as dimension, 'global' as dimension_value, sum(coalesce(m.total_revenue_in_gbp, 0)) / count(*) as expected_mrr_per_deal diff --git a/models/intermediate/cross/schema.yml b/models/intermediate/cross/schema.yml index 780921b..3238b6b 100644 --- a/models/intermediate/cross/schema.yml +++ b/models/intermediate/cross/schema.yml @@ -1712,8 +1712,8 @@ models: "This table provides data on the Onboarding Monthly Recurring Revenue (MRR). The Onboarding MRR is an estimate of the expected monthly revenue generated by each new deal. It is calculated by taking the total revenue generated by all - active accounts over the last 12 months and dividing it by the number of active - months for each account." + active accounts over the last 12 previous months and dividing it by the number + of active months for each account." data_tests: - dbt_utils.unique_combination_of_columns: diff --git a/models/reporting/general/mtd_aggregated_metrics.sql b/models/reporting/general/mtd_aggregated_metrics.sql index 686a469..ec0e853 100644 --- a/models/reporting/general/mtd_aggregated_metrics.sql +++ b/models/reporting/general/mtd_aggregated_metrics.sql @@ -68,11 +68,18 @@ where or lower(metric) like '%resolutions%' or lower(metric) like '%invoiced%' or lower(metric) like '%retained%' - or lower(metric) like '%mrr%' or lower(metric) like '%damage host%' ) and {{ is_date_before_previous_month("date") }} ) + -- Not show current month if the metric is Expected MRR, unlike other + -- revenue metrics, Expected MRR is calculated for the next month, so it is not + -- affected by the invoicing cycle. + or not + ( + lower(metric) like '%mrr%' + and date_trunc('month', m.date)::date = date_trunc('month', now())::date + ) -- Keep all history for the rest of metrics or not (