Commit graph

20 commits

Author SHA1 Message Date
Oriol Roqué Paniagua
010135fb63 Merged PR 2164: Adding booking metrics by deal id for business kpis
This is a first approach to compute some easy metrics for the "deal" based business kpis. At this stage, it contains the information of bookings (created, checkout, cancelled) per deal and month, including both historic months as well as the current one. This do not contain MTD computation because it's overkill to do a MTD at deal level (+ we have 1k deals, so scalability can become a problem in the future)

Models:
- **int_dates_by_deal**: simple model that reads from **int_dates** and just joins it with **unified_users** to retrieve the deals. It will be used as the 'source of truth' for which deals should be considered in a given month, basically, since the first host associated to a deal is created (not necessarily booked)
- **int_core__monthly_booking_history_by_deal**: it contains the history of bookings per deal id in a monthly basis. It should be easy enough to integrate here, in the future and if needed, B2B macro segmentation.

In terms of performance, comparing the model **int_core__monthly_booking_history_by_deal** and **int_core__mtd_booking_metrics** you'll see that I removed the joined with the **int_dates_xxx** in the CTEs. This is because I want to avoid a double join of date & deal that I tried and I stopped after 5 min running. Since this computation is in a monthly basis - no MTD - it's easy enough to just apply the **int_dates_by_deal** on the last part of the query. With this approach, it runs in 7 seconds.

Related work items: #17689
2024-07-01 16:00:14 +00:00
Oriol Roqué Paniagua
a3b1decb08 Merged PR 2158: Allow last day of the month to appear on 1st of month
As today it's 1st of July, the logic of selecting all days of the current month for MTD purposes on the business KPIs is ko, since we select up to yesterday.
This PR allows to consider the last day of the previous month as 'current month' only for the first day of the following month, thus ensuring that the most up-to-date data is always displayed in the MTD tab.

Related work items: #17745
2024-07-01 07:53:38 +00:00
Pablo Martin
662c7b8ba8 remove hardcoded rates and seed, remove docs 2024-06-18 11:35:07 +02:00
Pablo Martin
0606f2c93d go back to var, made a mistake in the last commit 2024-06-17 11:32:20 +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
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