Commit graph

826 commits

Author SHA1 Message Date
Pablo Martin
60ae3f2844 wip, but tests are not picked up 2024-08-28 17:15:33 +02:00
Joaquin Ossa
be59ab258a Fixed test 2024-08-28 16:42:10 +02:00
Pablo Martín
0137179396 Merged PR 2669: Scheduled tests
# Description

This PR provides a suggested script to run `dbt test` in production, leave logs and send slack messages upon success/failure. It also updates the readme details on how to deploy so that deployers know how to set it.

# Checklist

- __NA__ ~~[ ] The edited models and dependants run properly with production data.~~
- __NA__ ~~[ ] The edited models are sufficiently documented.~~
- __NA__ ~~[ ] The edited models contain PK tests, and I've ran and passed them.~~
- __NA__ ~~[ ] I have checked for DRY opportunities with other models and docs.~~
- __NA__ ~~[ ] 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: #16959
2024-08-28 14:40:41 +00:00
Joaquin Ossa
0b6239e5c2 New aggregated model in intermediate for e-deposit report 2024-08-28 16:38:30 +02:00
Pablo Martin
10aace0d3f fix log file path 2024-08-28 16:21:07 +02:00
Pablo Martin
2481863536 update readme 2024-08-28 16:20:51 +02:00
Joaquin Ossa
958dc97ac2 Merged PR 2656: e-deposit verifications data to intermediate
# Description

e-deposit verifications data to intermediate
This holds data for each user of the amount of revenue generated each month of creation and check out month

# 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: #20125
2024-08-28 13:51:07 +00:00
Joaquin Ossa
b333b45891 Added some comments to make it clear that ids here are unrelated to core dwh, I will come back to modify the schemas when Ray answers all of our questions related to this data 2024-08-28 15:22:17 +02:00
Joaquin Ossa
167645428e renamed columns 2024-08-28 15:22:17 +02:00
Joaquin Ossa
5892fe7cbb Changed it to basic model 2024-08-28 15:21:08 +02:00
Joaquin Ossa
a4dc798f86 e-deposit model WIP 2024-08-28 15:15:27 +02:00
Joaquin Ossa
a1e3174700 e-deposit verifications data to intermediate 2024-08-28 15:15:27 +02:00
Joaquin Ossa
7786f2e770 1st commit edeposit_verifications 2024-08-28 15:12:05 +02:00
Oriol Roqué Paniagua
2facaceec0 Merged PR 2662: New Dash MVP - with. fix on production issue
# Description

Same PR as before, just adds a new commit that fixes my silly issue in prod. I owe some drinks :D

# 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: #19570
2024-08-28 10:09:08 +00:00
Joaquin Ossa
f6f4ca83b7 Merged PR 2658: fixed testing for core__check_in_cover_listings
# Description

fixed testing for core__check_in_cover_listings and removed null in accepted values for int_core__bookings in verification_request_booking_source

# 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: #20229
2024-08-28 10:07:11 +00:00
Oriol Roqué Paniagua
a0b5b0bda1 Merged PR 2660: Revert 'Automating new dash query'
# Description

_Describe your motivation and changes here._

# Checklist

- [ ] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

# Description

Automates the new dash query through DWH. It's a first step towards enabling a very simple PBI reporting on new dash performance. Data is aggregated at user level with the main performance indicators that we're currently reporting. I added a few more informative fields from user side.

Changes:

* in intermediate, creation of `int_core__new_dash_user_overview`. It mainly uses the models in previous PRs to avoid crazy computations, since most of the logic has already been implemented. The only thing is that it's "hardcoded" (with variable) the categorisation of what is NOT a paid service.
* in reporting, creation of `core__new_dash_user_overview`. It just exposes the info from intermediate to reporting.
* added schema entries for intermediate/core and reporting/core, it's the same description for both cases.

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

Reverts !2657

Related work items: #19570
2024-08-28 09:40:09 +00:00
Oriol Roqué Paniagua
8f38e94a5c Merged PR 2657: Automating new dash query
# Description

