Merged PR 4411: Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
# Description
Changes:
* Adapt business_kpis_configuration to include By Business Scope as production dimension.
* Sets in int_mtd_metrics_vs_previous_year the selection of business scope dimension for all KPIs models. This does not affect cross kpis models (churn/mrr). I might need to check later how to adapt Churn to include this dimension, but it's not considered as for this PR. Lastly, Billable Bookings excludes New Dash.
* Adapts condition in int_mtd_metrics_vs_previous_year so MTD values would appear independently of these appearing in the previous year. This is, the model was considering that to show current month MTD values, the dimension needed to exist the year prior. This does not happen with New Dash and I assume we never noticed because in any case, most of our dimensions have quite a long history.
* Adapts int_kpis__agg_dates_main_kpis to include the business scope dimension. By the way it's actually handled, it kind of assumes that a Deal can only be in New or Old Dash (this is correct), but while on New Dash, this deal won't have data for Old Dash (this might not be 100% correct). In any case, the global figure should be ok, and only on the deal + business scope dimensionality this could cause some potential problems. However, this is not being reported anyway at the moment.
* Adapts int_kpis__agg_dates_main_kpis to have a proper variable value for the dimensions, and this is further included in business_kpis_configuration as any other model.
Small changes:
* Adapts Churn metrics to read from dimension_deals rather than core__deals. This should be more accurate anyway.
# Checklist
- [ ] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.
# Other
- [ ] Check if a full-refresh is required after this PR is merged.
Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
Related work items: #27356
2025-02-14 14:12:39 +00:00
|
|
|
{% set dimensions = get_kpi_dimensions_per_model("MAIN_KPIS_DATES") %}
|
2024-11-11 15:57:37 +00:00
|
|
|
|
|
|
|
|
{{ config(materialized="table", unique_key=["date", "dimension", "dimension_value"]) }}
|
|
|
|
|
|
|
|
|
|
with
|
|
|
|
|
daily_dim as (
|
|
|
|
|
select distinct
|
|
|
|
|
ikdd.year,
|
|
|
|
|
ikdd.month,
|
|
|
|
|
ikdd.day,
|
|
|
|
|
ikdd.date,
|
|
|
|
|
-- Dimensions --
|
Merged PR 3914: Include Hubspot deals for KPIs
# Description
Context: I'm intending to work on Account Managers reporting, that mostly will include reporting at Deal level the Resolutions Payouts as well as the new Retained metrics. While checking the great increase on Resolutions Payouts for October 2024:

I decided to take a quick look into the main players... and surprise surprise we have Guesty:

So Guesty represents 37k over the 73K of October. 50%. Not bad.
The main issue is that we've been aware for months now (since Churn efforts, mostly) that we're not reporting in KPIs those deals that are NOT created in Core. Most notably, API deals which includes... well, Guesty. So creating this kind of in-depth Account Managers improvement without reporting Guesty I think it would be very misleading. Note that the overall figures (Global dimension) are still accurate, though.
What's new:
* A new model named `int_kpis__dimension_deals` that basically retrieves Deals from both Core (as before) and Hubspot. It combines information from both and mostly assumes Hubspot as a better source of information than Core - although we do not have the Main Billing Country there afaik.
* Propagates changes, mostly in the monthly by deal view of Main KPIs. Here I confirm that now Guesty appears, and it only has metrics that come from Xero (APIs Revenue, Total Revenue, Resolutions, etc)
# 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.
- [X] I have checked for DRY opportunities with other models and docs.
- [X] 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: #25829
2024-12-31 15:12:38 +00:00
|
|
|
coalesce(ikd_deals.id_deal, 'UNSET') as id_deal,
|
Merged PR 4411: Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
# Description
Changes:
* Adapt business_kpis_configuration to include By Business Scope as production dimension.
* Sets in int_mtd_metrics_vs_previous_year the selection of business scope dimension for all KPIs models. This does not affect cross kpis models (churn/mrr). I might need to check later how to adapt Churn to include this dimension, but it's not considered as for this PR. Lastly, Billable Bookings excludes New Dash.
* Adapts condition in int_mtd_metrics_vs_previous_year so MTD values would appear independently of these appearing in the previous year. This is, the model was considering that to show current month MTD values, the dimension needed to exist the year prior. This does not happen with New Dash and I assume we never noticed because in any case, most of our dimensions have quite a long history.
* Adapts int_kpis__agg_dates_main_kpis to include the business scope dimension. By the way it's actually handled, it kind of assumes that a Deal can only be in New or Old Dash (this is correct), but while on New Dash, this deal won't have data for Old Dash (this might not be 100% correct). In any case, the global figure should be ok, and only on the deal + business scope dimensionality this could cause some potential problems. However, this is not being reported anyway at the moment.
* Adapts int_kpis__agg_dates_main_kpis to have a proper variable value for the dimensions, and this is further included in business_kpis_configuration as any other model.
Small changes:
* Adapts Churn metrics to read from dimension_deals rather than core__deals. This should be more accurate anyway.
# Checklist
- [ ] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.
# Other
- [ ] Check if a full-refresh is required after this PR is merged.
Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
Related work items: #27356
2025-02-14 14:12:39 +00:00
|
|
|
case
|
|
|
|
|
when ikd_deals.client_type = 'API'
|
|
|
|
|
then 'API'
|
|
|
|
|
when ikd_deals.client_type = 'PLATFORM'
|
|
|
|
|
then
|
|
|
|
|
case
|
|
|
|
|
when
|
|
|
|
|
icnddsd.id_deal is not null
|
|
|
|
|
and ikdd.date >= icnddsd.min_user_in_new_dash_since_date_utc
|
|
|
|
|
then 'New Dash'
|
|
|
|
|
else 'Old Dash'
|
|
|
|
|
end
|
|
|
|
|
else 'UNSET'
|
|
|
|
|
end as business_scope,
|
2024-11-11 15:57:37 +00:00
|
|
|
coalesce(
|
Merged PR 3914: Include Hubspot deals for KPIs
# Description
Context: I'm intending to work on Account Managers reporting, that mostly will include reporting at Deal level the Resolutions Payouts as well as the new Retained metrics. While checking the great increase on Resolutions Payouts for October 2024:

I decided to take a quick look into the main players... and surprise surprise we have Guesty:

So Guesty represents 37k over the 73K of October. 50%. Not bad.
The main issue is that we've been aware for months now (since Churn efforts, mostly) that we're not reporting in KPIs those deals that are NOT created in Core. Most notably, API deals which includes... well, Guesty. So creating this kind of in-depth Account Managers improvement without reporting Guesty I think it would be very misleading. Note that the overall figures (Global dimension) are still accurate, though.
What's new:
* A new model named `int_kpis__dimension_deals` that basically retrieves Deals from both Core (as before) and Hubspot. It combines information from both and mostly assumes Hubspot as a better source of information than Core - although we do not have the Main Billing Country there afaik.
* Propagates changes, mostly in the monthly by deal view of Main KPIs. Here I confirm that now Guesty appears, and it only has metrics that come from Xero (APIs Revenue, Total Revenue, Resolutions, etc)
# 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.
- [X] I have checked for DRY opportunities with other models and docs.
- [X] 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: #25829
2024-12-31 15:12:38 +00:00
|
|
|
ikd_deals.main_billing_country_iso_3_per_deal, 'UNSET'
|
2024-11-11 15:57:37 +00:00
|
|
|
) as main_billing_country_iso_3_per_deal,
|
|
|
|
|
coalesce(
|
|
|
|
|
icmas.active_accommodations_per_deal_segmentation, 'UNSET'
|
|
|
|
|
) as active_accommodations_per_deal_segmentation,
|
|
|
|
|
ikdd.first_day_month,
|
|
|
|
|
ikdd.last_day_month,
|
|
|
|
|
ikdd.is_end_of_month,
|
2024-12-09 16:13:52 +00:00
|
|
|
ikdd.is_current_month,
|
|
|
|
|
case
|
|
|
|
|
when ikdd.is_yesterday or ikdd.is_end_of_month then true else false
|
|
|
|
|
end as is_end_of_month_or_yesterday
|
2024-11-11 15:57:37 +00:00
|
|
|
from {{ ref("int_kpis__dimension_dates") }} as ikdd
|
|
|
|
|
left join
|
Merged PR 3914: Include Hubspot deals for KPIs
# Description
Context: I'm intending to work on Account Managers reporting, that mostly will include reporting at Deal level the Resolutions Payouts as well as the new Retained metrics. While checking the great increase on Resolutions Payouts for October 2024:

I decided to take a quick look into the main players... and surprise surprise we have Guesty:

So Guesty represents 37k over the 73K of October. 50%. Not bad.
The main issue is that we've been aware for months now (since Churn efforts, mostly) that we're not reporting in KPIs those deals that are NOT created in Core. Most notably, API deals which includes... well, Guesty. So creating this kind of in-depth Account Managers improvement without reporting Guesty I think it would be very misleading. Note that the overall figures (Global dimension) are still accurate, though.
What's new:
* A new model named `int_kpis__dimension_deals` that basically retrieves Deals from both Core (as before) and Hubspot. It combines information from both and mostly assumes Hubspot as a better source of information than Core - although we do not have the Main Billing Country there afaik.
* Propagates changes, mostly in the monthly by deal view of Main KPIs. Here I confirm that now Guesty appears, and it only has metrics that come from Xero (APIs Revenue, Total Revenue, Resolutions, etc)
# 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.
- [X] I have checked for DRY opportunities with other models and docs.
- [X] 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: #25829
2024-12-31 15:12:38 +00:00
|
|
|
{{ ref("int_kpis__dimension_deals") }} as ikd_deals
|
|
|
|
|
on ikdd.date >= ikd_deals.effective_deal_start_date_utc
|
2024-11-11 15:57:37 +00:00
|
|
|
left join
|
|
|
|
|
{{ ref("int_kpis__dimension_daily_accommodation") }} as icmas
|
Merged PR 3914: Include Hubspot deals for KPIs
# Description
Context: I'm intending to work on Account Managers reporting, that mostly will include reporting at Deal level the Resolutions Payouts as well as the new Retained metrics. While checking the great increase on Resolutions Payouts for October 2024:

I decided to take a quick look into the main players... and surprise surprise we have Guesty:

So Guesty represents 37k over the 73K of October. 50%. Not bad.
The main issue is that we've been aware for months now (since Churn efforts, mostly) that we're not reporting in KPIs those deals that are NOT created in Core. Most notably, API deals which includes... well, Guesty. So creating this kind of in-depth Account Managers improvement without reporting Guesty I think it would be very misleading. Note that the overall figures (Global dimension) are still accurate, though.
What's new:
* A new model named `int_kpis__dimension_deals` that basically retrieves Deals from both Core (as before) and Hubspot. It combines information from both and mostly assumes Hubspot as a better source of information than Core - although we do not have the Main Billing Country there afaik.
* Propagates changes, mostly in the monthly by deal view of Main KPIs. Here I confirm that now Guesty appears, and it only has metrics that come from Xero (APIs Revenue, Total Revenue, Resolutions, etc)
# 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.
- [X] I have checked for DRY opportunities with other models and docs.
- [X] 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: #25829
2024-12-31 15:12:38 +00:00
|
|
|
on ikd_deals.id_deal = icmas.id_deal
|
2024-11-11 15:57:37 +00:00
|
|
|
and ikdd.date = icmas.date
|
Merged PR 4411: Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
# Description
Changes:
* Adapt business_kpis_configuration to include By Business Scope as production dimension.
* Sets in int_mtd_metrics_vs_previous_year the selection of business scope dimension for all KPIs models. This does not affect cross kpis models (churn/mrr). I might need to check later how to adapt Churn to include this dimension, but it's not considered as for this PR. Lastly, Billable Bookings excludes New Dash.
* Adapts condition in int_mtd_metrics_vs_previous_year so MTD values would appear independently of these appearing in the previous year. This is, the model was considering that to show current month MTD values, the dimension needed to exist the year prior. This does not happen with New Dash and I assume we never noticed because in any case, most of our dimensions have quite a long history.
* Adapts int_kpis__agg_dates_main_kpis to include the business scope dimension. By the way it's actually handled, it kind of assumes that a Deal can only be in New or Old Dash (this is correct), but while on New Dash, this deal won't have data for Old Dash (this might not be 100% correct). In any case, the global figure should be ok, and only on the deal + business scope dimensionality this could cause some potential problems. However, this is not being reported anyway at the moment.
* Adapts int_kpis__agg_dates_main_kpis to have a proper variable value for the dimensions, and this is further included in business_kpis_configuration as any other model.
Small changes:
* Adapts Churn metrics to read from dimension_deals rather than core__deals. This should be more accurate anyway.
# Checklist
- [ ] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.
# Other
- [ ] Check if a full-refresh is required after this PR is merged.
Propagates New Dash/Old Dash/APIs split in KPIs as per Business Scope
Related work items: #27356
2025-02-14 14:12:39 +00:00
|
|
|
left join
|
|
|
|
|
{{ ref("int_core__new_dash_deal_since_date") }} as icnddsd
|
|
|
|
|
on ikd_deals.id_deal = icnddsd.id_deal
|
2024-11-11 15:57:37 +00:00
|
|
|
where (ikdd.is_month_to_date = true or ikdd.is_end_of_month)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
{% for dimension in dimensions %}
|
|
|
|
|
select distinct
|
|
|
|
|
year,
|
|
|
|
|
month,
|
|
|
|
|
day,
|
|
|
|
|
date,
|
|
|
|
|
{{ dimension.dimension }} as dimension,
|
|
|
|
|
{{ dimension.dimension_value }} as dimension_value,
|
|
|
|
|
first_day_month,
|
|
|
|
|
last_day_month,
|
|
|
|
|
is_end_of_month,
|
2024-12-09 16:13:52 +00:00
|
|
|
is_current_month,
|
|
|
|
|
is_end_of_month_or_yesterday
|
2024-11-11 15:57:37 +00:00
|
|
|
from daily_dim
|
|
|
|
|
where {{ dimension.dimension_value }} <> 'UNSET'
|
|
|
|
|
{% if not loop.last %}
|
|
|
|
|
union all
|
|
|
|
|
{% endif %}
|
|
|
|
|
{% endfor %}
|