sql/moz-fx-data-shared-prod/search_derived/search_revenue_levers_daily_v1/query.sql (366 lines of code) (raw):

WITH google_data AS ( SELECT submission_date, country, normalized_engine AS partner, 'desktop' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, SUM(search_with_ads_organic) AS search_with_ads_organic, SUM(IF(is_sap_monetizable, sap, 0)) AS monetizable_sap FROM `moz-fx-data-shared-prod.search.search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'Google' AND ( (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) ) GROUP BY submission_date, country, partner, device UNION ALL SELECT submission_date, country, normalized_engine AS partner, 'mobile' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, 0 AS search_with_ads_organic, 0 AS monetizable_sap FROM `moz-fx-data-shared-prod.search.mobile_search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'Google' AND ( (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) ) AND ( app_name IN ('Fenix', 'Firefox Preview', 'Focus', 'Focus Android Glean', 'Focus iOS Glean') OR (app_name = 'Fennec' AND os = 'iOS') ) GROUP BY submission_date, country, partner, device ), bing_data AS ( SELECT submission_date, country, normalized_engine AS partner, 'desktop' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, SUM(search_with_ads_organic) AS search_with_ads_organic, SUM(IF(is_sap_monetizable, sap, 0)) AS monetizable_sap FROM `moz-fx-data-shared-prod.search.search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'Bing' AND is_acer_cohort GROUP BY submission_date, country, partner, device UNION ALL SELECT submission_date, country, normalized_engine AS partner, 'mobile' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, 0 AS search_with_ads_organic, 0 AS monetizable_sap FROM `moz-fx-data-shared-prod.search.mobile_search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'Bing' AND ( app_name IN ('Fenix', 'Firefox Preview', 'Focus', 'Focus Android Glean', 'Focus iOS Glean') OR (app_name = 'Fennec' AND os = 'iOS') ) GROUP BY submission_date, country, partner, device ), ddg_data AS ( SELECT submission_date, country, normalized_engine AS partner, 'desktop' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, SUM(search_with_ads_organic) AS search_with_ads_organic, SUM(IF(is_sap_monetizable, sap, 0)) AS monetizable_sap FROM `moz-fx-data-shared-prod.search.search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'DuckDuckGo' GROUP BY submission_date, country, partner, device UNION ALL SELECT submission_date, country, normalized_engine AS partner, 'mobile' AS device, SUM(sap) AS sap, SUM(tagged_sap) AS tagged_sap, SUM(tagged_follow_on) AS tagged_follow_on, SUM(search_with_ads) AS search_with_ads, SUM(ad_click) AS ad_click, SUM(organic) AS organic, SUM(ad_click_organic) AS ad_click_organic, 0 AS search_with_ads_organic, 0 AS monetizable_sap FROM `moz-fx-data-shared-prod.search.mobile_search_aggregates` WHERE submission_date = @submission_date AND normalized_engine = 'DuckDuckGo' GROUP BY submission_date, country, partner, device ), combined_search_data AS ( SELECT * FROM google_data UNION ALL SELECT * FROM bing_data UNION ALL SELECT * FROM ddg_data ), eligible_markets_dau AS ( SELECT DISTINCT "desktop" AS device, submission_date, country, COUNT(DISTINCT client_id) AS global_eligible_dau, COUNT( DISTINCT IF( ( (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) ), client_id, NULL ) ) AS google_eligible_dau FROM `mozdata.telemetry.desktop_active_users` WHERE submission_date = @submission_date AND is_dau # not including Mozilla Online AND app_name = "Firefox Desktop" GROUP BY device, submission_date, country UNION ALL SELECT DISTINCT "mobile" AS device, submission_date, country, COUNT(DISTINCT client_id) AS global_eligible_dau, COUNT( DISTINCT IF( ( (submission_date < "2023-12-01" AND country NOT IN ('RU', 'UA', 'TR', 'BY', 'KZ', 'CN')) OR (submission_date >= "2023-12-01" AND country NOT IN ('RU', 'UA', 'BY', 'CN')) ), client_id, NULL ) ) AS google_eligible_dau FROM `mozdata.telemetry.mobile_active_users` WHERE submission_date = @submission_date AND is_dau # not including Fenix MozillaOnline, BrowserStack, Klar AND app_name IN ("Focus iOS", "Firefox iOS", "Fenix", "Focus Android") GROUP BY device, submission_date, country ), desktop_mobile_search_dau AS ( SELECT submission_date, partner, device, country, SUM(dau_w_engine_as_default) AS dau_w_engine_as_default, SUM(dau_engaged_w_sap) AS dau_engaged_w_sap FROM `mozdata.search.search_dau_aggregates` WHERE submission_date = @submission_date GROUP BY submission_date, partner, device, country ), combined_search_dau AS ( SELECT submission_date, partner, device, country, CASE WHEN partner = "Google" THEN google_eligible_dau ELSE global_eligible_dau END AS dau_eligible_markets, dau_w_engine_as_default, dau_engaged_w_sap FROM desktop_mobile_search_dau LEFT JOIN eligible_markets_dau USING (submission_date, device, country) ), desktop_serp_events AS ( SELECT submission_date, `moz-fx-data-shared-prod`.udf.normalize_search_engine(search_engine) AS partner, 'desktop' AS device, normalized_country_code AS country, COUNT(DISTINCT legacy_telemetry_client_id) AS serp_events_client_count, COUNT( DISTINCT IF(ad_blocker_inferred, legacy_telemetry_client_id, NULL) ) AS serp_events_clients_with_ad_blocker_inferred, COUNT( DISTINCT IF( REGEXP_CONTAINS(sap_source, 'urlbar') OR sap_source IN ('searchbar', 'contextmenu', 'webextension', 'system'), impression_id, NULL ) ) AS serp_events_sap, COUNTIF(is_tagged) AS serp_events_tagged_sap, COUNTIF(is_tagged AND REGEXP_CONTAINS(sap_source, 'follow_on')) AS serp_events_tagged_follow_on, SUM(num_ad_clicks) AS serp_events_ad_click, COUNTIF(num_ads_visible > 0) AS serp_events_search_with_ads, COUNTIF(NOT is_tagged) AS serp_events_organic, SUM(IF(NOT is_tagged, num_ad_clicks, 0)) AS serp_events_ad_click_organic, COUNTIF(num_ads_visible > 0 AND NOT is_tagged) AS serp_events_search_with_ads_organic, -- serp_events does not have distribution ID or partner codes to calculate monetizable SAP COUNTIF(ad_blocker_inferred) AS serp_events_sap_with_ad_blocker_inferred, SUM(num_ads_visible) AS serp_events_num_ads_visible, SUM(num_ads_blocked) AS serp_events_num_ads_blocked, FROM `moz-fx-data-shared-prod.firefox_desktop.serp_events` WHERE submission_date = @submission_date AND `moz-fx-data-shared-prod`.udf.normalize_search_engine(search_engine) IN ( 'Google', 'Bing', 'DuckDuckGo' ) GROUP BY submission_date, partner, device, country ) SELECT cd.submission_date, cd.partner, cd.device, CAST(NULL AS STRING) AS channel, cd.country, du.dau_eligible_markets AS dau, du.dau_w_engine_as_default, du.dau_engaged_w_sap, cd.sap, cd.tagged_sap, cd.tagged_follow_on, cd.search_with_ads, cd.ad_click, cd.organic, cd.ad_click_organic, cd.search_with_ads_organic, cd.monetizable_sap, dse.serp_events_client_count, dse.serp_events_clients_with_ad_blocker_inferred, dse.serp_events_sap, dse.serp_events_tagged_sap, dse.serp_events_tagged_follow_on, dse.serp_events_ad_click, dse.serp_events_search_with_ads, dse.serp_events_organic, dse.serp_events_ad_click_organic, dse.serp_events_search_with_ads_organic, dse.serp_events_sap_with_ad_blocker_inferred, dse.serp_events_num_ads_visible, dse.serp_events_num_ads_blocked FROM combined_search_data cd LEFT JOIN combined_search_dau du ON cd.partner = du.partner AND cd.submission_date = du.submission_date AND cd.country = du.country AND cd.device = du.device LEFT JOIN desktop_serp_events dse ON cd.submission_date = dse.submission_date AND cd.partner = dse.partner AND cd.country = dse.country AND cd.device = dse.device