Commit graph

997 commits

Author SHA1 Message Date
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
Oriol Roqué Paniagua
839e5fae1b Merged PR 2077: Adding Country to intermediate
Adding Country to intermediate, both model + documentation.

At this stage, the model is set as a view but we can discuss what is the best approach

Related work items: #17312
2024-06-19 15:34:15 +00:00
Oriol Roqué Paniagua
771b226888 Merged PR 2068: Adding cancelled bookings metric
Adding cancelled bookings metric based on the feedback of the tech team. Mainly, the date of a cancelled booking can be considered as the `updated_date_utc` for those bookings with status cancelled, as it's a terminal state and no additional steps should follow.

I also took the opportunity to update:
- The order on the `int_core__mtd_aggregated_metrics`, so it matches the one in the Notion page for the 1st batch, freeing already the space for the order_by numbers for missing metrics
- Make acronyms of alias in the `main_kpi` subquery in `int_core__mtd_booking_metrics` slightly more clear
- Remove empty line at the end of the file in `int_core__mtd_booking_metrics`

Keep in mind that the cancelled bookings metric will be directly available in the dashboard once this PR is approved and DWH re-runs.

Related work items: #17310
2024-06-18 14:58:55 +00:00
Pablo Martin
344419e660 formatting 2024-06-18 13:41:32 +02:00
Pablo Martin
3d3f3fb9ab fix docs 2024-06-18 13:40:36 +02:00
Pablo Martin
27759374b8 add docs and tests 2024-06-18 13:10:47 +02:00
Pablo Martin
662c7b8ba8 remove hardcoded rates and seed, remove docs 2024-06-18 11:35:07 +02:00
Pablo Martin
8b91babad6 remove old table from cte 2024-06-18 11:31:59 +02:00
Pablo Martin
1f9df9ea5c remove old table 2024-06-18 11:24:03 +02:00
Pablo Martin
d96c8b2abb change which field we join on: payment date is not always informed 2024-06-18 11:23:10 +02:00
Pablo Martin
6f625ec7db do both rates to compare and test 2024-06-18 11:13:51 +02:00
Pablo Martin
e3be2708ad add new rates to CTEs 2024-06-18 11:06:27 +02:00
Oriol Roqué Paniagua
4958976733 Merged PR 2053: Added number_format category in mtd_aggregated_metrics
Added number_format category in mtd_aggregated_metrics

Related work items: #17458
2024-06-17 14:59:01 +00:00
Pablo Martín
a686c16978 Merged PR 2041: Fix Backward Currency Projection Bug
The CTEs that project currency rates backwards have a few mistakes that introduce additional dates in the period where we do have actual, factual rates. This PR fixes the errors that cause this.
2024-06-17 13:42:52 +00:00
Pablo Martin
0606f2c93d go back to var, made a mistake in the last commit 2024-06-17 11:32:20 +02:00
uri
cc930c5202 Extra documentation in the int_core__mtd_aggregated_metrics model 2024-06-17 11:32:13 +02:00
Pablo Martin
1203d0921b use proper table, proper col, and remove off by one error 2024-06-17 11:31:54 +02:00
Pablo Martin
a8892e7d5d this max should have been an int 2024-06-17 11:27:44 +02:00
uri
17f2e92ddc Adding guest journey KPIs. Updating gitignore 2024-06-17 11:10:13 +02:00
Pablo Martin
4c68df570f tests 2024-06-14 16:46:28 +02:00
Pablo Martin
913c07dad6 docs 2024-06-14 16:44:48 +02:00
Pablo Martin
84cd5ed7d0 simple model 2024-06-14 16:44:40 +02:00
Pablo Martin
41a7f7a510 replace hardcode with global var 2024-06-14 16:28:25 +02:00
Pablo Martin
bceb81ea18 more detail in docs 2024-06-14 16:26:18 +02:00
Pablo Martin
d4decdcd8b remove years into the future hardcode 2024-06-14 16:26:18 +02:00
Pablo Martin
2b878e9478 union all instead of union 2024-06-14 16:26:18 +02:00
Pablo Martin
e9ed1cfe02 wrong comment 2024-06-14 16:26:18 +02:00
Pablo Martin
eaeb7cb936 schema and tests for new table 2024-06-14 16:26:18 +02:00
Pablo Martin
15ec3db1f2 fixed off by one errors in date projections 2024-06-14 16:26:18 +02:00
Pablo Martin
9d11aa165b past working 2024-06-14 16:26:18 +02:00
Pablo Martin
a07a50793b ctes for first isntead of last xe rate 2024-06-14 16:26:18 +02:00
Pablo Martin
7707bc1254 compiles and runs 2024-06-14 16:26:18 +02:00
Pablo Martin
71be833123 start cross folder in int to stop piling models at int root 2024-06-14 16:26:18 +02:00
Oriol Roqué Paniagua
4f6728003a Merged PR 2029: Guest Journey - start date based on used link
Added verification estimated started at/date utc.
Ensured continuity for existing reports