Automates the new dash query through DWH. It's a first step towards enabling a very simple PBI reporting on new dash performance. Data is aggregated at user level with the main performance indicators that we're currently reporting. I added a few more informative fields from user side.

Changes:

* in intermediate, creation of `int_core__new_dash_user_overview`. It mainly uses the models in previous PRs to avoid crazy computations, since most of the logic has already been implemented. The only thing is that it's "hardcoded" (with variable) the categorisation of what is NOT a paid service.
* in reporting, creation of `core__new_dash_user_overview`. It just exposes the info from intermediate to reporting.
* added schema entries for intermediate/core and reporting/core, it's the same description for both cases.

# 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: #19570
2024-08-28 09:32:17 +00:00
Joaquin Ossa
46a6ff057d fixed testing for core__check_in_cover_listings 2024-08-28 10:47:31 +02:00
Oriol Roqué Paniagua
00b8c66709 Merged PR 2652: Adds accommodation to product bundle in intermediate
# Description

Adds accommodation to product bundle in intermediate. The source table is currently empty, because there's no product bundle different to Basic Screening applied into a listing yet.
Thus, it's possible that this modelisation needs to change in the future since not having data forces us to trust the business logic without a proper technical documentation.

# Checklist

- [ ] The edited models and dependants run properly with production data. **N/A no data**
- [X] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them. **N/A no data**
- [X] I have checked for DRY opportunities with other models and docs.
- [X] I've picked the right materialization for the affected models. **N/A no data - but view should make the trick for the time being**

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #19570
2024-08-27 14:05:24 +00:00
Joaquin Ossa
67468a3220 Merged PR 2653: fixed bookings test to include null for verification_request_booking_source
# Description

Fixed bookings test to include null for verification_request_booking_source

# 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: #20231
2024-08-27 13:48:52 +00:00
Joaquin Ossa
87eac12281 fixed bookings test to include null for verification_request_booking_source 2024-08-27 15:45:22 +02:00
Oriol Roqué Paniagua
b927635cf1 Merged PR 2650: Added int_core__booking_to_product_bundle in intermediate
# Description

Creates a new view with the bookings that come from New Dash, linked to the Product Bundles. Extensive documentation added, please check it out and if something is not clear I'll modify it.

# 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.
- [ ] I've picked the right materialization for the affected models. To be discussed. There's not huge data still so view looks ok to me. I guess, maybe, in the future, we will have a flag or similar in int_core__bookings to detect if a bookings comes from New Dash/New Pricing or not, but it's still early to decide. In any case this model is needed for immediate New Dash MVP reporting so I propose to keep it like this as a view and afterwards we can decide if it makes more sense to materialise it differently.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #19570
2024-08-27 12:51:55 +00:00
Oriol Roqué Paniagua
c613d2859f Merged PR 2648: Fixes int_dates_by_deal tests
# Description

Fixes int_dates_by_deal tests

# 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: #20318, #20319
2024-08-27 09:34:07 +00:00
Pablo Martín
3c73bcf965 Merged PR 2646: Add missing edeposit columns
# Description

Adds three more columns to the staging model of `verifications` for edeposit: `ListingId`, `NightlyFee` and `CompanyName`.

# Checklist

