Retensi

Menganalisis Data Bisnis di SQL

Michel Semaan

Data Scientist

MAU - jebakan

  • Tidak menunjukkan rincian pengguna aktif menurut masa pakai
  • Tidak membedakan pola aktivitas pengguna
    • Kasus 1: 100 pengguna mendaftar tiap bulan, aktif hanya satu bulan
    • Kasus 2: Hanya 100 pengguna mendaftar di bulan pertama; tidak ada pendaftaran baru setelahnya, tetapi 100 pengguna ini aktif setiap bulan
    • MAU kedua kasus = 100!
Menganalisis Data Bisnis di SQL

MAU - rincian

Rincian

  • Pengguna baru bergabung bulan ini
  • Pengguna dipertahankan aktif bulan lalu dan tetap aktif bulan ini
  • Pengguna bangkit tidak aktif bulan lalu, kembali aktif bulan ini
Menganalisis Data Bisnis di SQL

Tingkat retensi - ringkasan

  • Tingkat retensi: Persentase pengguna yang aktif di bulan sebelumnya dan masih aktif di bulan ini
  • Rumus: $\frac{Uc}{Up}$, di mana $Uc$ = jumlah pengguna unik yang aktif di bulan ini dan bulan lalu, dan $Up$ = jumlah pengguna unik yang aktif di periode sebelumnya
  • Contoh: $\frac{80}{100} = 0{.}8 = 80\%$
Menganalisis Data Bisnis di SQL

Tingkat retensi - kueri

WITH user_activity AS (
  SELECT DISTINCT
    DATE_TRUNC('month', order_date) :: DATE AS delivr_month,
    user_id
  FROM orders)

SELECT previous.delivr_month, ROUND( COUNT(DISTINCT current.user_id) :: NUMERIC / GREATEST(COUNT(DISTINCT previous.user_id), 1), 2) AS retention
FROM user_activity AS previous LEFT JOIN user_activity AS current ON previous.user_id = current.user_id AND previous.delivr_month = (current.delivr_month - INTERVAL '1 month') GROUP BY previous.delivr_month ORDER BY previous.delivr_month ASC LIMIT 3;
Menganalisis Data Bisnis di SQL

Tingkat retensi - hasil

delivr_month  retention
------------  ---------
2018-06-01    0.70
2018-07-01    0.70
2018-08-01    0.76
Menganalisis Data Bisnis di SQL

Retensi

Menganalisis Data Bisnis di SQL

Preparing Video For Download...