Commit graph

14 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
Pablo Martin
3431f46502 little comment to explain var 2024-06-14 16:26:18 +02: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 Martin
824ff8da9e a few quick and dirty improvements 2024-05-10 00:31:27 +02:00
Pablo Martin
ffd8075e5e add file and schema 2024-02-23 13:59:13 +01:00
Pablo Martin
a59652fad5 format 2024-02-22 16:14:16 +01:00
Pablo Martin
2bf2582e69 set timezone var 2024-02-22 15:49:36 +01:00
Pablo Martin
10d5d0c0bd we materialize staging tables instead of using views 2024-02-16 11:57:13 +01:00
Pablo Martin
e6c772366b moving stuff 2024-02-01 16:46:41 +01:00
Pablo Martin
426f0fbb0d many things 2024-01-18 17:25:41 +01:00
Pablo Martin
177c07d683 reporting table 2024-01-18 14:49:33 +01:00
Pablo Martin
a8d94ded61 Add another model 2024-01-18 14:25:13 +01:00
Pablo Martin
8341125c78 first table reading from sync_core 2024-01-18 12:20:14 +01:00
Pablo Martin
727431b7b2 start project 2024-01-18 11:24:35 +01:00