--- Создаем временную таблицу "new_users"
WITH
new_users AS (
SELECT
user_pseudo_id,
--- Помечаем пользователей у которых в данный промежуток времени было событие "firs_visit" и "first_open" как "1", а тех кто уже был у нас на сайте или в приложении как "0"
MAX(IF(event_name IN ('first_visit', 'first_open'), 1, 0)) AS new_user
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
--- Нужный диапазон дат
WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
GROUP BY user_pseudo_id
)
SELECT
--- Подсчитываем всех пользователей
COUNT(*) AS count_all_users,
--- Суммируем "1" и получаем количество новых пользователей
SUM(new_user) AS count_new_user,
--- Подсчитываем количество вернувшихся пользователей
COUNT (*) - SUM (new_user) as returned_users
FROM new_users