{% 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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "positive", }, { "order_by": 4, "metric": "Est. Billable Bookings", "value": "billable_bookings", "previous_year_value": "previous_year_billable_bookings", "relative_increment": "relative_increment_billable_bookings", "number_format": "integer", "increment_sign_format": "positive", }, { "order_by": 10, "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, "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "positive", }, { "order_by": 120, "metric": "Revenue Churn Rate", "value": "total_revenue_churn_average_contribution", "previous_year_value": "previous_year_total_revenue_churn_average_contribution", "relative_increment": "relative_increment_total_revenue_churn_average_contribution", "number_format": "percentage", "increment_sign_format": "negative", }, { "order_by": 121, "metric": "Bookings Churn Rate", "value": "created_bookings_churn_average_contribution", "previous_year_value": "previous_year_created_bookings_churn_average_contribution", "relative_increment": "relative_increment_created_bookings_churn_average_contribution", "number_format": "percentage", "increment_sign_format": "negative", }, { "order_by": 122, "metric": "Listings Churn Rate", "value": "listings_booked_in_month_churn_average_contribution", "previous_year_value": "previous_year_listings_booked_in_month_churn_average_contribution", "relative_increment": "relative_increment_listings_booked_in_month_churn_average_contribution", "number_format": "percentage", "increment_sign_format": "negative", }, { "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", "increment_sign_format": "positive", }, { "order_by": 201, "metric": "Revenue Retained", "value": "revenue_retained_in_gbp", "previous_year_value": "previous_year_revenue_retained_in_gbp", "relative_increment": "relative_increment_revenue_retained_in_gbp", "number_format": "currency_gbp", "increment_sign_format": "positive", }, { "order_by": 202, "metric": "Revenue Retained Post-Resolutions", "value": "revenue_retained_post_resolutions_in_gbp", "previous_year_value": "previous_year_revenue_retained_post_resolutions_in_gbp", "relative_increment": "relative_increment_revenue_retained_post_resolutions_in_gbp", "number_format": "currency_gbp", "increment_sign_format": "positive", }, { "order_by": 203, "metric": "Expected Onboarding MRR", "value": "expected_mrr", "previous_year_value": "previous_year_expected_mrr", "relative_increment": "relative_increment_expected_mrr", "number_format": "currency_gbp", "increment_sign_format": "positive", }, { "order_by": 211, "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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "order_by": 212, "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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "order_by": 213, "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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "order_by": 214, "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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "order_by": 225, "metric": "Invoiced Booking Fees Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 226, "metric": "Invoiced Listing Fees Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 227, "metric": "Invoiced Verification Fees Revenue", "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "positive", }, { "order_by": 235, "metric": "Invoiced Athena Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 236, "metric": "Invoiced E-Deposit Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 250, "metric": "Guest Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 251, "metric": "Guest Revenue 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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "order_by": 252, "metric": "Guest Revenue 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": "converted_metric_currency_gbp", "increment_sign_format": "positive", }, { "order_by": 260, "metric": "Deposit Fees Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 262, "metric": "Waiver Revenue", "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", "increment_sign_format": "positive", }, { "order_by": 263, "metric": "Damage Host-Waiver Payments", "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", "increment_sign_format": "negative", }, { "order_by": 264, "metric": "Waiver Retained", "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", "increment_sign_format": "positive", }, { "order_by": 265, "metric": "Check-In Hero Revenue", "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", "increment_sign_format": "positive", }, { "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", "increment_sign_format": "negative", }, ] %} 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, is_end_of_month_or_yesterday, first_day_month, date, dimension, dimension_value, 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, 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 {% endif %} {% endfor %}