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

@ -3225,18 +3225,18 @@ models:
When precision and recall are far apart, the F2 score will be closer to the
lower of the two.
- name: int_created_bookings_growth_score_by_deal
- name: int_billable_bookings_growth_score_by_deal
description: |
This model computes the growth score of the created bookings for each deal.
This model computes the growth score of the billable bookings for each deal.
The growth score is computed as the average between:
- The created bookings of a given month vs. the average of the previous
- The billable bookings of a given month vs. the average of the previous
3 months.
- The share a deal has in terms of created bookings of a given month
- The share a deal has in terms of billable bookings of a given month
if compared to the rest of the deals vs. the average of the previous 3
months.
The growth score is capped between -1 and 1.
It is important to note that if we check the current month, the count of
created bookings and the corresponding share will be based on the projection,
billable bookings and the corresponding share will be based on the projection,
rather than the actual figure. In this case, the MAE and MAPE of the projected
value are indicated in the model.
While the growth score is computed at a monthly basis, the value will update
@ -3274,12 +3274,12 @@ models:
data_tests:
- not_null
- name: current_month_created_bookings
- name: current_month_billable_bookings
data_type: integer
description: |
Monthly created bookings. If the month is in progress
Monthly billable bookings. If the month is in progress
then this value corresponds to the projected figure.
This is indicated by "are_created_bookings_projected"
This is indicated by "are_billable_bookings_projected"
flag.
data_tests:
- not_null
@ -3287,10 +3287,10 @@ models:
min_value: 0
strictly: false
- name: prior_3_months_avg_monthly_created_bookings
- name: prior_3_months_avg_monthly_billable_bookings
data_type: integer
description: |
Average of the created bookings for the previous 3 months.
Average of the billable bookings for the previous 3 months.
If the selected range is from 1st April 2025 to 30th April 2025,
then this average will be based between 1st January 2025 to
31st March 2025.
@ -3299,12 +3299,12 @@ models:
min_value: 0
strictly: false
- name: current_month_share_created_bookings
- name: current_month_share_billable_bookings
data_type: decimal
description: |
Share of the created bookings for a given deal in the current month.
Share of the billable bookings for a given deal in the current month.
If the month is in progress then this value corresponds to the
projected figure. This is indicated by "are_created_bookings_projected"
projected figure. This is indicated by "are_billable_bookings_projected"
flag.
data_tests:
- not_null
@ -3312,10 +3312,10 @@ models:
min_value: 0
strictly: false
- name: prior_3_months_avg_monthly_share_created_bookings
- name: prior_3_months_avg_monthly_share_billable_bookings
data_type: decimal
description: |
Average of the share of the created bookings for a given deal in the
Average of the share of the billable bookings for a given deal in the
previous 3 months. If the selected range is from 1st April 2025 to
30th April 2025, then this average will be based between 1st January
2025 to 31st March 2025.
@ -3324,21 +3324,21 @@ models:
min_value: 0
strictly: false
- name: growth_vs_prior_3_avg_created_bookings
- name: growth_vs_prior_3_avg_billable_bookings
data_type: decimal
description: |
Growth score of the created bookings based purely on the relative
difference between the current month created bookings vs. the
Growth score of the billable bookings based purely on the relative
difference between the current month billable bookings vs. the
prior 3 months average.
This is a subcomputation of the growth score, for information
purposes.
It can be null.
- name: growth_vs_prior_3_avg_share_created_bookings
- name: growth_vs_prior_3_avg_share_billable_bookings
data_type: decimal
description: |
Growth score of the created bookings based purely on the relative
difference between the current month share created bookings vs. the
Growth score of the billable bookings based purely on the relative
difference between the current month share billable bookings vs. the
prior 3 months average.
This is a subcomputation of the growth score, for information
purposes.
@ -3347,10 +3347,10 @@ models:
- name: growth_score
data_type: decimal
description: |
Growth score of the created bookings, based on the average between:
- The created bookings of a given month vs. the average of the previous
Growth score of the billable bookings, based on the average between:
- The billable bookings of a given month vs. the average of the previous
3 months.
- The share a deal has in terms of created bookings of a given month
- The share a deal has in terms of billable bookings of a given month
if compared to the rest of the deals vs. the average of the previous 3
months.
The growth score is capped between -1 and 1.
@ -3365,7 +3365,7 @@ models:
- name: projection_mean_absolute_error
data_type: decimal
description: |
Mean absolute error of the projection of the created bookings.
Mean absolute error of the projection of the billable bookings.
It is null if the month is not in progress or value is projected
but there's no prior data to compare the projection against.
data_tests:
@ -3376,7 +3376,7 @@ models:
- name: projection_mean_absolute_percentage_error
data_type: decimal
description: |
Mean absolute percentage error of the projection of the created bookings.
Mean absolute percentage error of the projection of the billable bookings.
It is null if the month is not in progress or value is projected
but there's no prior data to compare the projection against.
data_tests:
@ -3384,12 +3384,12 @@ models:
min_value: 0
strictly: false
- name: are_created_bookings_projected
- name: are_billable_bookings_projected
data_type: boolean
description: |
Flag indicating if the created bookings are projected or not.
Flag indicating if the billable bookings are projected or not.
If the month is in progress then this value corresponds to the
projected figure. This is indicated by "are_created_bookings_projected"
projected figure. This is indicated by "are_billable_bookings_projected"
flag.
data_tests:
- not_null