Merged PR 2524: Added relative_increment_with_sign_format

# Description

Added relative_increment_with_sign_format for special formatting in PBI

# 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.

Added relative_increment_with_sign_format

Related work items: #19559
This commit is contained in:
Joaquin Ossa 2024-08-08 13:02:25 +00:00
commit 90a7ad5eea
2 changed files with 74 additions and 14 deletions

View file

@ -6,6 +6,7 @@
"previous_year_value": "previous_year_created_bookings",
"relative_increment": "relative_increment_created_bookings",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 2,
@ -14,6 +15,7 @@
"previous_year_value": "previous_year_cancelled_bookings",
"relative_increment": "relative_increment_cancelled_bookings",
"number_format": "integer",
"increment_sign_format": "negative",
},
{
"order_by": 3,
@ -22,14 +24,16 @@
"previous_year_value": "previous_year_check_out_bookings",
"relative_increment": "relative_increment_check_out_bookings",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
{
"order_by": 4,
"metric": "Guest Journey Created",
"value": "created_guest_journeys",
"previous_year_value": "previous_year_created_guest_journeys",
"relative_increment": "relative_increment_created_guest_journeys",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 11,
@ -38,6 +42,7 @@
"previous_year_value": "previous_year_started_guest_journeys",
"relative_increment": "relative_increment_started_guest_journeys",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 12,
@ -46,6 +51,7 @@
"previous_year_value": "previous_year_completed_guest_journeys",
"relative_increment": "relative_increment_completed_guest_journeys",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 13,
@ -54,6 +60,7 @@
"previous_year_value": "previous_year_paid_guest_journeys",
"relative_increment": "relative_increment_paid_guest_journeys",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 20,
@ -62,6 +69,7 @@
"previous_year_value": "previous_year_new_deals",
"relative_increment": "relative_increment_new_deals",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 21,
@ -70,6 +78,7 @@
"previous_year_value": "previous_year_first_time_booked_deals",
"relative_increment": "relative_increment_first_time_booked_deals",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 22,
@ -78,6 +87,7 @@
"previous_year_value": "previous_year_deals_booked_in_month",
"relative_increment": "relative_increment_deals_booked_in_month",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 23,
@ -86,6 +96,7 @@
"previous_year_value": "previous_year_deals_booked_in_6_months",
"relative_increment": "relative_increment_deals_booked_in_6_months",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 24,
@ -94,6 +105,7 @@
"previous_year_value": "previous_year_deals_booked_in_12_months",
"relative_increment": "relative_increment_deals_booked_in_12_months",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 25,
@ -102,6 +114,7 @@
"previous_year_value": "previous_year_churning_deals",
"relative_increment": "relative_increment_churning_deals",
"number_format": "integer",
"increment_sign_format": "negative",
},
{
"order_by": 30,
@ -110,6 +123,7 @@
"previous_year_value": "previous_year_new_listings",
"relative_increment": "relative_increment_new_listings",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 31,
@ -118,6 +132,7 @@
"previous_year_value": "previous_year_first_time_booked_listings",
"relative_increment": "relative_increment_first_time_booked_listings",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 32,
@ -126,6 +141,7 @@
"previous_year_value": "previous_year_listings_booked_in_month",
"relative_increment": "relative_increment_listings_booked_in_month",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 33,
@ -134,6 +150,7 @@
"previous_year_value": "previous_year_listings_booked_in_6_months",
"relative_increment": "relative_increment_listings_booked_in_6_months",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 34,
@ -142,6 +159,7 @@
"previous_year_value": "previous_year_listings_booked_in_12_months",
"relative_increment": "relative_increment_listings_booked_in_12_months",
"number_format": "integer",
"increment_sign_format": "positive",
},
{
"order_by": 35,
@ -150,6 +168,7 @@
"previous_year_value": "previous_year_churning_listings",
"relative_increment": "relative_increment_churning_listings",
"number_format": "integer",
"increment_sign_format": "negative",
},
{
"order_by": 40,
@ -158,6 +177,7 @@
"previous_year_value": "previous_year_xero_host_resolution_payment_count",
"relative_increment": "relative_increment_xero_host_resolution_payment_count",
"number_format": "integer",
"increment_sign_format": "negative",
},
{
"order_by": 100,
@ -166,6 +186,7 @@
"previous_year_value": "previous_year_start_rate_guest_journey",
"relative_increment": "relative_increment_start_rate_guest_journey",
"number_format": "percentage",
"increment_sign_format": "positive",
},
{
"order_by": 101,
@ -174,6 +195,7 @@
"previous_year_value": "previous_year_completion_rate_guest_journey",
"relative_increment": "relative_increment_completion_rate_guest_journey",
"number_format": "percentage",
"increment_sign_format": "positive",
},
{
"order_by": 102,
@ -182,6 +204,7 @@
"previous_year_value": "previous_year_incompletion_rate_guest_journey",
"relative_increment": "relative_increment_incompletion_rate_guest_journey",
"number_format": "percentage",
"increment_sign_format": "negative",
},
{
"order_by": 103,
@ -190,6 +213,7 @@
"previous_year_value": "previous_year_payment_rate_guest_journey",
"relative_increment": "relative_increment_payment_rate_guest_journey",
"number_format": "percentage",
"increment_sign_format": "positive",
},
{
"order_by": 200,
@ -198,6 +222,7 @@
"previous_year_value": "previous_year_total_revenue_in_gbp",
"relative_increment": "relative_increment_total_revenue_in_gbp",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 201,
@ -206,6 +231,7 @@
"previous_year_value": "previous_year_total_revenue_per_created_booking",
"relative_increment": "relative_increment_total_revenue_per_created_booking",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 202,
@ -214,6 +240,7 @@
"previous_year_value": "previous_year_total_revenue_per_created_guest_journey",
"relative_increment": "relative_increment_total_revenue_per_created_guest_journey",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 203,
@ -222,6 +249,7 @@
"previous_year_value": "previous_year_total_revenue_per_deals_booked_in_month",
"relative_increment": "relative_increment_total_revenue_per_deals_booked_in_month",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 204,
@ -230,6 +258,7 @@
"previous_year_value": "previous_year_total_revenue_per_listings_booked_in_month",
"relative_increment": "relative_increment_total_revenue_per_listings_booked_in_month",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 220,
@ -238,7 +267,8 @@
"previous_year_value": "previous_year_xero_operator_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_operator_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 225,
"metric": "Invoiced Booking Fees",
@ -246,7 +276,8 @@
"previous_year_value": "previous_year_xero_booking_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_booking_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 226,
"metric": "Invoiced Listing Fees",
@ -254,7 +285,8 @@
"previous_year_value": "previous_year_xero_listing_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_listing_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 227,
"metric": "Invoiced Verification Fees",
@ -262,7 +294,8 @@
"previous_year_value": "previous_year_xero_verification_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_verification_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 230,
"metric": "Invoiced APIs Revenue",
@ -270,7 +303,8 @@
"previous_year_value": "previous_year_xero_apis_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_apis_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 235,
"metric": "Invoiced Guesty Fees",
@ -278,7 +312,8 @@
"previous_year_value": "previous_year_xero_guesty_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_guesty_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 236,
"metric": "Invoiced E-Deposit Fees",
@ -286,7 +321,8 @@
"previous_year_value": "previous_year_xero_e_deposit_net_fees_in_gbp",
"relative_increment": "relative_increment_xero_e_deposit_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 250,
"metric": "Guest Revenue",
@ -294,6 +330,7 @@
"previous_year_value": "previous_year_total_guest_revenue_in_gbp",
"relative_increment": "relative_increment_total_guest_revenue_in_gbp",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 251,
@ -302,6 +339,7 @@
"previous_year_value": "previous_year_guest_revenue_per_completed_guest_journey",
"relative_increment": "relative_increment_guest_revenue_per_completed_guest_journey",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 252,
@ -310,6 +348,7 @@
"previous_year_value": "previous_year_guest_revenue_per_paid_guest_journey",
"relative_increment": "relative_increment_guest_revenue_per_paid_guest_journey",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 260,
@ -318,6 +357,7 @@
"previous_year_value": "previous_year_deposit_fees_in_gbp",
"relative_increment": "relative_increment_deposit_fees_in_gbp",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 262,
@ -326,7 +366,8 @@
"previous_year_value": "previous_year_waiver_payments_in_gbp",
"relative_increment": "relative_increment_waiver_payments_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 263,
"metric": "Waiver Amount Paid back to Hosts",
@ -334,7 +375,8 @@
"previous_year_value": "previous_year_xero_waiver_paid_back_to_host_in_gbp",
"relative_increment": "relative_increment_xero_waiver_paid_back_to_host_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "negative",
},
{
"order_by": 264,
"metric": "Waiver Net Fees",
@ -342,7 +384,8 @@
"previous_year_value": "previous_year_waiver_net_fees_in_gbp",
"relative_increment": "relative_increment_waiver_net_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 265,
"metric": "Check-In Hero Amount Paid by Guests",
@ -350,7 +393,8 @@
"previous_year_value": "previous_year_checkin_cover_fees_in_gbp",
"relative_increment": "relative_increment_checkin_cover_fees_in_gbp",
"number_format": "currency_gbp",
},
"increment_sign_format": "positive",
},
{
"order_by": 270,
"metric": "Host Resolutions Amount Paid",
@ -358,6 +402,7 @@
"previous_year_value": "previous_year_xero_host_resolution_amount_paid_in_gbp",
"relative_increment": "relative_increment_xero_host_resolution_amount_paid_in_gbp",
"number_format": "currency_gbp",
"increment_sign_format": "negative",
},
{
"order_by": 290,
@ -366,6 +411,7 @@
"previous_year_value": "previous_year_total_guest_payments_in_gbp",
"relative_increment": "relative_increment_total_guest_payments_in_gbp",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 291,
@ -374,6 +420,7 @@
"previous_year_value": "previous_year_guest_payments_per_completed_guest_journey",
"relative_increment": "relative_increment_guest_payments_per_completed_guest_journey",
"number_format": "currency_gbp",
"increment_sign_format": "positive",
},
{
"order_by": 292,
@ -382,7 +429,8 @@
"previous_year_value": "previous_year_guest_payments_per_paid_guest_journey",
"relative_increment": "relative_increment_guest_payments_per_paid_guest_journey",
"number_format": "currency_gbp",
}
"increment_sign_format": "positive",
},
] %}
with
int_mtd_vs_previous_year_metrics as (
@ -404,7 +452,12 @@ with
'{{ metric.metric }}' as metric,
{{ metric.value }} as value,
{{ metric.previous_year_value }} as previous_year_value,
{{ metric.relative_increment }} as relative_increment
{{ metric.relative_increment }} as relative_increment,
case
when {{ metric.increment_sign_format }} = 'negative'
then {{ metric.relative_increment }} * -1
else {{ metric.relative_increment }}
end as relative_increment_with_sign_format
from int_mtd_vs_previous_year_metrics
{% if not loop.last %}
union all

View file

@ -391,6 +391,13 @@ models:
numeric value that corresponds to the relative increment between value and previous year value,
following the computation: value / previous_year_value - 1.
- name: relative_increment_with_sign_format
data_type: numeric
description: |
relative_increment value multiplied by -1 in case this metric's growth doesn't have a
positive impact for Superhog, otherwise is equal to relative_increment.
This value is specially created for formatting in PBI
- name: int_monthly_aggregated_metrics_history_by_deal
description: |