Commit graph

501 commits

Author SHA1 Message Date
Joaquin Ossa
9950c4d9ae Fixed merge error 2024-06-27 10:18:29 +02:00
Joaquin Ossa
04de0c8227 Changed name of model 2024-06-27 10:13:18 +02:00
Joaquin Ossa
431182a098 Removed accommodations from the model 2024-06-27 10:11:48 +02:00
Joaquin Ossa
2a897c6ead fixed model name and dump tables 2024-06-27 10:07:47 +02:00
Joaquin Ossa
cbd1b4414f Created int model for host accommodations with check in hero 2024-06-27 10:07:47 +02:00
Pablo Martín
5cc248de9c Merged PR 2124: Denormalized Bank Transactions Mart
A very denormalized table that brings Bank Transactions Line Items, Bank Transactions and Contacts into a single table.

Building this because we need to show some data in a PBI report that needs data from all three tables and can't be joined in PBI.

Related work items: #17551
2024-06-26 14:47:18 +00:00
Oriol Roqué Paniagua
5c12dd3b13 Merged PR 2125: Fixing accommodation host
Fixing accommodation host by using accommodation to user, after discussion with Ben R.
This improves data quality, even though there's some duplicates removal.
I checked and it effectively removes accommodations that mostly were considered as 'Never Booked', thus not a massive impact is expected for the business kpis. But in any case, let's do things properly :)

Related work items: #17538
2024-06-26 14:47:15 +00:00
Pablo Martin
69ad42af63 model and schema 2024-06-26 15:35:44 +02:00
Pablo Martín
6446dfdb9e Merged PR 2118: Bank Transactions Line Items to Reporting schema
Simply bring the int model into reporting as is.

Related work items: #17551
2024-06-26 12:57:16 +00:00
Pablo Martin
b3263e82b1 docs typos 2024-06-26 13:40:07 +02:00
Pablo Martin
e8f9432507 add docs and tablesfor table 2024-06-26 11:43:29 +02:00
Pablo Martin
a22d85340d reporting model 2024-06-26 11:24:34 +02:00
Pablo Martin
bb17b7a646 put back accidentally removed column that breaks dbt run 2024-06-25 17:20:36 +02:00
Pablo Martín
7ba9ca0527 Merged PR 2113: Bank Transactions to reporting
- Pushes the `int` model for bank transactions to reporting.
- A few silly fixes along the way.

Related work items: #17551
2024-06-25 15:11:13 +00:00
Pablo Martin
5182a804b2 fix typos 2024-06-25 17:09:02 +02:00
Pablo Martin
be24725b7d remove a couple of wrong tests 2024-06-25 16:44:19 +02:00
Pablo Martin
f9fcb76ed1 schemas 2024-06-25 16:42:40 +02:00
Pablo Martin
86ca7411af remove line items: they have their own tables now 2024-06-25 16:41:41 +02:00
Pablo Martin
5fbf5a76fd add documentation placeholder 2024-06-25 16:25:26 +02:00
Pablo Martin
71278abbb9 remove outdated docs 2024-06-25 16:25:26 +02:00
Pablo Martin
8b1d949f73 add bank transactions to reporting 2024-06-25 16:25:26 +02:00
Pablo Martín
ffc8985362 Merged PR 2110: Bank Transactions and Line Items
This PR brings Bank transactions to `int` and also creates an `int` model with their line items by unfolding a JSON nested field in `stg_xero__bank_transactions`.

I also had to bring in the `accounts` entity to make sense of the line items.

Related work items: #17551
2024-06-25 14:24:50 +00:00
Pablo Martin
88e13182a5 convert currency after subtracting in local currency 2024-06-25 16:24:39 +02:00
Pablo Martin
3973f0a4a6 rename field 2024-06-25 15:07:39 +02:00
Pablo Martin
854afffc1c add account code 2024-06-25 15:07:39 +02:00
Pablo Martin
8dc31f3489 add accounts to staging 2024-06-25 15:07:39 +02:00
Pablo Martin
7a9c913b8a line items 2024-06-25 15:07:39 +02:00
Pablo Martin
d86b6b8627 add tests 2024-06-25 15:07:39 +02:00
Pablo Martin
33d072015c remove full jsons with ids 2024-06-25 15:07:39 +02:00
Pablo Martin
25e9d040ff add internal exchange rates 2024-06-25 15:07:39 +02:00
Pablo Martin
4b0b15814e add date converted in staging 2024-06-25 15:07:39 +02:00
Pablo Martin
bf54548654 table alias 2024-06-25 15:07:39 +02:00
Pablo Martin
200c324b68 add converted fields 2024-06-25 15:07:39 +02:00
Pablo Martin
08ff92b3e9 make stg naming coherent with other xero models 2024-06-25 15:07:39 +02:00
Pablo Martin
447cb3926c bring over bank transactions to int 2024-06-25 15:07:39 +02:00
Oriol Roqué Paniagua
6c053a0753 Merged PR 2107: Adds host lifecycle metrics into biz kpis
This PR closes the first draft of the first batch of business kpis. Host logic has changed to be applied at deal id level.
It's mostly an adapted copy-paste from the accommodation counterpart, specifically:
- `int_core__mtd_deal_lifecycle`: computes the historic deal lifecycle. One line for each deal and MTD date. **Important**: _Not all hosts have a deal set. This will need a data quality report for business teams to fix_
- `int_core__mtd_deal_metrics`: computes the aggregation at MTD date level of the metrics per lifecycle state and activity state

Additionally, this PR changes:
- `int_core__mtd_aggregated_metrics`: it includes the new 3 deal metrics and changes the source of the already existing 3 deal metrics from `mtd_booking_metrics` to the new `mtd_deal_metrics`
- `int_core__mtd_booking_metrics`: removes all code needed to compute the remaining deal metrics, speeding it up considerably.

