Merged PR 2433: Remove Deposit payments from Guest Payments metric
After discussion with Pablo on the fact that Deposits are only with status "Paid" for a given time before they get Cancelled or Refunded, we just believe it's best to remove the Deposits amount from the Guest Payments metric. In any case, this does not represent a Revenue source... This was discovered while doing the data quality assessment for revenue figures ([here](https://www.notion.so/knowyourguest-superhog/Data-quality-assessment-DWH-vs-Finance-revenue-figures-6e3d6b75cdd4463687de899da8aab6fb)) Before, `total_guest_payments_in_gbp` was a standalone metric that computed any payment by the guest with status paid. We were computing revenue based on the `total_guest_income_in_gbp`, which mainly was the sum of waiver payments, deposit fees (not deposit itself!) and check in hero fees. Mainly what I did is: - remove the existing `total_guest_payments_in_gbp` in the source models (int_core__xxx_guest_payments_xxx) - rename the already existing `total_guest_income_in_gbp` to `total_guest_payments_in_gbp` Related work items: #18787, #18914
This commit is contained in:
parent
b5e5160d67
commit
b79df1b42e
4 changed files with 17 additions and 24 deletions
|
|
@ -23,7 +23,6 @@ with
|
||||||
select
|
select
|
||||||
date_trunc('month', vp.payment_paid_date_utc)::date as first_day_month,
|
date_trunc('month', vp.payment_paid_date_utc)::date as first_day_month,
|
||||||
u.id_deal,
|
u.id_deal,
|
||||||
sum(vp.amount_in_gbp) as total_guest_payments_in_gbp,
|
|
||||||
sum(
|
sum(
|
||||||
case
|
case
|
||||||
when
|
when
|
||||||
|
|
@ -71,13 +70,12 @@ select
|
||||||
nullif(gpym.deposit_fees_in_gbp, 0) as deposit_fees_in_gbp,
|
nullif(gpym.deposit_fees_in_gbp, 0) as deposit_fees_in_gbp,
|
||||||
nullif(gpym.waiver_payments_in_gbp, 0) as waiver_payments_in_gbp,
|
nullif(gpym.waiver_payments_in_gbp, 0) as waiver_payments_in_gbp,
|
||||||
nullif(gpym.checkin_cover_fees_in_gbp, 0) as checkin_cover_fees_in_gbp,
|
nullif(gpym.checkin_cover_fees_in_gbp, 0) as checkin_cover_fees_in_gbp,
|
||||||
nullif(gpym.total_guest_payments_in_gbp, 0) as total_guest_payments_in_gbp,
|
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(gpym.deposit_fees_in_gbp, 0)
|
coalesce(gpym.deposit_fees_in_gbp, 0)
|
||||||
+ coalesce(gpym.waiver_payments_in_gbp, 0)
|
+ coalesce(gpym.waiver_payments_in_gbp, 0)
|
||||||
+ coalesce(gpym.checkin_cover_fees_in_gbp, 0),
|
+ coalesce(gpym.checkin_cover_fees_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) as total_guest_income_in_gbp
|
) as total_guest_payments_in_gbp
|
||||||
from int_dates_by_deal d
|
from int_dates_by_deal d
|
||||||
left join
|
left join
|
||||||
guest_payments_year_month gpym
|
guest_payments_year_month gpym
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ with
|
||||||
guest_payments_year_month as (
|
guest_payments_year_month as (
|
||||||
select
|
select
|
||||||
d.date,
|
d.date,
|
||||||
sum(vp.amount_in_gbp) as total_guest_payments_in_gbp,
|
|
||||||
sum(
|
sum(
|
||||||
case
|
case
|
||||||
when
|
when
|
||||||
|
|
@ -64,12 +63,11 @@ select
|
||||||
nullif(gpym.deposit_fees_in_gbp, 0) as deposit_fees_in_gbp,
|
nullif(gpym.deposit_fees_in_gbp, 0) as deposit_fees_in_gbp,
|
||||||
nullif(gpym.waiver_payments_in_gbp, 0) as waiver_payments_in_gbp,
|
nullif(gpym.waiver_payments_in_gbp, 0) as waiver_payments_in_gbp,
|
||||||
nullif(gpym.checkin_cover_fees_in_gbp, 0) as checkin_cover_fees_in_gbp,
|
nullif(gpym.checkin_cover_fees_in_gbp, 0) as checkin_cover_fees_in_gbp,
|
||||||
nullif(gpym.total_guest_payments_in_gbp, 0) as total_guest_payments_in_gbp,
|
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(gpym.deposit_fees_in_gbp, 0)
|
coalesce(gpym.deposit_fees_in_gbp, 0)
|
||||||
+ coalesce(gpym.waiver_payments_in_gbp, 0)
|
+ coalesce(gpym.waiver_payments_in_gbp, 0)
|
||||||
+ coalesce(gpym.checkin_cover_fees_in_gbp, 0),
|
+ coalesce(gpym.checkin_cover_fees_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) as total_guest_income_in_gbp
|
) as total_guest_payments_in_gbp
|
||||||
from int_dates_mtd d
|
from int_dates_mtd d
|
||||||
left join guest_payments_year_month gpym on gpym.date = d.date
|
left join guest_payments_year_month gpym on gpym.date = d.date
|
||||||
|
|
|
||||||
|
|
@ -86,16 +86,15 @@ select
|
||||||
) as waiver_net_fees_in_gbp,
|
) as waiver_net_fees_in_gbp,
|
||||||
guest_payments.checkin_cover_fees_in_gbp,
|
guest_payments.checkin_cover_fees_in_gbp,
|
||||||
guest_payments.total_guest_payments_in_gbp,
|
guest_payments.total_guest_payments_in_gbp,
|
||||||
guest_payments.total_guest_income_in_gbp,
|
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) as total_guest_revenue_in_gbp,
|
) as total_guest_revenue_in_gbp,
|
||||||
|
|
||||||
-- TOTAL REVENUE --
|
-- TOTAL REVENUE --
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0),
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0),
|
||||||
|
|
@ -110,14 +109,14 @@ select
|
||||||
guest_journeys.paid_guest_journeys, 0
|
guest_journeys.paid_guest_journeys, 0
|
||||||
) as guest_payments_per_paid_guest_journey,
|
) as guest_payments_per_paid_guest_journey,
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) / nullif(
|
) / nullif(
|
||||||
guest_journeys.completed_guest_journeys, 0
|
guest_journeys.completed_guest_journeys, 0
|
||||||
) as guest_revenue_per_completed_guest_journey,
|
) as guest_revenue_per_completed_guest_journey,
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) / nullif(
|
) / nullif(
|
||||||
|
|
@ -126,14 +125,14 @@ select
|
||||||
|
|
||||||
-- TOTAL REVENUE WEIGHTED METRICS --
|
-- TOTAL REVENUE WEIGHTED METRICS --
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
)
|
)
|
||||||
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking,
|
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking,
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
|
|
@ -141,7 +140,7 @@ select
|
||||||
guest_journeys.created_guest_journeys, 0
|
guest_journeys.created_guest_journeys, 0
|
||||||
) as total_revenue_per_created_guest_journey,
|
) as total_revenue_per_created_guest_journey,
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
|
|
|
||||||
|
|
@ -101,16 +101,15 @@ with
|
||||||
) as waiver_net_fees_in_gbp,
|
) as waiver_net_fees_in_gbp,
|
||||||
guest_payments.checkin_cover_fees_in_gbp,
|
guest_payments.checkin_cover_fees_in_gbp,
|
||||||
guest_payments.total_guest_payments_in_gbp,
|
guest_payments.total_guest_payments_in_gbp,
|
||||||
guest_payments.total_guest_income_in_gbp,
|
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) as total_guest_revenue_in_gbp,
|
) as total_guest_revenue_in_gbp,
|
||||||
|
|
||||||
-- TOTAL REVENUE --
|
-- TOTAL REVENUE --
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0),
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0),
|
||||||
|
|
@ -125,14 +124,14 @@ with
|
||||||
guest_journeys.paid_guest_journeys, 0
|
guest_journeys.paid_guest_journeys, 0
|
||||||
) as guest_payments_per_paid_guest_journey,
|
) as guest_payments_per_paid_guest_journey,
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) / nullif(
|
) / nullif(
|
||||||
guest_journeys.completed_guest_journeys, 0
|
guest_journeys.completed_guest_journeys, 0
|
||||||
) as guest_revenue_per_completed_guest_journey,
|
) as guest_revenue_per_completed_guest_journey,
|
||||||
nullif(
|
nullif(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0),
|
||||||
0
|
0
|
||||||
) / nullif(
|
) / nullif(
|
||||||
|
|
@ -141,14 +140,14 @@ with
|
||||||
|
|
||||||
-- TOTAL REVENUE WEIGHTED METRICS --
|
-- TOTAL REVENUE WEIGHTED METRICS --
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
)
|
)
|
||||||
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking,
|
/ nullif(bookings.created_bookings, 0) as total_revenue_per_created_booking,
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
|
|
@ -156,7 +155,7 @@ with
|
||||||
guest_journeys.created_guest_journeys, 0
|
guest_journeys.created_guest_journeys, 0
|
||||||
) as total_revenue_per_created_guest_journey,
|
) as total_revenue_per_created_guest_journey,
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
|
|
@ -164,7 +163,7 @@ with
|
||||||
deals.deals_booked_in_month, 0
|
deals.deals_booked_in_month, 0
|
||||||
) as total_revenue_per_deals_booked_in_month,
|
) as total_revenue_per_deals_booked_in_month,
|
||||||
(
|
(
|
||||||
coalesce(guest_payments.total_guest_income_in_gbp, 0)
|
coalesce(guest_payments.total_guest_payments_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
+ coalesce(invoicing.xero_waiver_paid_back_to_host_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_operator_net_fees_in_gbp, 0)
|
||||||
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
+ coalesce(invoicing.xero_apis_net_fees_in_gbp, 0)
|
||||||
|
|
@ -257,7 +256,6 @@ select
|
||||||
{{ calculate_safe_relative_increment("waiver_net_fees_in_gbp") }},
|
{{ calculate_safe_relative_increment("waiver_net_fees_in_gbp") }},
|
||||||
{{ calculate_safe_relative_increment("checkin_cover_fees_in_gbp") }},
|
{{ calculate_safe_relative_increment("checkin_cover_fees_in_gbp") }},
|
||||||
{{ calculate_safe_relative_increment("total_guest_payments_in_gbp") }},
|
{{ calculate_safe_relative_increment("total_guest_payments_in_gbp") }},
|
||||||
{{ calculate_safe_relative_increment("total_guest_income_in_gbp") }},
|
|
||||||
{{ calculate_safe_relative_increment("total_guest_revenue_in_gbp") }},
|
{{ calculate_safe_relative_increment("total_guest_revenue_in_gbp") }},
|
||||||
|
|
||||||
-- TOTAL REVENUE --
|
-- TOTAL REVENUE --
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue