Merged PR 5044: Switch Projected Created Bookings to Billable Bookings

# Description

Switches Created Bookings to Billable Bookings in the scope of Projected Bookings. I opted for hard switching (thus removing Projected Created Bookings) altogether to avoid having unused models in production.

This aims to set the ground to include, in the future, APIs Billable Bookings.

Impact in KPIs:
* `int_kpis__agg_daily_created_bookings` now is `int_kpis__agg_daily_billable_bookings`. Aside from the name change, it's reduced to 4 metrics to just one. Schema changes also apply.

Impact in Projected KPIs:
* `int_kpis_projected__agg_daily_created_bookings` now is `int_kpis_projected__agg_daily_billable_bookings`. Fields are also renamed accordingly.
* `int_kpis_projected__agg_monthly_created_bookings` now is `int_kpis_projected__agg_monthly_billable_bookings`. Fields are also renamed accordingly.
* Schema file is also updated accordingly.

Impact on new model for Growth Score:
* `int_created_bookings_growth_score_by_deal` now is `int_billable_bookings_growth_score_by_deal`. Fields are also renamed accordingly.
* Schema is also updated accordingly.

Note that since the end model `int_billable_bookings_growth_score_by_deal` is not used at the moment in reporting, there's no user-facing impact. Also, the rest of modified models are not used for other purposes.

# 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: #29374
This commit is contained in:
Oriol Roqué Paniagua 2025-04-24 12:42:21 +00:00
parent ca2311d935
commit 653666abad
9 changed files with 269 additions and 284 deletions

View file

