GH GambleHub

تجزیه و تحلیل کوهورت

تجزیه و تحلیل کوهورت

تجزیه و تحلیل کوهورت اشیاء (معمولا کاربران) را با یک رویداد شروع می کند و مقایسه می کند که چگونه و چه مدت آنها فعال و ارزشمند باقی می مانند. این رویکرد تأثیر زمان در سیستم (فصول، سهام) را از تأثیر سن گروه (روزها از شروع) جدا می کند.

1) تعاریف اساسی

کوهورت: بسیاری از بازیکنان متحد شده توسط این رویداد «تولد» - ثبت نام, اولین سپرده, اولین بازی, اولین خرید.
تقویم محور زمان: تاریخ واقعی (2025-10-01،...).
محور سنی کوهورت: روزها/هفته ها از زمان تولد (D0، D1،...).
معیارهای نگهداری: D1/D7/D30 (دقیق و نورد)، WAU/MAU، چسبندگی (DAU/MAU).
کسب درآمد: ARPU/ARPPU، LTV تجمعی (در D7/D30/D90).
واحد حسابداری: کاربر (user/master_id) - ثبت در گذرنامه.

💡 قانون طلایی: رویداد تولد قبل از ثبت، TZ، پنجره فعالیت و استثنائات (رباتها/QA/تقلب).

2) انواع گروه ها و زمان انتخاب آنها

گروه های جذب: با تاریخ ثبت نام/اولین بازدید - ارزیابی کانال های استخدام و ورود به سیستم.
فعال سازی/کسب درآمد-همکاران: با اولین سپرده/خرید - ارزیابی اولیه کسب درآمد و تبلیغی.
گروه های ویژگی: برای اولین بار از دسته ویژگی/بازی - اثر انتشار.
گروه های رفتاری: با الگوی RFM/شروع (به عنوان مثال، «تلفن همراه شبانه»).

3) محورها و شبکه ها: نحوه تماشای ماتریس

ماتریس کوهورت: ردیف - گروه (تقویم)، ستون - سن (D0... D90)

فصلی: مقایسه قطر (همان روز تقویم) برای جدا کردن اثرات فصلی.
نرمال سازی: معیارهای نسبی (CR، کسری) + تجمعی (LTV)، هر دو را نشان می دهد.

4) گذرنامه کوهورت و معیارهای (قالب)

کوهورت: «REG روز»«اول _ هفته سپرده»
محور سنی: روز (D)، افق D1/D7/D30/D90.
فعالیت: جلسه ≥1 یا میزان ≥1 (ثابت).
استثنا: رباتها/تقلب/QA/تکراری.
بخش های پیش فرض: کشور، پلت فرم، کانال، رده محتوا، بخش قیمت.
معیارهای: CR، نورد/احتباس دقیق، LTV تجمعی، ARPU/ARPPU،٪ پرداخت.
نسخه: 'COHORT _ RET _ v3'، صاحبان، تاریخ تجدید نظر.

5) شبه SQL: ماتریس نگهداری (Dn دقیق)

sql
WITH regs AS (
SELECT user_id, DATE_TRUNC('day', MIN(ts)) AS cohort_day
FROM event_register
GROUP BY 1
),
act AS (
SELECT user_id, DATE_TRUNC('day', ts) AS act_day
FROM event_activity
),
ages AS (
SELECT r. user_id, r. cohort_day, a. act_day,
(a. act_day - r. cohort_day) AS age_days
FROM regs r
JOIN act a ON a. user_id = r. user_id
),
exact AS (
SELECT cohort_day,
age_days,
COUNT(DISTINCT user_id) AS users_active
FROM ages
GROUP BY 1,2
),
coh_size AS (
SELECT cohort_day, COUNT(DISTINCT user_id) AS cohort_size
FROM regs GROUP BY 1
)
SELECT e. cohort_day,
e. age_days,
e. users_active::decimal / NULLIF(c. cohort_size,0) AS exact_retention
FROM exact e
JOIN coh_size c USING (cohort_day)
WHERE age_days IN (1,7,30,90)
ORDER BY cohort_day, age_days;

نورد Dn (فعالیت در روز 1... N)

sql
WITH days AS (... as above...),
roll AS (
SELECT cohort_day,
CASE WHEN age_days BETWEEN 1 AND 7 THEN 7
WHEN age_days BETWEEN 1 AND 30 THEN 30 END AS bucket,
COUNT(DISTINCT user_id) AS any_active
FROM days
WHERE age_days BETWEEN 1 AND 30
GROUP BY 1,2
)
SELECT r. cohort_day, r. bucket AS Dn,
r. any_active::decimal / s. cohort_size AS rolling_retention
FROM roll r
JOIN (SELECT cohort_day, COUNT(DISTINCT user_id) cohort_size FROM regs GROUP BY 1) s USING (cohort_day)
ORDER BY cohort_day, Dn;

6) LTV کوهورت و کسب درآمد

LTV تجمعی (Dn): مجموع درآمد در هر کاربر کوهورت توسط Dn.
ARPU/ARPPU: درآمد به ازای هر کاربر/پرداخت کننده Dn.
٪ پرداخت: سهم با پرداخت ≥1 به Dn.

