Merged PR 3766: First version of ab_test_tracking_guest_journey

# Description

A very simple, clean table to get the records needed for A/B test tracking on GJ side.

The table already removes weird cases that are somehow usual within A/B test configurations, to ensure that the monitoring is as clean (and less biased) as possible.

# 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: #25145
This commit is contained in:
Oriol Roqué Paniagua 2024-12-04 07:58:14 +00:00
parent 896526fe15
commit 37c508fa69
2 changed files with 108 additions and 0 deletions

View file

@ -4271,3 +4271,65 @@ models:
Date of when this Protection Plan Billing Item record was last updated.
tests:
- not_null
- name: int_core__ab_test_tracking_guest_journey
description: |
Provides the A/B test tracking of a given Verification Request, aka Guest Journey.
For those Guest Journeys that are subject to A/B testing through Feature Flagging,
this table will provide the id of the verification request, the A/B test name in
which is in and the variation, as well as additional metadata.
This table already contains cleaning of multi-variant guest journeys and disablement
of the feature flag (A/B test) itself, so should be quite ready to use.
tests:
- dbt_utils.unique_combination_of_columns:
combination_of_columns:
- id_verification_request
- ab_test_name
columns:
- name: id_verification_request
data_type: integer
description: |
Identifier of the Verification Request. Acts as foreign key to the Verification Request table.
It can be duplicated across different Feature Flags - meaning the same verification request
can be part of none, one, or several A/B tests.
In this table, a Verification Request or Guest Journey can only appear once per A/B test.
Cannot be null.
tests:
- not_null
- name: ab_test_name
data_type: string
description: |
Name of the Guest Journey A/B test. It corresponds to the Feature Flag Name in the
backend. Cannot be null.
tests:
- not_null
- name: variation
data_type: string
description: |
Identifier of the variation a given Verification Request is in, within a
given Guest Journey A/B test. Cannot be null.
tests:
- not_null
- name: first_appearance_at_utc
data_type: timestamp
description: |
Timestamp of the first Verification Request Feature Flag record created
with the same verification request and A/B test name. Mostly for information
purposes. Cannot be null.
tests:
- not_null
- name: last_appearance_at_utc
data_type: timestamp
description: |
Timestamp of the last Verification Request Feature Flag record created
with the same verification request and A/B test name. Mostly for information
purposes. Cannot be null.
tests:
- not_null