تحليل الفوج
تحليل الفوج
مجموعات تحليل المجموعات تعترض (عادة المستخدمين) من خلال حدث بدء واحد ويقارن كيف وإلى متى يظلون نشطين وقيمين. يفصل هذا النهج تأثير الوقت في النظام (المواسم والأسهم) عن تأثير عمر المجموعة (أيام من البداية).
1) التعاريف الأساسية
المجموعة: يجمع بين العديد من اللاعبين حدث «الولادة» - التسجيل، الإيداع الأول، اللعبة الأولى، الشراء الأول.
محور وقت التقويم: التواريخ الفعلية (2025-10-01،...).
محور العمر الجماعي: أيام/أسابيع منذ الولادة (D0، D1،...).
مقاييس الاحتفاظ: D1/D7/D30 (Exact and Rolling)، WAU/MAU، Stickiness (DAU/MAU).
التحويل إلى نقود: ARPU/ARPPU، تراكمي LTV (على D7/D30/D90).
وحدة المحاسبة: المستخدم (user/master_id) - سجل في جواز السفر.
2) أنواع المجموعات ومتى تختارهم
مجموعات الاقتناء: حسب تاريخ التسجيل/الزيارة الأولى - تقييم قنوات التوظيف والاستقبال.
التنشيط/التحويل إلى نقود - مجموعات: عن طريق الإيداع/الشراء الأول - تقييم النقد المبكر والترويج.
مجموعات الميزات: لأول استخدام لفئة الميزة/اللعبة - تأثير الإصدارات.
مجموعات السلوك: بواسطة RFM/نمط البداية (على سبيل المثال، «الهاتف المحمول الليلي»).
3) المحاور والشبكات: كيفية مشاهدة المصفوفة
مصفوفة الفوج: صفوف - مجموعات (تقويم)، أعمدة - عمر (D0... D90).
الموسمية: قارن الأقطار (نفس اليوم التقويمي) بالتأثيرات الموسمية المنفصلة.
التطبيع: المقاييس النسبية (CR، الكسور) + التراكمية (LTV)، تظهر كليهما.
4) جواز سفر جماعي ومقاييس (نموذج)
5) Seudo-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;
Rolling Dn (نشاط في اليوم 1... ن)
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) التجزئة والإسناد
القطاعات: قناة الجذب، المنصة/نظام التشغيل، الجغرافيا، المحتوى الأول، السعر/الحدود، طريقة الدفع.
إسناد المجموعة: «من أحضر» المستخدم - أصلح الخوارزمية (آخر غير مباشر، مدفوع بالبيانات).
ترجيح LTV: قارن ليس فقط CR، ولكن أيضًا LTV (D30/D90) حسب القناة/المقطع.
10) التصور
خريطة حرارية لمصفوفة الفوج (CR/LTV).
خطوط الاتجاه D1/D7/D30 حسب التقويم.
مخططات البقاء/الخطر.
الجسر «ما الذي غير LTV إلى D30»: مساهمة الدافع، التردد، متوسط الشيك.
11) التجارب والسببية
A/B: الإلحاق، البرامج التعليمية، paywall، العروض. المقياس الرئيسي هو الاحتفاظ D7/D30 و LTV (D30).
شبه التجارب: DiD/التحكم الاصطناعي للنشر في الأسواق.
نماذج الرفع: استهداف مكسب العائد في إعادة التنشيط (Qini/AUUC، uplift @ k).
12) التشغيل والحوكمة
Versioning: 'RET _ D7 _ vN', 'LTV _ D30 _ vN'; عند تغيير تعريف النشاط/العملة.
نضارة SLO: الأفواج اليومية - الاستعداد حتى الساعة 06:00 قفل ؛ سجل البيانات ≤ 1 ساعة.
الجودة: تغطية الأحداث، ونسبة النسخ المزدوجة، ونسبة الروبوتات/الاحتيال خارج المجموعات.
الوصول: RLS/CLS، قناع PII ؛ التصدير - المجاميع فقط.
كتب التشغيل: D1 drop (على متن الطائرة)، D7 (المحتوى)، إلغاء الحدث/الهوية.
13) الأخطاء المتكررة (الأنماط المضادة)
خلط المحور: قارن الأعمار المختلفة للأفواج في مواسم مختلفة دون تعديل.
Rolling vs Exact: يعامل على أنه نفس الشيء.
وحدات الخلط: الجلسات في المقام، والمستخدمون في البسط.
تجميع «يعني»: بدلاً من تجميع البسط/المقامات.
تجاهل TZ/التقويم: تعويض D1 في حدود اليوم/العطلة.
لا روبوت/احتيال/مرشح QA.
عمليات إعادة التشغيل المجهولة: حسابات مقسمة/مدمجة بدون جسور هوية.
14) قائمة مرجعية قبل نشر تقرير المجموعة
- حدث الميلاد، الوحدة، TZ، نوافذ النشاط المحددة
- الروبوتات/الاحتيال/الجودة المستبعدة ؛ هويات مختلطة (سجل ذهبي)
- مصفوفات CR مبنية (بالضبط/رولينج) ومصفوفات LTV لـ D7/D30/D90
- التقويم/العطلات التي تؤخذ في الاعتبار ؛ حسب القناة/المنصة/الجغرافيا
- الرسومات المضافة للبقاء/الخطر والجسر LTV
- الإصدارات المترية الموثقة وخوارزمية الإسناد
- تم تشكيل SLOs الجديدة، والتغطية/المكررة/رصد الخطأ
- كتيبات تشغيل جاهزة لقطرات D1/D7 وفواصل الحدث
المجموع
تحليلات المجموعات هما محوران وانضباط: «لحظة الميلاد» الثابتة، والنوافذ الصحيحة و TZ، ومصفوفات الاحتفاظ و LTV، والتجزئة، والتحقق السببي من التغيير. يساعد هذا النهج ليس فقط في مراقبة المنحنيات، ولكن أيضًا في اتخاذ القرارات: مكان إصلاح التشغيل، والقنوات التي يتم توسيعها، والمحتوى والعروض التي تبقي اللاعبين أطول وتزيد LTV.