sql
WITH reg AS (
SELECT user_id, DATE_TRUNC('day', MIN(ts)) AS cohort_day
FROM event_register GROUP BY 1
),
pay AS (
SELECT user_id, amount, DATE_TRUNC('day', ts) AS pay_day
FROM fact_payments
),
ltv AS (
SELECT r. cohort_day,
(pay_day - r. cohort_day) AS age_days,
SUM(amount) AS rev
FROM reg r JOIN pay p USING (user_id)
WHERE pay_day >= r. cohort_day
GROUP BY 1,2
),
cum AS (
SELECT cohort_day, age_days,
SUM(rev) OVER (PARTITION BY cohort_day ORDER BY age_days ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS rev_cum
FROM ltv
)
SELECT c. cohort_day, c. age_days,
c. rev_cum::decimal / NULLIF(sz. cohort_size,0) AS ltv_per_user
FROM cum c
JOIN (SELECT cohort_day, COUNT(DISTINCT user_id) cohort_size FROM reg GROUP BY 1) sz USING (cohort_day)
WHERE age_days IN (7,30,90)
ORDER BY cohort_day, age_days;

7) بقا/خطر برای حفظ

کاپلان-مایر: منحنی بقای غیر مدل (S (t)) - نسبت «تخلیه» نیست.
مدل های خطر: تاثیر ویژگی ها (کانال، کشور، پلت فرم، پاداش، محتوا) در خطر خروج.
تمرین: ما KM را با بخش ها می سازیم، سپس تفاوت با مدل خطر را توضیح می دهیم.

8) فصلی، TZ و تقویم

TZ: رویدادهای فروشگاه در UTC، تجزیه و تحلیل در TZ محلی بازار ؛ سازگار باشید.

تقویم: تعطیلات/حقوق/مسابقات/انتشار - مانند پرچم ها ؛ مقایسه هفته های مشابه

پنجره کشویی: برای گروه های هفتگی/ماهانه - تعدد تعطیلات و دوره های گزارش دهی.

9) تقسیم بندی و انتساب

بخش ها: کانال جاذبه، پلت فرم/OS، جغرافیایی، محتوای اول، قیمت/محدودیت ها، روش پرداخت.
انتساب کوهورت: «چه کسی کاربر را آورد» - الگوریتم را برطرف کنید (آخرین غیر مستقیم، داده محور).
وزن LTV: مقایسه نه تنها CR، بلکه LTV (D30/D90) توسط کانال/بخش.

10) تجسم

نقشه حرارتی ماتریس کوهورت (CR/LTV).
خطوط روند D1/D7/D30 بر اساس تقویم.

نمودار بقا/خطر

پل «چه چیزی LTV را به D30 تغییر داد»: سهم پرداخت کننده، فرکانس، چک متوسط.

11) آزمایش و علیت

A/B: onboarding، آموزش، paywall، ارائه می دهد. متریک اصلی حفظ D7/D30 و LTV (D30) است.
شبه آزمایش: DiD/کنترل مصنوعی برای رول کردن به بازار.
مدل های بالابری: افزایش بازده در فعال سازی مجدد (Qini/AUUC، uplift @ k) را هدف قرار دهید.

12) عملیات و حکومت

نسخه بندی: 'RET _ D7 _ vN'، 'LTV _ D30 _ vN' ؛ changelog هنگام تغییر تعریف فعالیت/ارز.

طراوت SLO: گروه های روزانه - آمادگی تا قفل 06:00 ؛ ثبت اطلاعات ≤ 1 ساعت

کیفیت: پوشش حوادث، نسبت تکراری، نسبت رباتها/تقلب در خارج از گروه ها.
دسترسی: RLS/CLS، ماسک PII ؛ صادرات - فقط مصالح.
Runbooks: D1 قطره (onboarding)، D7 (محتوا)، رویداد/هویت scrapping.

13) خطاهای مکرر (ضد الگوهای)

مخلوط کردن محور: سنین مختلف کوهورت را در فصول مختلف بدون تنظیم مقایسه کنید.
نورد در مقابل دقیق: به عنوان همان چیزی درمان می شود.
واحد مخلوط کردن: جلسات در مخرج، کاربران در صورت کسر.
تجمع «معنی»: به جای جمع کردن اعداد/مخرج.
نادیده گرفتن TZ/تقویم: جبران D1 در مرزهای روز/تعطیلات.
بدون ربات/تقلب/فیلتر QA.
راه اندازی مجدد حساب نشده: تقسیم/ادغام حساب بدون پل هویت.

14) چک لیست قبل از انتشار گزارش کوهورت

  • رویداد تولد، واحد، TZ، پنجره های فعالیت تعریف شده است
  • رباتها حذف شده/تقلب/QA ؛ هویت های مخلوط (رکورد طلایی)
  • ساخته شده CR (دقیق/نورد) و ماتریس LTV برای D7/D30/D90
  • تقویم/تعطیلات در نظر گرفته شده ؛ بخش های کانال/پلت فرم/جغرافیایی
  • گرافیک بقا/خطر و پل LTV اضافه شده است
  • نسخه های متریک مستند و الگوریتم انتساب
  • SLO های تازه پیکربندی شده، پوشش/تکراری/نظارت بر خطا
  • کتاب های آماده برای قطره های D1/D7 و شکستن رویداد

مجموع

تجزیه و تحلیل کوهورت دو محور و نظم و انضباط است: ثابت «لحظه تولد»، پنجره های صحیح و TZ، حفظ و ماتریس LTV، تقسیم بندی و تأیید علیت تغییر. این رویکرد کمک می کند تا نه تنها به رعایت منحنی، بلکه به تصمیم گیری: که در آن به رفع onboarding، که کانال به مقیاس، چه محتوا و ارائه می دهد نگه داشتن بازیکنان دیگر و افزایش LTV.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.