- [X] The edited models and dependants run properly with production data.
- ~~[ ] The edited models are sufficiently documented.~~ __No, but I promise they will be.__
- [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: #20123
2024-08-27 09:22:52 +00:00
Oriol Roqué Paniagua
cb3d1e628b Merged PR 2647: Adding accommodation_to_product_bundle to stg
# Description

Adds accommodation to product bundle table from sync_core to staging. Note that this table still has no data because so far no listing has an associated product bundle.

Small change: removed in schema pending confirmation comments from Lou now that we've got an answer confirming it.

# Checklist

- [ ] The edited models and dependants run properly with production data: **N/A - there's no data :(**
- [X] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them. **N/A - there's no data :(**
- [X] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models. **N/A - there's no data :(**

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #19570
2024-08-27 08:57:23 +00:00
Pablo Martin
4cc456c3b0 add missing columns to model 2024-08-27 10:33:18 +02:00
Pablo Martin
9432313adc pending todo so i don't forget 2024-08-26 16:30:18 +02:00
Pablo Martin
9564ea1d46 add script 2024-08-26 16:28:32 +02:00
Pablo Martín
46ff9514a6 Merged PR 2644: Fix deployment alerts
# Description

This PR fixes a bug in the deployment script. The bug makes the alerts not work as expected, because the bash piping will trigger alerts if the log writing of commands fail, instead of if commands fail, which is what is expected.

This PR modifies the way logging works. Logging remains the same, but alerts now will work as expected.

Related work items: #18183
2024-08-26 14:19:47 +00:00
Pablo Martin
5c55aa8094 add exec, remove pipes 2024-08-26 12:55:51 +02:00
Pablo Martin
5e41e88b59 typo in docker compose 2024-08-26 12:38:09 +02:00
Pablo Martín
05f82ed2e1 Merged PR 2640: Change recommended local postgres settings
# Description

This PR modifies the `docker compose` file that we recommend for local development, adding to it Postgres server parameters. This parameters are expected to provide a better experience for developers in terms of performance.

# Checklist

- NA ~~[ ] The edited models and dependants run properly with production data.~~
- NA ~~[ ] The edited models are sufficiently documented.~~
- NA ~~[ ] The edited models contain PK tests, and I've ran and passed them.~~
- NA ~~[ ] I have checked for DRY opportunities with other models and docs.~~
- NA ~~[ ] 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: #20193
2024-08-26 10:18:55 +00:00
Oriol Roqué Paniagua
3d9c7cf571 Merged PR 2636: First version of User Product Bundle
# Description

Working version of User Product Bundle in intermediate. I tried to be quite explicit in the documentation of the model and the choices made (both in the code itself and in the schema). There's some opinionated choices so feel free to challenge them.

There's a small change on the user_migration model, in which I didn't properly set a field into a date.

Note that there's some schema comments pending from Lou's validation. Up to you if we prefer to wait until resolved or we move forward - to me, it's not blocking.

# 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: #19570
2024-08-26 09:18:56 +00:00
Pablo Martín
c21d77b8ae Merged PR 2641: Add version to e-deposit verifications table
# Description

Adds a missing field, `version`.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented. -> __NO, but I promise they will be eventually__
- [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: #20123
2024-08-26 09:07:33 +00:00
Pablo Martin
c0f4a59aeb add version field to staging table 2024-08-26 09:30:10 +02:00
Pablo Martin
43ec5866d1 add note in readme 2024-08-23 16:27:00 +02:00
Pablo Martin
cd93fe381f add settings 2024-08-23 16:25:21 +02:00
Pablo Martín
a24c2efb5a Merged PR 2631: Accounting Report Exposures
# Description

Creates exposure entries for the accounting reports that are already in production (Invoicing and Crediting and Resolutions Host Payments).

# Checklist

- __NA__ ~~[ ] The edited models and dependants run properly with production data.~~
- [X] The edited models are sufficiently documented.
- __NA__ ~~[ ] The edited models contain PK tests, and I've ran and passed them.~~
- __NA__ ~~[ ] I have checked for DRY opportunities with other models and docs.~~
- __NA__ ~~[ ] 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: #17550
2024-08-22 12:23:14 +00:00
Oriol Roqué Paniagua
c8f4d2be70 Merged PR 2629: Integrates logic to detect New Dashboard users within DWH
# Description

First step towards reporting New Dash is to be able within DWH to know which hosts have been migrated.
In order to do so, and anticipating that there's going to be new phases in the future, I've created a `int_core__user_migration` model that reads from a configuration macro `get_new_dash_migration_phases_config` that will allow semi-automatic user retrieval in the future. This avoids nasty hardcoding within the model itself.
The information of whether a user is migrated, in which phase and when the phase was deployed is available at user level in the `int_core__user_host` table.

# 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. **-> I selected a view for this model since I don't believe we should materialse this data other than the user host table**

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

Related work items: #19570
2024-08-22 12:10:25 +00:00
Oriol Roqué Paniagua
3d09d04068 Merged PR 2624: Configuring by number of listings to prod
# Description

Sets the parameter to display the KPIs by number of listings to prod. I will move forward without the review as we need a simultaneous deployment. The combination of changes were reviewed yesterday in local.

# Checklist

- [ ] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] 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: #19325
2024-08-22 06:49:15 +00:00
Pablo Martín
78838cb7f6 Merged PR 2619: edeposit verifications container to staging
# Description

This PR turns the JSON documents of the verification container in sync into a table in staging. It also performs the necessary deduplication of records by ID and timestamp along the way.

I'm intentionally skipping proper documentation to unblock a colleague while I fetch the necessary knowledge to populate the schema docs properly. I pinky promise I won't forget and I'll come back and fix it.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [ ] ~~The edited models are sufficiently documented.~~ __Nope, read above.__
- [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: #20123
2024-08-21 15:59:39 +00:00
Pablo Martin
4214c6b1c5 schema, small fixes on model 2024-08-21 17:48:06 +02:00
Oriol Roqué Paniagua
85131985d8 Merged PR 2615: Beautification of KPIs dimensions
# Description

Changes:

* Separate 1) the internal naming of dimensions available within DWH vs. 2) the display of the dimensions in the reporting. Mainly it changes the "by_number_of_listings" to display "By # of Listings Booked in 12 Months". I edited the production macro since to me it's linked to when things are available for display.
* Add preceding zeros on the segmentation so it's ordered correctly. Before, the segment 21-60 was displayed before the 6-20.
* Also added some capital letters to the schema config of the reporting model :)

