This PR exposes the following metrics to the Main KPIs business overview report, for both Global + By Deal view: - Total Revenue - Total Revenue per Booking Created - Total Revenue per Guest Journey Created - Total Revenue per Deals Booked in Month (does not apply on the by deal view) - Total Revenue per Listings Booked in Month - Invoiced Operator Revenue - Host Resolution Payment Count - Host Resolution Amount Paid Keep in mind Global view will be displaying these metrics once this is merged. I also changed a bit the order of the metric display. Note that Billable Bookings are not included. I recommend to review by 1) checking the first commit. This is almost the same as the previous abandoned PR that @<Joaquin Ossa> you already checked on Tuesday. I added a second commit, to be checked later, which basically fixes some stupid issues that if one of the source of revenue is null, then total revenue is null. This is specially critical for the view by deal, since most of them do not have revenue from APIs - thus all total revenue figures were null... Related work items: #18108, #18109, #18110, #18719
45 lines
1.9 KiB
SQL
45 lines
1.9 KiB
SQL
with
|
|
int_mtd_aggregated_metrics as (
|
|
select * from {{ ref("int_mtd_aggregated_metrics") }}
|
|
)
|
|
|
|
select
|
|
year as year,
|
|
month as month,
|
|
day as day,
|
|
is_end_of_month as is_end_of_month,
|
|
is_current_month as is_current_month,
|
|
first_day_month as first_day_month,
|
|
date as date,
|
|
previous_year_date as previous_year_date,
|
|
order_by as order_by,
|
|
number_format as number_format,
|
|
metric as metric,
|
|
value as value,
|
|
previous_year_value as previous_year_value,
|
|
relative_increment as relative_increment
|
|
from int_mtd_aggregated_metrics
|
|
/*
|
|
The following where condition is applied to avoid displaying revenue metrics
|
|
in the MTD for the current month and the previous month. The main reason is
|
|
that we have a time delay between when the guest does a payment vs. when we
|
|
invoice or credit hosts (Xero). Same applies for Host Resolutions.
|
|
This is specially tricky for the Host-takes-waiver revenue: guests payments
|
|
happen in a timely fashion, and we get all waiver money from the guests. Once
|
|
the month is finished, Finance will start to invoice hosts, and in this case,
|
|
all hosts that have the Host-takes-waiver need to be payed back the amount
|
|
coming from the guest.
|
|
Not having this filter would mean that, in the current month, the figures
|
|
displayed of guest revenue would be much larger than they actually will be
|
|
because we still need to pay back to the hosts these waivers.
|
|
For a more current-month evaluation, Guest Payments should be a good proxy
|
|
metric to follow.
|
|
*/
|
|
where
|
|
(
|
|
-- Not show current + previous month if revenue metric or resolution
|
|
(lower(metric) like '%revenue%' or lower(metric) like '%resolutions%')
|
|
and {{ is_date_before_previous_month("date") }}
|
|
)
|
|
-- Keep all history for the rest of metrics
|
|
or not (lower(metric) like '%revenue%' or lower(metric) like '%resolutions%')
|