After this PR, the mtd models run (locally) at the following speed:
- `int_core__mtd_accommodation_lifecycle`: 47 sec
- `int_core__mtd_deal_lifecycle`: 3 sec
- `int_core__mtd_accommodation_metrics`: 5 sec
- `int_core__mtd_deal_metrics`: < 1 sec
- `int_core__mtd_booking_metrics`: 8 sec (quite a reduction)
- `int_core__mtd_guest_journey_metrics`: 5 sec
- `int_core__mtd_aggregated_metrics` and `core__mtd_aggregated_metrics`: < 1 sec

Related work items: #17312
2024-06-25 12:20:59 +00:00
Pablo Martín
cebd6f6485 Merged PR 2106: Add VerificationSet to staging
Brings the VerificationSet from Core into staging.

Related work items: #17068
2024-06-25 09:13:11 +00:00
Pablo Martin
cfd752843b add tests 2024-06-25 11:07:53 +02:00
Pablo Martin
c23e79b5fe add staging model 2024-06-25 11:04:28 +02:00
Pablo Martin
8fbbb1d10b add source 2024-06-25 11:04:16 +02:00
Oriol Roqué Paniagua
0655ac8997 Merged PR 2105: Adding listing lifecycle metrics into business KPIs
This PR will compute the listing metrics in an aggregated manner to be displayed in the Main KPIs dashboard, specifically:
- New Listings
- First Time Booked Listings
- Churning Listings
- It also adapts the computation for the already existing metrics of Listings Booked in X months

At code level, it contains the following:
- Adds `int_core__mtd_accommodation_metrics`, which computes the aggregation of the lifecycle of listings at date level (unique), being date the corresponding date from `int_dates_mtd`
- Changes `int_core__mtd_aggregated_metrics` to take the accommodation metrics from the new model. Those 3 already existing (Listings booked in X month) now read from the new model as well.
- Changes `int_core__mtd_booking_metrics` to remove unused computation, making it lighter. Specifically, it removes 1) listing related metrics, since now we have a dedicated model and 2) number of guests booked, since it's not used at all.

The resulting values in local are consistent with what is already reported in the staging report.

Related work items: #17312
2024-06-25 08:14:23 +00:00
Oriol Roqué Paniagua
f23e210129 Merged PR 2094: Removing lifecycle logic from int_core__accommodation
Removing lifecycle logic from int_core__accommodation
This logic is now available on int_core__mtd_accommodation_lifecycle

Related work items: #17312
2024-06-21 14:13:42 +00:00
Oriol Roqué Paniagua
ef80637a9b Merged PR 2090: Adding int_core__mtd_accommodation_lifecycle
Adding int_core__mtd_accommodation_lifecycle. Mainly, it recreates the history of the lifecycle of a listing for each date appearing in the MTD dates (so, last day of month + days for current month + days for current month of the previous year).

Implementation of lag function makes it much faster than self-join. Runs in approx 17 seconds (in local)

The logic behind the lifecycle is the same, and the most-up-to-date results in my local show the same values for the new model and the int_core__accommodation model (see screenshots)

previous model:
![image.png](https://guardhog.visualstudio.com/4148d95f-4b6d-4205-bcff-e9c8e0d2ca65/_apis/git/repositories/54ac356f-aad7-46d2-b62c-e8c5b3bb8ebf/pullRequests/2090/attachments/image.png)

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

Following PRs will focus on readapting logic of int_core__accommodation to avoid the replication of lifecycle computation (just re-use the last available date in int_core__mtd_accommodation_lifecycle) and the creation of the desired metrics for the Biz Overview dashboard, including a refactor of the mtd_bookings to remove the listing logic from there.

Related work items: #17312
2024-06-21 13:59:14 +00:00
Oriol Roqué Paniagua
fe93f594f5 Merged PR 2084: Adding int_core__accommodation
Adding int_core__accommodation

Includes both:
- Main information of the accommodation, mostly coming from stg_core__accommodation and int_core__country.
- Listing lifecycle computation, based on the created bookings from stg_core__bookings. It's just the current state, no history.

Some considerations:
- I opted to use stg_core__bookings and not int_core__bookings. Main reason is in case at some point we want to add listing-based information to the booking table, it would avoid cyclic references.
- I opted to keep all the logic of 1) accommodation info and 2) lifecycle in the same model. This could be easily split into: lifecycle first that reads uniquely from staging and then the int_core__accommodation that could read from the staging version to retrieve accommodation attributes + the lifecycle one. Up to you

I'd suggest to review first the documentation in schema since it explains the logic applied.

Notion page linked to this task: https://www.notion.so/knowyourguest-superhog/Listing-lifecycle-4dc0311b21ca44f8859969e419872ebd

Related work items: #17312
2024-06-20 16:02:16 +00:00
Pablo Martín
80120e68a2 Merged PR 2087: Add Xero Bank Transactions to staging
- Main purpose is to bring the Bank Transactions table from sync to stg.

- Along the way:
  - I created a couple of new generic tests.
  - I reviewed docs and tests for a couple of other Xero models that were not in the best shape.

Related work items: #17551
2024-06-20 14:42:03 +00:00
Pablo Martin
696490aecb docs for bank transactions table 2024-06-20 15:52:55 +02:00
Pablo Martin
26e7358648 credit notes docs 2024-06-20 15:26:33 +02:00
Pablo Martin
e1a4faf3b9 more contact tests 2024-06-20 15:15:19 +02:00
Pablo Martin
8f14f5d37d add length between test 2024-06-20 15:13:21 +02:00
Pablo Martin
7aa667f7cf boy scout: tests for invoices 2024-06-20 15:00:59 +02:00