diff --git a/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal.sql b/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal.sql index 77a98ae..0f96158 100644 --- a/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal.sql +++ b/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal.sql @@ -90,6 +90,21 @@ select dda.active_accommodations_per_deal_segmentation, 'UNSET' ) as active_accommodations_per_deal_segmentation, ikdd.main_billing_country_iso_3_per_deal, + -- DEAL BUSINESS SCOPE + case + when ikdd.client_type = 'API' + then 'API' + when ikdd.client_type = 'PLATFORM' + then + case + when + ikdd.id_deal is not null + and d.date >= ikdd.min_user_in_new_dash_since_date_utc + then 'New Dash' + else 'Old Dash' + end + else 'UNSET' + end as business_scope, -- DEAL LIFECYCLE -- daily_deal_lifecycle.deal_lifecycle_state, diff --git a/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal_by_time_window.sql b/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal_by_time_window.sql index ad0847c..30f2cfc 100644 --- a/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal_by_time_window.sql +++ b/models/intermediate/cross/int_monthly_aggregated_metrics_history_by_deal_by_time_window.sql @@ -13,6 +13,7 @@ with date, id_deal, client_type, + business_scope, main_deal_name, has_active_pms, active_pms_list, @@ -128,6 +129,7 @@ with date, id_deal, client_type, + business_scope, main_deal_name, has_active_pms, active_pms_list, @@ -228,6 +230,7 @@ with date, id_deal, client_type, + business_scope, main_deal_name, has_active_pms, active_pms_list, @@ -328,6 +331,7 @@ with date, id_deal, client_type, + business_scope, main_deal_name, has_active_pms, active_pms_list, @@ -428,6 +432,7 @@ with date, id_deal, client_type, + business_scope, main_deal_name, has_active_pms, active_pms_list, @@ -551,6 +556,7 @@ select -- Deal attributes mabd.client_type, + mabd.business_scope, mabd.main_deal_name, mabd.has_active_pms, mabd.active_pms_list, diff --git a/models/intermediate/cross/schema.yml b/models/intermediate/cross/schema.yml index 56e5400..081c1eb 100644 --- a/models/intermediate/cross/schema.yml +++ b/models/intermediate/cross/schema.yml @@ -365,6 +365,19 @@ models: - PLATFORM - API + - name: business_scope + data_type: string + description: | + Business scope identifying the metric source. + data_tests: + - not_null + - accepted_values: + values: + - "Old Dash" + - "New Dash" + - "API" + - "UNSET" + - name: main_deal_name data_type: string description: | @@ -1548,6 +1561,19 @@ models: - PLATFORM - API + - name: business_scope + data_type: string + description: | + Business scope identifying the metric source. + data_tests: + - not_null + - accepted_values: + values: + - "Old Dash" + - "New Dash" + - "API" + - "UNSET" + - name: metric_from_date data_type: date description: | diff --git a/models/intermediate/kpis/int_kpis__dimension_deals.sql b/models/intermediate/kpis/int_kpis__dimension_deals.sql index 1ddba83..2d461b3 100644 --- a/models/intermediate/kpis/int_kpis__dimension_deals.sql +++ b/models/intermediate/kpis/int_kpis__dimension_deals.sql @@ -1,5 +1,8 @@ {{ config(materialized="table", unique_key="id_deal") }} with + int_core__new_dash_deal_since_date as ( + select * from {{ ref("int_core__new_dash_deal_since_date") }} + ), hubspot_deals as ( select id_deal, @@ -70,7 +73,9 @@ select cd.main_billing_country_iso_3_per_deal, cd.effective_deal_start_date_utc, cd.effective_deal_start_month, + icnddsd.min_user_in_new_dash_since_date_utc, cd.hubspot_deal_cancellation_date_utc, cd.hubspot_deal_cancellation_month, cd.hubspot_listing_segmentation from combined_deals cd +left join int_core__new_dash_deal_since_date icnddsd on cd.id_deal = icnddsd.id_deal diff --git a/models/intermediate/kpis/schema.yml b/models/intermediate/kpis/schema.yml index 00b8a09..65886bc 100644 --- a/models/intermediate/kpis/schema.yml +++ b/models/intermediate/kpis/schema.yml @@ -496,6 +496,10 @@ models: to the month. data_tests: - not_null + - name: min_user_in_new_dash_since_date_utc + data_type: date + description: | + The date when the first user host appeared in New Dash for this deal. - name: hubspot_deal_cancellation_date_utc data_type: date description: | diff --git a/models/reporting/general/monthly_aggregated_metrics_history_by_deal.sql b/models/reporting/general/monthly_aggregated_metrics_history_by_deal.sql index caeb109..5226cd4 100644 --- a/models/reporting/general/monthly_aggregated_metrics_history_by_deal.sql +++ b/models/reporting/general/monthly_aggregated_metrics_history_by_deal.sql @@ -10,6 +10,7 @@ select date as date, id_deal as id_deal, client_type as client_type, + business_scope as business_scope, main_deal_name as main_deal_name, main_billing_country_iso_3_per_deal as main_billing_country_iso_3_per_deal, deal_lifecycle_state as deal_lifecycle_state, diff --git a/models/reporting/general/monthly_aggregated_metrics_history_by_deal_by_time_window.sql b/models/reporting/general/monthly_aggregated_metrics_history_by_deal_by_time_window.sql index baed7a8..dd7bc8d 100644 --- a/models/reporting/general/monthly_aggregated_metrics_history_by_deal_by_time_window.sql +++ b/models/reporting/general/monthly_aggregated_metrics_history_by_deal_by_time_window.sql @@ -14,6 +14,7 @@ select main_deal_name as main_deal_name, has_active_pms as has_active_pms, client_type as client_type, + business_scope as business_scope, active_pms_list as active_pms_list, active_accommodations_per_deal_segmentation as active_accommodations_per_deal_segmentation, diff --git a/models/reporting/general/schema.yml b/models/reporting/general/schema.yml index 150fdef..2057293 100644 --- a/models/reporting/general/schema.yml +++ b/models/reporting/general/schema.yml @@ -505,6 +505,19 @@ models: - PLATFORM - API + - name: business_scope + data_type: string + description: | + Business scope identifying the metric source. + data_tests: + - not_null + - accepted_values: + values: + - "Old Dash" + - "New Dash" + - "API" + - "UNSET" + - name: main_deal_name data_type: string description: | @@ -1524,6 +1537,19 @@ models: - PLATFORM - API + - name: business_scope + data_type: string + description: | + Business scope identifying the metric source. + data_tests: + - not_null + - accepted_values: + values: + - "Old Dash" + - "New Dash" + - "API" + - "UNSET" + - name: metric_from_date data_type: date description: |