I attach a screenshot of how it looks in PBI in my local development branch to exemplify why this is "Beautification". Be aware that merging this also puts in production the dimensions.

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

# 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: #19325
2024-08-21 14:42:05 +00:00
Pablo Martin
40168f74b3 reorder fields 2024-08-21 15:13:19 +02:00
Pablo Martin
34a2279387 some casts 2024-08-21 15:12:05 +02:00
Pablo Martin
64e5d78578 progress in staging, ordered fields 2024-08-21 12:56:45 +02:00
Pablo Martin
2331db2803 add source file 2024-08-21 12:46:05 +02:00
Oriol Roqué Paniagua
83d913f9fc Merged PR 2607: Propagates and exposes multiple dimension handling for KPIs
# Description

This PR ensures the propagation of the dimensions for KPIs across the key aggregating and exposing models. Additionally, provides these 2 new fields in reporting while **not affecting the current data display**, thus it's safe to work in the PBI report without needing to work in 2 PRs in parallel.

**Changes:**

**1 - Intermediate, `int_mtd_vs_previous_year_metrics`:**

* Removes the temporary filter on `where dimension in ({{ production_dimensions }})`. This will be applied directly to reporting later. This ensures that the new dimension on customer segmentation is fully available only within intermediate.
* Adds `dimension` and `dimension_value` granularity. This includes: 1) adding these fields, 2) joining by these fields with all the source CTEs containing the source models with metrics - which in turn needs the change of the dates model - and 3) joining by these fields in the self-join to compute the incremental vs. previous year.
* Changes on the schema file

**2 - Intermediate, `int_mtd_aggregated_metrics`:**

* Adds `dimension` and `dimension_value` granularity. This includes only adding these fields.
* Changes on the schema file

**3 - Reporting, `mtd_aggregated_metrics`:**

* Adds the filter removed on `int_mtd_vs_previous_year_metrics`. This ensures that only the Global dimension is available for the reporting, thus **no changes from user POV**.
* Adds `dimension` and `dimension_value` granularity. This includes only adding these fields
* Changes on the schema file

# 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: #19325
2024-08-20 15:42:27 +00:00
Joaquin Ossa
d65675fe03 Merged PR 2604: Finished adding address_validation to reporting
# Description

Finished adding address_validation to reporting for check-in hero

# 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.
2024-08-20 12:16:19 +00:00
Joaquin Ossa
bf9652f258 Finished adding address_validation to reporting 2024-08-20 14:11:21 +02:00