@ -100,15 +100,15 @@ models:
data_tests:
- not_null
- name: int_kpis_projected__agg_daily_created_bookings
- name: int_kpis_projected__agg_daily_billable_bookings
description: |
This model provides the projected daily created bookings.
This model provides the projected daily billable bookings.
It considers 2 computations:
- The daily created bookings for the current month,
- The daily created bookings in the past 7 days,
- The daily billable bookings for the current month,
- The daily billable bookings in the past 7 days,
and the final value is an arithmetic mean of both.
This model also retrieves the actual created bookings to be able
This model also retrieves the actual billable bookings to be able
to compare the projected values with the actual ones.
data_tests:
@ -133,7 +133,7 @@ models:
data_tests:
- assert_dimension_completeness:
metric_column_names:
- actual_daily_created_bookings
- actual_daily_billable_bookings
- accepted_values:
values:
- global
@ -193,12 +193,12 @@ models:
data_tests:
- not_null
- name: daily_created_bookings_for_reporting_source
- name: daily_billable_bookings_for_reporting_source
data_type: string
description: |
The source of the daily created bookings for reporting.
The source of the daily billable bookings for reporting.
This field is used to identify the source of the data displayed
in daily_created_bookings_for_reporting to differentiate between
in daily_billable_bookings_for_reporting to differentiate between
the actual and projected values.
It's aimed for reforting purposes as any historical month will
contain the actual figures.
@ -209,25 +209,25 @@ models:
- ACTUAL
- PROJECTED
- name: daily_created_bookings_for_reporting
- name: daily_billable_bookings_for_reporting
data_type: integer
description: |
The daily created bookings for reporting purposes.
The daily billable bookings for reporting purposes.
This field contains both the actual and projected values.
Any date in the future will contain projected values, while
any date in the past will contain actual values.
data_tests:
- not_null
- name: daily_created_bookings_for_evaluation_source
- name: daily_billable_bookings_for_evaluation_source
data_type: string
description: |
Important: This field is used to evaluate the performance
of the projections!
The source of the daily created bookings for evaluation.
The source of the daily billable bookings for evaluation.
This field is used to identify the source of the data displayed
in daily_created_bookings_for_evaluation to differentiate between
in daily_billable_bookings_for_evaluation to differentiate between
the actual and projected values.
It's aimed for evaluation purposes as any historical month can
contain projected figures.
@ -239,13 +239,13 @@ models:
- ACTUAL
- PROJECTED
- name: daily_created_bookings_for_evaluation
- name: daily_billable_bookings_for_evaluation
data_type: integer
description: |
Important: This field is used to evaluate the performance
of the projections!
The daily created bookings for evaluation purposes.
The daily billable bookings for evaluation purposes.
This field contains both the actual and projected values.
Any date in the future will contain projected values. Any date
in the past which day is after the yesterday day will also contain
@ -254,56 +254,56 @@ models:
data_tests:
- not_null
- name: projected_daily_created_bookings
- name: projected_daily_billable_bookings
data_type: integer
description: |
The projected daily created bookings. This field is the result
of the projection of the daily created bookings for the current month
The projected daily billable bookings. This field is the result
of the projection of the daily billable bookings for the current month
and the past 7 days.
data_tests:
- not_null
- name: actual_daily_created_bookings
- name: actual_daily_billable_bookings
description: |
The actual created bookings for the same period as the projected ones.
The actual billable bookings for the same period as the projected ones.
This comes from the standard KPIs.
data_tests:
- not_null
- name: same_month_trend_daily_created_bookings
- name: same_month_trend_daily_billable_bookings
data_type: float
description: |
The average daily created bookings for the current month.
This field is the result of the division of the actual daily created
The average daily billable bookings for the current month.
This field is the result of the division of the actual daily billable
bookings to date by the number of days available within the current month
to date, and contains decimals.
This is just for information purposes.
data_tests:
- not_null
- name: last_7_days_trend_daily_created_bookings
- name: last_7_days_trend_daily_billable_bookings
data_type: float
description: |
The average daily created bookings for the past 7 days.
This field is the result of the division of the actual daily created
The average daily billable bookings for the past 7 days.
This field is the result of the division of the actual daily billable
bookings for the past 7 days by 7 days, and contains decimals.
This is just for information purposes.
data_tests:
- not_null
- name: same_month_trend_total_created_bookings
- name: same_month_trend_total_billable_bookings
data_type: integer
description: |
The total created bookings for the current month.
This field is the result of the sum of the actual daily created
The total billable bookings for the current month.
This field is the result of the sum of the actual daily billable
bookings to date.
This is just for information purposes.
- name: last_7_days_trend_total_created_bookings
- name: last_7_days_trend_total_billable_bookings
data_type: integer
description: |
The total created bookings for the past 7 days.
This field is the result of the sum of the actual daily created
The total billable bookings for the past 7 days.
This field is the result of the sum of the actual daily billable
bookings for the past 7 days.
This is just for information purposes.
@ -323,9 +323,9 @@ models:
past 7 days.
This is just for information purposes.
- name: int_kpis_projected__agg_monthly_created_bookings
- name: int_kpis_projected__agg_monthly_billable_bookings
description: |
This model provides the projected monthly created bookings per dimension
This model provides the projected monthly billable bookings per dimension
and dimension value. It only considers the current month.
Historical data is considered only to assess the performance of the
projections.
@ -359,7 +359,7 @@ models:
data_tests:
- assert_dimension_completeness:
metric_column_names:
- actual_created_bookings
- actual_billable_bookings
- accepted_values:
values:
- global
@ -374,12 +374,12 @@ models:
data_tests:
- not_null
- name: current_month_projected_created_bookings
- name: current_month_projected_billable_bookings
data_type: integer
description: |
The projected monthly created bookings for the current month.
This field is the result of the sum of the actual daily created bookings
for the current month to date and the projected daily created bookings
The projected monthly billable bookings for the current month.
This field is the result of the sum of the actual daily billable bookings
for the current month to date and the projected daily billable bookings
for the rest of the days in the month that are in the future.
The closest we are to the end of the month, the more accurate this value will be.
@ -391,10 +391,10 @@ models:
data_tests:
- not_null
- name: actual_created_bookings
- name: actual_billable_bookings
data_type: integer
description: |
The sum of the actual daily created bookings for the current month to date.
The sum of the actual daily billable bookings for the current month to date.
This comes from the standard KPIs.
data_tests:
- not_null
@ -407,7 +407,7 @@ models:
This field is used to assess the performance of the projections.
This is based on the absolute differences between the projected
monthly created bookings for each previous month vs the actual value.
monthly billable bookings for each previous month vs the actual value.
In order to be consistent, it uses the same number of days available
for the current month to date as the actual value, and the rest of the days
are projected.
@ -425,7 +425,7 @@ models:
This field is used to assess the performance of the projections.
This is based on the absolute percentage differences between the projected
monthly created bookings for each previous month vs the actual value.
monthly billable bookings for each previous month vs the actual value.
In order to be consistent, it uses the same number of days available
for the current month to date as the actual value, and the rest of the days
are projected.