Exposes the following metrics: 1. Invoiced Booking Fees 1. Invoiced Listing Fees 1. Invoiced Verification Fees 1. Invoiced Guesty Fees 1. Invoiced E-Deposit Fees 1. Deposit Fees 1. Waiver Amount Paid by Guests 1. Waiver Amount Paid back to Hosts 1. Check-In Hero Amount Paid by Guests This PR is only for Global metrics, the one by deal id will follow separately. Keep in mind that merging this PR will make the data appear in the report. Related work items: #18914
412 lines
16 KiB
SQL
412 lines
16 KiB
SQL
{% set metrics = [
|
|
{
|
|
"order_by": 1,
|
|
"metric": "Created Bookings",
|
|
"value": "created_bookings",
|
|
"previous_year_value": "previous_year_created_bookings",
|
|
"relative_increment": "relative_increment_created_bookings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 2,
|
|
"metric": "Cancelled Bookings",
|
|
"value": "cancelled_bookings",
|
|
"previous_year_value": "previous_year_cancelled_bookings",
|
|
"relative_increment": "relative_increment_cancelled_bookings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 3,
|
|
"metric": "Checkout Bookings",
|
|
"value": "check_out_bookings",
|
|
"previous_year_value": "previous_year_check_out_bookings",
|
|
"relative_increment": "relative_increment_check_out_bookings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 11,
|
|
"metric": "Guest Journey Started",
|
|
"value": "started_guest_journeys",
|
|
"previous_year_value": "previous_year_started_guest_journeys",
|
|
"relative_increment": "relative_increment_started_guest_journeys",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 12,
|
|
"metric": "Guest Journey Completed",
|
|
"value": "completed_guest_journeys",
|
|
"previous_year_value": "previous_year_completed_guest_journeys",
|
|
"relative_increment": "relative_increment_completed_guest_journeys",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 13,
|
|
"metric": "Guest Journey with Payment",
|
|
"value": "paid_guest_journeys",
|
|
"previous_year_value": "previous_year_paid_guest_journeys",
|
|
"relative_increment": "relative_increment_paid_guest_journeys",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 20,
|
|
"metric": "New Deals",
|
|
"value": "new_deals",
|
|
"previous_year_value": "previous_year_new_deals",
|
|
"relative_increment": "relative_increment_new_deals",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 21,
|
|
"metric": "First Time Booked Deals",
|
|
"value": "first_time_booked_deals",
|
|
"previous_year_value": "previous_year_first_time_booked_deals",
|
|
"relative_increment": "relative_increment_first_time_booked_deals",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 22,
|
|
"metric": "Deals Booked in Month",
|
|
"value": "deals_booked_in_month",
|
|
"previous_year_value": "previous_year_deals_booked_in_month",
|
|
"relative_increment": "relative_increment_deals_booked_in_month",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 23,
|
|
"metric": "Deals Booked in 6 Months",
|
|
"value": "deals_booked_in_6_months",
|
|
"previous_year_value": "previous_year_deals_booked_in_6_months",
|
|
"relative_increment": "relative_increment_deals_booked_in_6_months",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 24,
|
|
"metric": "Deals Booked in 12 Months",
|
|
"value": "deals_booked_in_12_months",
|
|
"previous_year_value": "previous_year_deals_booked_in_12_months",
|
|
"relative_increment": "relative_increment_deals_booked_in_12_months",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 25,
|
|
"metric": "Churning Deals",
|
|
"value": "churning_deals",
|
|
"previous_year_value": "previous_year_churning_deals",
|
|
"relative_increment": "relative_increment_churning_deals",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 30,
|
|
"metric": "New Listings",
|
|
"value": "new_listings",
|
|
"previous_year_value": "previous_year_new_listings",
|
|
"relative_increment": "relative_increment_new_listings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 31,
|
|
"metric": "First Time Booked Listings",
|
|
"value": "first_time_booked_listings",
|
|
"previous_year_value": "previous_year_first_time_booked_listings",
|
|
"relative_increment": "relative_increment_first_time_booked_listings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 32,
|
|
"metric": "Listings Booked in Month",
|
|
"value": "listings_booked_in_month",
|
|
"previous_year_value": "previous_year_listings_booked_in_month",
|
|
"relative_increment": "relative_increment_listings_booked_in_month",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 33,
|
|
"metric": "Listings Booked in 6 Months",
|
|
"value": "listings_booked_in_6_months",
|
|
"previous_year_value": "previous_year_listings_booked_in_6_months",
|
|
"relative_increment": "relative_increment_listings_booked_in_6_months",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 34,
|
|
"metric": "Listings Booked in 12 Months",
|
|
"value": "listings_booked_in_12_months",
|
|
"previous_year_value": "previous_year_listings_booked_in_12_months",
|
|
"relative_increment": "relative_increment_listings_booked_in_12_months",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 35,
|
|
"metric": "Churning Listings",
|
|
"value": "churning_listings",
|
|
"previous_year_value": "previous_year_churning_listings",
|
|
"relative_increment": "relative_increment_churning_listings",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 40,
|
|
"metric": "Host Resolutions Payment Count",
|
|
"value": "xero_host_resolution_payment_count",
|
|
"previous_year_value": "previous_year_xero_host_resolution_payment_count",
|
|
"relative_increment": "relative_increment_xero_host_resolution_payment_count",
|
|
"number_format": "integer",
|
|
},
|
|
{
|
|
"order_by": 100,
|
|
"metric": "Guest Journey Start Rate",
|
|
"value": "start_rate_guest_journey",
|
|
"previous_year_value": "previous_year_start_rate_guest_journey",
|
|
"relative_increment": "relative_increment_start_rate_guest_journey",
|
|
"number_format": "percentage",
|
|
},
|
|
{
|
|
"order_by": 101,
|
|
"metric": "Guest Journey Completion Rate",
|
|
"value": "completion_rate_guest_journey",
|
|
"previous_year_value": "previous_year_completion_rate_guest_journey",
|
|
"relative_increment": "relative_increment_completion_rate_guest_journey",
|
|
"number_format": "percentage",
|
|
},
|
|
{
|
|
"order_by": 102,
|
|
"metric": "Guest Journey Incompletion Rate",
|
|
"value": "incompletion_rate_guest_journey",
|
|
"previous_year_value": "previous_year_incompletion_rate_guest_journey",
|
|
"relative_increment": "relative_increment_incompletion_rate_guest_journey",
|
|
"number_format": "percentage",
|
|
},
|
|
{
|
|
"order_by": 103,
|
|
"metric": "Guest Journey Payment Rate",
|
|
"value": "payment_rate_guest_journey",
|
|
"previous_year_value": "previous_year_payment_rate_guest_journey",
|
|
"relative_increment": "relative_increment_payment_rate_guest_journey",
|
|
"number_format": "percentage",
|
|
},
|
|
{
|
|
"order_by": 200,
|
|
"metric": "Total Revenue",
|
|
"value": "total_revenue_in_gbp",
|
|
"previous_year_value": "previous_year_total_revenue_in_gbp",
|
|
"relative_increment": "relative_increment_total_revenue_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 201,
|
|
"metric": "Total Revenue per Booking Created",
|
|
"value": "total_revenue_per_created_booking",
|
|
"previous_year_value": "previous_year_total_revenue_per_created_booking",
|
|
"relative_increment": "relative_increment_total_revenue_per_created_booking",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 202,
|
|
"metric": "Total Revenue per Guest Journey Created",
|
|
"value": "total_revenue_per_created_guest_journey",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 203,
|
|
"metric": "Total Revenue per Deals Booked in Month",
|
|
"value": "total_revenue_per_deals_booked_in_month",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 204,
|
|
"metric": "Total Revenue per Listings Booked in Month",
|
|
"value": "total_revenue_per_listings_booked_in_month",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 220,
|
|
"metric": "Invoiced Operator Revenue",
|
|
"value": "xero_operator_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 225,
|
|
"metric": "Invoiced Booking Fees",
|
|
"value": "xero_booking_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 226,
|
|
"metric": "Invoiced Listing Fees",
|
|
"value": "xero_listing_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 227,
|
|
"metric": "Invoiced Verification Fees",
|
|
"value": "xero_verification_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 230,
|
|
"metric": "Invoiced APIs Revenue",
|
|
"value": "xero_apis_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 235,
|
|
"metric": "Invoiced Guesty Fees",
|
|
"value": "xero_guesty_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 236,
|
|
"metric": "Invoiced E-Deposit Fees",
|
|
"value": "xero_e_deposit_net_fees_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 250,
|
|
"metric": "Guest Revenue",
|
|
"value": "total_guest_revenue_in_gbp",
|
|
"previous_year_value": "previous_year_total_guest_revenue_in_gbp",
|
|
"relative_increment": "relative_increment_total_guest_revenue_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 251,
|
|
"metric": "Guest Revenue per Guest Journey Completed",
|
|
"value": "guest_revenue_per_completed_guest_journey",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 252,
|
|
"metric": "Guest Revenue per Guest Journey with Payment",
|
|
"value": "guest_revenue_per_paid_guest_journey",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 260,
|
|
"metric": "Deposit Fees",
|
|
"value": "deposit_fees_in_gbp",
|
|
"previous_year_value": "previous_year_deposit_fees_in_gbp",
|
|
"relative_increment": "relative_increment_deposit_fees_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 262,
|
|
"metric": "Waiver Amount Paid by Guests",
|
|
"value": "waiver_payments_in_gbp",
|
|
"previous_year_value": "previous_year_waiver_payments_in_gbp",
|
|
"relative_increment": "relative_increment_waiver_payments_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 263,
|
|
"metric": "Waiver Amount Paid back to Hosts",
|
|
"value": "xero_waiver_paid_back_to_host_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 264,
|
|
"metric": "Waiver Net Fees",
|
|
"value": "waiver_net_fees_in_gbp",
|
|
"previous_year_value": "previous_year_waiver_net_fees_in_gbp",
|
|
"relative_increment": "relative_increment_waiver_net_fees_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 265,
|
|
"metric": "Check-In Hero Amount Paid by Guests",
|
|
"value": "checkin_cover_fees_in_gbp",
|
|
"previous_year_value": "previous_year_checkin_cover_fees_in_gbp",
|
|
"relative_increment": "relative_increment_checkin_cover_fees_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 270,
|
|
"metric": "Host Resolutions Amount Paid",
|
|
"value": "xero_host_resolution_amount_paid_in_gbp",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 290,
|
|
"metric": "Guest Payments",
|
|
"value": "total_guest_payments_in_gbp",
|
|
"previous_year_value": "previous_year_total_guest_payments_in_gbp",
|
|
"relative_increment": "relative_increment_total_guest_payments_in_gbp",
|
|
"number_format": "currency_gbp",
|
|
},
|
|
{
|
|
"order_by": 291,
|
|
"metric": "Guest Payments per Guest Journey Completed",
|
|
"value": "guest_payments_per_completed_guest_journey",
|
|
"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",
|
|
},
|
|
{
|
|
"order_by": 292,
|
|
"metric": "Guest Payments per Guest Journey with Payment",
|
|
"value": "guest_payments_per_paid_guest_journey",
|
|
"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",
|
|
}
|
|
] %}
|
|
with
|
|
int_mtd_vs_previous_year_metrics as (
|
|
select * from {{ ref("int_mtd_vs_previous_year_metrics") }}
|
|
)
|
|
{% for metric in metrics %}
|
|
select
|
|
year,
|
|
month,
|
|
day,
|
|
is_end_of_month,
|
|
is_current_month,
|
|
first_day_month,
|
|
date,
|
|
previous_year_date,
|
|
{{ metric.order_by }} as order_by,
|
|
-- quotation marks added because text format
|
|
'{{ metric.number_format }}' as number_format,
|
|
'{{ metric.metric }}' as metric,
|
|
{{ metric.value }} as value,
|
|
{{ metric.previous_year_value }} as previous_year_value,
|
|
{{ metric.relative_increment }} as relative_increment
|
|
from int_mtd_vs_previous_year_metrics
|
|
{% if not loop.last %}
|
|
union all
|
|
{% endif %}
|
|
{% endfor %}
|