I also noticed I missed one propagation of the end date, it's fixed here.

Note: changed the naming from 'start' to 'started' since we already had 'completed' and 'used_link'

Related work items: #17268
2024-06-13 14:53:58 +00:00
Oriol Roqué Paniagua
7914d7d8d7 Merged PR 2028: guest journey estimated completed date
This PR includes the logic to handle the completed date of guest journey

Check the schema file to understand the logic implemented. It's an estimation, and in some cases, weird stuff happens on end dates before link usage dates, which effectively breaks the computation. I added a boolean for this

Related work items: #17268
2024-06-13 13:30:22 +00:00
Oriol Roqué Paniagua
6b4490b017 Merged PR 2020: Verification request completeness for intermediate steps + schema documentation
Add more detailed logic into the verification request completeness for intermediate stages. Added schema documentation

Related work items: #17268
2024-06-13 08:14:11 +00:00
Oriol Roqué Paniagua
328723b9ab Merged PR 2003: Business KPIs first draft
This PR aims to provide a first draft for business KPIs, at this stage **quite minimal**.

It mostly contains a MTD and Monthly display approach. No dimensions are created.

The models created are:
- **int_dates_mtd**: mainly it reads from int_dates to retrieve those days needed for a MTD/monthly display
- **int_core__mtd_booking_metrics**: it contains the booking metrics, ending in a format of date|value|value last year|increment
--> here we could add, in the future, additional metrics from other sources (ex: guest journey, etc)
- **int_core__mtd_aggregated_metrics**: it transforms the data coming from the different mtd intermediate sources to be easily displayed in the dashboard. This is a good candidate for macros :)
- **core__mtd_aggregated_metrics**: copy-paste of the its int_core version, including a bit of model documentation

The dashboard is functional but in another PR. I can show you how it looks like at the moment you are going to check the PR

Related work items: #17214
2024-06-11 15:45:57 +00:00
Pablo Martín
366aa7d1ac Merged PR 2005: Replace Guest Details in CheckIn Cover models with details coming from User table
Fixes https://guardhog.visualstudio.com/Data/_boards/board/t/Data%20Team/Stories/?workitem=17240

Related work items: #17240
2024-06-10 15:30:26 +00:00
Pablo Martin
2ea2817627 add tests 2024-06-10 16:23:45 +02:00
Pablo Martin
723bbf1ebe add phone number 2024-06-10 16:14:07 +02:00
Pablo Martin
8b99d9babd add table aliases to track col origin 2024-06-10 15:51:40 +02:00
Pablo Martin
3d11622ae1 remove duplicate field 2024-05-28 14:37:48 +02:00
Pablo Martín
b59c0a96fb Merged PR 1923: User Currency
- Ingest the currency table from the backend into DWH.
- Add the newly created `AccountCurrencyId` into the `User` table.
- Push the data to the intermediate user model while replacing the internal superhog currency ID by the ISO4217 code so it's easily joinable with other stuff.

Now, every money amount related to some user in the SQL server backend can be currency-informed instead of currency-less.
2024-05-24 10:03:00 +00:00
Pablo Martin
90f67d6321 include currency in unified user 2024-05-24 11:54:40 +02:00
Pablo Martin
322fcb8eb0 add id account type to int model 2024-05-23 17:51:04 +02:00
Pablo Martin
69f11c5d4a propagate id account currency 2024-05-23 17:50:08 +02:00
Pablo Martin
3706a0c21c Revert "remove unnecessary nested objects since they can be joined in dwh"
This reverts commit 4cc9644feb.
2024-05-23 16:23:52 +02:00
Pablo Martin
4cc9644feb remove unnecessary nested objects since they can be joined in dwh 2024-05-23 16:22:02 +02:00
Pablo Martin
791cbd47e8 more credit note work 2024-05-17 14:32:06 +02:00