Відстеження неактивних користувачів є поширеним завданням в аналітиці та управлінні базами даних, особливо для застосунків, що моніторять взаємодію користувачів або їх активність. Для сьогоднішнього питання на інтерв'ю з SQL ми розглянемо, як виявити неактивних користувачів, які не заходили в систему протягом останніх 10 днів. Це завдання часто зустрічається в реальних сценаріях і є чудовим прикладом того, як SQL може аналізувати поведінку користувачів.
Розуміння проблеми
У типовій базі даних журнали активності користувачів зберігаються в таблиці. Нам потрібно знайти користувачів, які не мають записів про вхід в систему протягом останніх 10 днів від певної дати (зазвичай це поточна дата).
Приклад набора даних: UserLogins
SQL запит
Пояснення запиту
Підзапит: Внутрішній запит отримує список унікальних UserID
, які заходили в систему протягом останніх 10 днів ( DATE(‘now’, ‘-10days’) ).
Зовнішній запит: Зовнішній запит вибирає унікальні UserID
з таблиці UserLogins
, де UserID
не присутній у результатах підзапиту.
NOT IN: Фільтрує користувачів, які заходили в систему протягом вказаного періоду часу, залишаючи тільки неактивних користувачів.
ПРАКТИЧНІ ВИКОРИСТАННЯ:
- Аналіз взаємодії: Визначення користувачів, які потребують кампаній для повторної взаємодії.
- Прогнозування відтоку: Виявлення неактивних користувачів, які ймовірно покинуть платформу.
- Управління підписками: Виявлення неактивних користувачів, які не використовували платні послуги.
Залишайтеся з нами для наступної частини цієї серії інтерв'ю з SQL!
Перекладено з: SQL Interview Questions 11/30: Finding Inactive Users