backfill/2023-11-03-active_users_aggregates/focus_android_query.sql (113 lines of code) (raw):
WITH baseline AS (
SELECT
activity_segment AS segment,
attribution_medium,
attribution_source,
attribution_medium IS NOT NULL
OR attribution_source IS NOT NULL AS attributed,
city,
country,
distribution_id,
EXTRACT(YEAR FROM um.first_seen_date) AS first_seen_year,
is_default_browser,
normalized_channel AS channel,
normalized_os AS os,
normalized_os_version AS os_version,
os_version_major,
os_version_minor,
um.submission_date,
um.locale,
CAST(NULL AS STRING) adjust_network,
CAST(NULL AS STRING) install_source,
um.first_seen_date,
normalized_app_name as app_name,
normalized_os,
days_since_seen,
ad_click,
organic_search_count,
search_count,
search_with_ads,
uri_count,
active_hours_sum,
um.app_version as app_version,
um.client_id,
durations
FROM
`moz-fx-data-shared-prod.telemetry_derived.unified_metrics_v1` AS um
WHERE
um.submission_date >= '2021-01-01' AND um.submission_date <= CURRENT_DATE
AND normalized_app_name IN ('Focus Android', 'Focus Android Glean', 'Focus Android Glean BrowserStack')
),
enriched_with_language AS
(
SELECT
baseline.* EXCEPT (locale),
CASE
WHEN locale IS NOT NULL
AND languages.language_name IS NULL
THEN 'Other'
ELSE languages.language_name
END AS language_name,
FROM
baseline
LEFT JOIN
`mozdata.static.csa_gblmkt_languages` AS languages
ON
baseline.locale = languages.code
)
SELECT
segment,
app_version,
attribution_medium,
attribution_source,
attributed,
city,
country,
distribution_id,
first_seen_year,
is_default_browser,
app_name,
channel,
os,
os_version,
os_version_major,
os_version_minor,
submission_date,
adjust_network,
install_source,
language_name,
COUNT(DISTINCT IF(days_since_seen = 0 AND durations > 0, client_id, NULL)) AS dau,
COUNT(DISTINCT IF(days_since_seen = 0, client_id, NULL)) AS all_dau,
COUNT(DISTINCT IF(days_since_seen < 7, client_id, NULL)) AS wau,
COUNT(DISTINCT client_id) AS mau,
COUNT(DISTINCT IF(submission_date = first_seen_date, client_id, NULL)) AS new_profiles,
SUM(ad_click) AS ad_clicks,
SUM(organic_search_count) AS organic_search_count,
SUM(search_count) AS search_count,
SUM(search_with_ads) AS search_with_ads,
SUM(uri_count) AS uri_count,
SUM(active_hours_sum) AS active_hours
FROM
enriched_with_language
GROUP BY
segment,
distribution_id,
channel,
os_version,
os_version_major,
os_version_minor,
language_name,
app_name,
app_version,
attributed,
attribution_medium,
attribution_source,
adjust_network,
install_source,
city,
country,
first_seen_year,
is_default_browser,
app_name,
os,
submission_date