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
This commit is contained in:
Oriol Roqué Paniagua 2024-06-13 08:14:11 +00:00
parent 6ef278a271
commit 6b4490b017
2 changed files with 110 additions and 8 deletions

View file

@ -99,7 +99,13 @@ with
when coalesce(t1.id_verification_status, t2.id_verification_status) = 1
then 1
else 0
end as verification_is_complete
end as verification_is_complete,
case
when t2.id_verification_status = 1 then 1 else 0
end as confirmed_from_previous_verification_requests,
case
when t1.id_verification_status = 1 then 1 else 0
end as confirmed_from_same_verification_request
from expected_verification_types evt
left join
same_vr_verification_state as t1
@ -109,13 +115,53 @@ with
by_user_verification_state as t2
on evt.id_user_guest = t2.id_user_guest
and evt.verification_type = t2.verification
),
completeness_count as (
select
id_verification_request,
count(1) as expected_verification_count,
sum(
confirmed_from_same_verification_request
) as confirmed_from_same_verification_request_count,
sum(
confirmed_from_previous_verification_requests
) as confirmed_from_previous_verification_requests_count,
coalesce(
sum(global_id_verification_status), 0
) as confirmed_verification_count,
coalesce(
count(1) = sum(verification_is_complete), false
) as is_verification_request_complete
from completeness_summary
group by id_verification_request
)
select
id_verification_request,
count(1) as expected_verification_count,
sum(global_id_verification_status) as confirmed_verification_count,
coalesce(
count(1) = sum(verification_is_complete), false
) as is_verification_request_complete
from completeness_summary
group by id_verification_request
expected_verification_count,
confirmed_from_same_verification_request_count,
confirmed_from_previous_verification_requests_count,
confirmed_verification_count,
is_verification_request_complete,
case
when
confirmed_from_same_verification_request_count > 0
and is_verification_request_complete
then true
else false
end as used_verification_from_same_verification_request,
case
when
confirmed_from_previous_verification_requests_count > 0
and is_verification_request_complete
then true
else false
end as used_verification_from_previous_verification_requests,
case
when
confirmed_from_previous_verification_requests_count > 0
and confirmed_from_same_verification_request_count = 0
and is_verification_request_complete
then true
else false
end as is_complete_only_from_previous_verification_requests
from completeness_count

View file

@ -210,3 +210,59 @@ models:
description: name of the business metric.
tests:
- not_null
- name: int_core__verification_request_completeness
description: |
The `int_core__verification_request_completeness` model allows to determine if a verification request is
completed or not. To achieve it, it encapsulates the logic to determine the different possibilites. Its main
output is the column is_verification_request_complete, but it also provides outputs of the intermediate logic
steps to be used for further modeling, such as determining the completion date.
columns:
- name: id_verification_request
data_type: bigint
description: id of the verification request. It's the unique key for this model.
tests:
- not_null
- unique
- name: expected_verification_count
data_type: int
description: count of verifications that are expected to be passed in order to complete the request.
- name: confirmed_from_same_verification_request_count
data_type: int
description: count of confirmed verifications that its logic is computed from the same verification request.
- name: confirmed_from_previous_verification_requests_count
data_type: int
description: count of confirmed verifications that its logic is computed from previous verification requests.
- name: confirmed_verification_count
data_type: int
description: |
total count of confirmed verifications. Mainly, it's the sum of the confirmed verifications
that come from the same verification request plus the ones that come from previous verifications requests.
- name: is_verification_request_complete
data_type: boolean
description: if the verification request can be considered as completed or not.
- name: used_verification_from_same_verification_request
data_type: boolean
description: |
if the verification request can be considered as completed and has at least one confirmed verification
from the same verification request.
- name: used_verification_from_previous_verification_requests
data_type: boolean
description: |
if the verification request can be considered as completed and has at least one confirmed verification
from a previous verification request.
- name: is_complete_only_from_previous_verification_requests
data_type: boolean
description: |
if the verification request can be considered as completed and all confirmed verifications are from
previous verification requests.