Расчет удержания с использованием SQL

В настоящее время я пытаюсь рассчитать коэффициент удержания (процент клиентов, вернувшихся на веб-страницу) за 3 дня для всей таблицы в течение 14 дней. Для этого я пытаюсь подсчитать общее количество пользователей (visitorId), которые вернулись на страницу между конкретными датами, а затем я бы усреднил их вместе, чтобы получить средний коэффициент удержания за 14 дней. В настоящее время я использую этот код, но он не работает.

SELECT
    pageviews.pageType,
    pageviews.pageviewDate,
    sessions.sessionDate,
    sessions.deviceType,
    sessions.visitorId
    AVG(COUNT(sessions.visitor > 1 BETWEEN sessions.sessionDate '2018-04-26' AND '2018-04-29')
    # There would be multiple of these dates
FROM sessions
INNER JOIN pageviews
    ON sessions.visitorId = pageviews.visitorId AND
       pageviews.pageviewDate = sessions.sessionDate
WHERE
    pageviews.pageType = 'Game' AND sessions.deviceType = 'Desktop'; 

Чтобы быть более конкретным, желаемый результат будет иметь одно число, которое указывает среднее число клиентов, которые вернулись на определенную страницу (в данном случае, Game), которые использовали настольные компьютеры. Кто-нибудь может помочь? Пожалуйста, дайте мне знать, если нужно больше разъяснений. Обратите внимание, для простоты, я не добавил всю дату, по которой я буду рассчитывать коэффициент удержания, поскольку он будет много.

1 ответ

Я думаю, что вы должны установить ваше условие, где закрыть, а затем использовать агрегатную функцию в операторе выбора

пожалуйста, возьмите структуру таблиц и образец данных для тестирования

Другие вопросы по тегам