backfill/2024-03-23-clients_last_seen/active_users/view.sql (181 lines of code) (raw):
CREATE OR REPLACE VIEW
`moz-fx-data-shared-prod.backfills_staging_derived.telemetry_active_users`
AS
WITH fenix_distribution_id AS (
SELECT
client_id,
sample_id,
distribution_id,
FROM
`moz-fx-data-shared-prod.fenix.firefox_android_clients`
)
-- -- Firefox Desktop
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp_name = 'BrowserStack'
THEN CONCAT(app_name, ' ', isp_name)
WHEN distribution_id = 'MozillaOnline'
THEN CONCAT(app_name, ' ', distribution_id)
ELSE app_name
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
IF(
LOWER(IFNULL(isp_name, '')) <> "browserstack"
AND LOWER(distribution_id) <> "mozillaonline",
TRUE,
FALSE
) AS is_desktop,
FALSE AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.telemetry_derived_clients_last_seen_v2_20240322_view`
UNION ALL
-- Fenix
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Fenix ', isp)
WHEN distribution_id = 'MozillaOnline'
THEN CONCAT('Fenix', ' ', distribution_id)
ELSE 'Fenix'
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
FALSE AS is_desktop,
IF(
LOWER(IFNULL(isp, '')) <> "browserstack"
AND LOWER(distribution_id) <> "mozillaonline",
TRUE,
FALSE
) AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.fenix_baseline_clients_last_seen_20240325`
LEFT JOIN
fenix_distribution_id
USING (client_id, sample_id)
UNION ALL
-- Firefox iOS
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Firefox iOS', ' ', isp)
ELSE 'Firefox iOS'
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
FALSE AS is_desktop,
IF(LOWER(IFNULL(isp, '')) <> "browserstack", TRUE, FALSE) AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.firefox_ios_baseline_clients_last_seen_20240325`
UNION ALL
-- Klar Android
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Klar Android', ' ', isp)
ELSE 'Klar Android'
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
FALSE AS is_desktop,
FALSE AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.klar_android_baseline_clients_last_seen_20240325`
UNION ALL
-- Klar iOS
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Klar iOS', ' ', isp)
ELSE 'Klar iOS'
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
FALSE AS is_desktop,
FALSE AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.klar_ios_baseline_clients_last_seen_20240325`
UNION ALL
-- Focus Android
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Focus Android', ' ', isp)
ELSE 'Focus Android'
END AS app_name,
days_seen_bits,
days_active_bits,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) = 0, FALSE) AS is_dau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_wau,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) <28, FALSE) AS is_mau,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) = 0, FALSE) AS is_daily_user,
IFNULL(mozfun.bits28.days_since_seen(days_active_bits) < 7, FALSE) AS is_weekly_user,
IFNULL(mozfun.bits28.days_since_seen(days_seen_bits) < 28, FALSE) AS is_monthly_user,
FALSE AS is_desktop,
IF(LOWER(IFNULL(isp, '')) <> "browserstack", TRUE, FALSE) AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.focus_android_baseline_clients_last_seen_20240325`
UNION ALL
-- Focus iOS
SELECT
submission_date,
client_id,
sample_id,
CASE
WHEN isp = 'BrowserStack'
THEN CONCAT('Focus iOS', ' ', isp)
ELSE 'Focus iOS'
END AS app_name,
days_seen_bits,
days_active_bits,
CAST(mozfun.bits28.days_since_seen(days_active_bits) = 0 AS BOOLEAN) AS is_dau,
CAST(mozfun.bits28.days_since_seen(days_active_bits) < 7 AS BOOLEAN) AS is_wau,
CAST(mozfun.bits28.days_since_seen(days_active_bits) < 28 AS BOOLEAN) AS is_mau,
CAST(mozfun.bits28.days_since_seen(days_seen_bits) = 0 AS BOOLEAN) AS is_daily_user,
CAST(mozfun.bits28.days_since_seen(days_seen_bits) < 7 AS BOOLEAN) AS is_weekly_user,
CAST(mozfun.bits28.days_since_seen(days_seen_bits) < 28 AS BOOLEAN) AS is_monthly_user,
FALSE AS is_desktop,
IF(LOWER(isp) <> "browserstack", TRUE, FALSE) AS is_mobile
FROM
`moz-fx-data-shared-prod.backfills_staging_derived.focus_ios_baseline_clients_last_seen_20240325`