Skip to content

Commit

Permalink
updated conversion metric snapshots
Browse files Browse the repository at this point in the history
  • Loading branch information
WilliamDee committed Dec 16, 2023
1 parent 01d076f commit 64398ac
Show file tree
Hide file tree
Showing 65 changed files with 19,773 additions and 0 deletions.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
-- Combine Aggregated Outputs
-- Compute Metrics via Expressions
SELECT
COALESCE(MAX(subq_28.buys), 0) AS visit_buy_conversions
FROM (
-- Read Elements From Semantic Model 'visits_source'
-- Metric Time Dimension 'ds'
-- Pass Only Elements:
-- ['visits']
-- Aggregate Measures
SELECT
SUM(1) AS visits
FROM ***************************.fct_visits visits_source_src_10011
) subq_18
CROSS JOIN (
-- Find conversions for user within the range of 7 day
-- Pass Only Elements:
-- ['buys']
-- Aggregate Measures
SELECT
SUM(buys) AS buys
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
first_value(subq_21.visits) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS visits
, first_value(subq_21.ds__day) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS ds__day
, first_value(subq_21.user) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS user
, subq_24.mf_internal_uuid AS mf_internal_uuid
, subq_24.buys AS buys
FROM (
-- Read Elements From Semantic Model 'visits_source'
-- Metric Time Dimension 'ds'
-- Pass Only Elements:
-- ['visits', 'ds__day', 'user']
SELECT
DATE_TRUNC(ds, day) AS ds__day
, user_id AS user
, 1 AS visits
FROM ***************************.fct_visits visits_source_src_10011
) subq_21
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
-- Add column with generated UUID
SELECT
DATE_TRUNC(ds, day) AS ds__day
, user_id AS user
, 1 AS buys
, GENERATE_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_10002
) subq_24
ON
(
subq_21.user = subq_24.user
) AND (
(
subq_21.ds__day <= subq_24.ds__day
) AND (
subq_21.ds__day > DATE_SUB(CAST(subq_24.ds__day AS DATETIME), INTERVAL 7 day)
)
)
) subq_25
) subq_28

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
-- Compute Metrics via Expressions
SELECT
visit__referrer_id
, CAST(buys AS FLOAT64) / CAST(NULLIF(visits, 0) AS FLOAT64) AS visit_buy_conversion_rate
FROM (
-- Combine Aggregated Outputs
SELECT
COALESCE(subq_18.visit__referrer_id, subq_28.visit__referrer_id) AS visit__referrer_id
, MAX(subq_18.visits) AS visits
, MAX(subq_28.buys) AS buys
FROM (
-- Aggregate Measures
SELECT
visit__referrer_id
, SUM(visits) AS visits
FROM (
-- Read Elements From Semantic Model 'visits_source'
-- Metric Time Dimension 'ds'
-- Pass Only Elements:
-- ['visits', 'visit__referrer_id']
SELECT
referrer_id AS visit__referrer_id
, 1 AS visits
FROM ***************************.fct_visits visits_source_src_10011
) subq_17
GROUP BY
visit__referrer_id
) subq_18
FULL OUTER JOIN (
-- Find conversions for user within the range of INF
-- Pass Only Elements:
-- ['buys', 'visit__referrer_id']
-- Aggregate Measures
SELECT
visit__referrer_id
, SUM(buys) AS buys
FROM (
-- Dedupe the fanout with mf_internal_uuid in the conversion data set
SELECT DISTINCT
first_value(subq_21.visits) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS visits
, first_value(subq_21.visit__referrer_id) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS visit__referrer_id
, first_value(subq_21.ds__day) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS ds__day
, first_value(subq_21.user) OVER (PARTITION BY subq_24.user, subq_24.ds__day, subq_24.mf_internal_uuid ORDER BY subq_21.ds__day DESC) AS user
, subq_24.mf_internal_uuid AS mf_internal_uuid
, subq_24.buys AS buys
FROM (
-- Read Elements From Semantic Model 'visits_source'
-- Metric Time Dimension 'ds'
-- Pass Only Elements:
-- ['visits', 'visit__referrer_id', 'ds__day', 'user']
SELECT
DATE_TRUNC(ds, day) AS ds__day
, user_id AS user
, referrer_id AS visit__referrer_id
, 1 AS visits
FROM ***************************.fct_visits visits_source_src_10011
) subq_21
INNER JOIN (
-- Read Elements From Semantic Model 'buys_source'
-- Metric Time Dimension 'ds'
-- Add column with generated UUID
SELECT
DATE_TRUNC(ds, day) AS ds__day
, user_id AS user
, 1 AS buys
, GENERATE_UUID() AS mf_internal_uuid
FROM ***************************.fct_buys buys_source_src_10002
) subq_24
ON
(
subq_21.user = subq_24.user
) AND (
(subq_21.ds__day <= subq_24.ds__day)
)
) subq_25
GROUP BY
visit__referrer_id
) subq_28
ON
subq_18.visit__referrer_id = subq_28.visit__referrer_id
GROUP BY
visit__referrer_id
) subq_29
Loading

0 comments on commit 64398ac

Please sign in to comment.