data-dwh-dbt-project/models/intermediate/core
Oriol Roqué Paniagua 435db55c1e Merged PR 2743: Fixes deal-based issues on the billing country dimension
# Description

Before deploying KPIs by Billing Country, we spotted some issues that were basically increases on the volumes of any metric on the by billing country dimension that was based on Deal. This means, `int_core__mtd_deal_metrics` and `int_xero__mtd_invoicing_metrics`.

This PR changes the following:
* Now the 2 abovementioned models depend on the `int_core__deal` model, instead of `int_core__user_host` (thus removing duplicated stuff)
* Now all models use the main billing country at deal level, instead of doing it so at host level. The reason is that some small amount of hosts that share the same deal can have a different billing country. To avoid weird stuff, everything points to this simplification - that in general, it's not a massive change in the output.
* In order to do so easily, the 3 main billing country per deal fields have been propagated to `int_core__user_host`

To exemplify the solution, find here a snapshot of the differences in behavior:

```
select
    dimension,
    sum(deals_booked_in_month) as deals_booked_1,
    sum(deals_booked_in_6_months) as deals_booked_6,
    sum(deals_booked_in_12_months) as deals_booked_12,
    sum(total_revenue_in_gbp) as total_revenue,
    sum(xero_operator_net_fees_in_gbp) as operator_revenue,
    sum(xero_booking_net_fees_in_gbp) as booking_fees,
    sum(xero_listing_net_fees_in_gbp) as listing_fees,
    sum(xero_verification_net_fees_in_gbp) as verification_fees,
    sum(total_guest_revenue_in_gbp) as guest_revenue,
    sum(xero_waiver_paid_back_to_host_in_gbp) as waiver_paid_back_to_hosts,
    sum(waiver_net_fees_in_gbp) as waiver_net_fees
from intermediate.int_mtd_vs_previous_year_metrics
where date in ('2024-01-31')
group by 1
order by 1
```
Production:
![image.png](https://guardhog.visualstudio.com/4148d95f-4b6d-4205-bcff-e9c8e0d2ca65/_apis/git/repositories/54ac356f-aad7-46d2-b62c-e8c5b3bb8ebf/pullRequests/2743/attachments/image.png)

vs.
Local:
![image (2).png](https://guardhog.visualstudio.com/4148d95f-4b6d-4205-bcff-e9c8e0d2ca65/_apis/git/repositories/54ac356f-aad7-46d2-b62c-e8c5b3bb8ebf/pullRequests/2743/attachments/image%20%282%29.png)

Keep in mind that still Global dimension can be greater than any other dimension aggregated since not all users have a deal. Mismatches between the other 2 dimensions might be linked to the dump.

Commits are meaningful and help navigate in the changes.

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

Related work items: #20823
2024-09-05 09:53:16 +00:00
..
int_core__accommodation.sql Merged PR 2125: Fixing accommodation host 2024-06-26 14:47:15 +00:00
int_core__accommodation_to_product_bundle.sql Merged PR 2652: Adds accommodation to product bundle in intermediate 2024-08-27 14:05:24 +00:00
int_core__address_validations.sql Removed coalesce so it includes NULL for failed validations 2024-08-20 09:49:34 +02:00
int_core__booking_charge_events.sql Merged PR 2642: Booking Charge Events to have a similar logic as invoicing 2024-09-03 13:15:40 +00:00
int_core__booking_to_product_bundle.sql Merged PR 2650: Added int_core__booking_to_product_bundle in intermediate 2024-08-27 12:51:55 +00:00
int_core__bookings.sql Thanks Uri for the catch, then when id_user_guest is NULL it won't be considered a duplicate. 2024-07-31 16:23:27 +02:00
int_core__check_in_cover_listings.sql fixed testing for core__check_in_cover_listings 2024-08-28 10:47:31 +02:00
int_core__check_in_cover_prices.sql propagating renames 2024-05-08 12:03:44 +02:00
int_core__check_in_cover_users.sql Merged PR 2201: Fixing errors raised by texts 2024-07-05 15:12:04 +00:00
int_core__country.sql Merged PR 2077: Adding Country to intermediate 2024-06-19 15:34:15 +00:00
int_core__deal.sql Merged PR 2742: Creation of int_core__deal 2024-09-04 16:03:36 +00:00
int_core__duplicate_bookings.sql Thanks Uri for the catch, then when id_user_guest is NULL it won't be considered a duplicate. 2024-07-31 16:23:27 +02:00
int_core__guest_satisfaction_responses.sql Removed database sources on select 2024-07-12 13:11:56 +02:00
int_core__host_booking_fees.sql Merged PR 2725: Force id user field to lower in staging 2024-09-03 14:36:21 +00:00
int_core__invoicing_price_plans_per_month.sql Merged PR 2642: Booking Charge Events to have a similar logic as invoicing 2024-09-03 13:15:40 +00:00
int_core__monthly_accommodation_history_by_deal.sql Merged PR 2172: Adding accommodation metrics by deal id 2024-07-02 09:32:52 +00:00
int_core__monthly_booking_history_by_deal.sql Merged PR 2301: KPIs Billable Bookings 1st version 2024-07-15 10:59:37 +00:00
int_core__monthly_guest_journey_history_by_deal.sql Merged PR 2257: Expose guest revenue and guest journey payment metrics 2024-07-10 14:17:05 +00:00
int_core__monthly_guest_payments_history_by_deal.sql Merged PR 2433: Remove Deposit payments from Guest Payments metric 2024-07-29 15:15:09 +00:00
int_core__mtd_accommodation_lifecycle.sql Merged PR 2125: Fixing accommodation host 2024-06-26 14:47:15 +00:00
int_core__mtd_accommodation_metrics.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__mtd_accommodation_segmentation.sql Merged PR 2615: Beautification of KPIs dimensions 2024-08-21 14:42:05 +00:00
int_core__mtd_booking_metrics.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__mtd_deal_lifecycle.sql Merged PR 2107: Adds host lifecycle metrics into biz kpis 2024-06-25 12:20:59 +00:00
int_core__mtd_deal_metrics.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__mtd_guest_journey_metrics.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__mtd_guest_payments_metrics.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__new_dash_user_overview.sql Merged PR 2662: New Dash MVP - with. fix on production issue 2024-08-28 10:09:08 +00:00
int_core__price_plans.sql docs and moving stuff 2024-04-08 09:44:32 +02:00
int_core__unified_user.sql Merged PR 2676: Propagates Billing Country information 2024-08-29 08:25:05 +00:00
int_core__unique_accommodation_to_user.sql Merged PR 2125: Fixing accommodation host 2024-06-26 14:47:15 +00:00
int_core__user_host.sql Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00
int_core__user_migration.sql Merged PR 2636: First version of User Product Bundle 2024-08-26 09:18:56 +00:00
int_core__user_product_bundle.sql Merged PR 2636: First version of User Product Bundle 2024-08-26 09:18:56 +00:00
int_core__user_role.sql Merged PR 2516: Create host_user and user_role in intermediate 2024-08-07 14:28:34 +00:00
int_core__verification_payments.sql Merged PR 2689: KPIs by Billing Country 2024-09-04 10:17:12 +00:00
int_core__verification_request_booking_source.sql Removed guests_id and modified query structure 2024-07-11 16:49:24 +02:00
int_core__verification_request_completed_date.sql Merged PR 2028: guest journey estimated completed date 2024-06-13 13:30:22 +00:00
int_core__verification_request_completeness.sql Merged PR 2020: Verification request completeness for intermediate steps + schema documentation 2024-06-13 08:14:11 +00:00
int_core__verification_requests.sql Added the new field to int_core__bookings and to int_core__verification_requests 2024-07-11 17:16:51 +02:00
int_core__vr_check_in_cover.sql Changed names for easier understanding 2024-08-20 12:56:52 +02:00
schema.yaml Merged PR 2743: Fixes deal-based issues on the billing country dimension 2024-09-05 09:53:16 +00:00