O’yinchilarni ushlab qolish tahlili
O’yinchilarni ushlab qolish tahlili
Ushlab qolish - mahsulot iqtisodiyotining o’zagi: o’yinchi qanchalik faol bo’lsa, LTV shunchalik yuqori bo’lsa, daromad va oldindan aytib bo’ladigan rejalashtirish shunchalik barqaror bo’ladi. Quyida - to’liq ramka: to’g "ri ta’riflardan tortib tirik qolish modellarigacha va re-aktivatsiya konturigacha.
1) Ta’riflar va hisobga olish birliklari
Birlik: oʻyinchi (user/master_id) - andoza; qisqa muddatli vazifalar uchun «akkaunt/qurilma» deylik, lekin buni metrika pasportiga yozib oling.
Faollik: qaytish mezoni (≥ 1 sessiya/ ≥ 1 stavka/ ≥ 1 depozit) - qayd qiling.
Retenshn Dn: referent sanasidan keyin n-kuni qaytgan kogorta ulushi.
Rolling/Bracket: Rolling D7 (har qanday kunda 1-7) vs Exact D7 (aynan 7-kuni).
Churn (chiqib ketish): faollik yo’qligi ≥ T kun (masalan, 14/30); mahsulot qoidasi sifatida belgilanadi.
Kogortlar: ro’yxatdan o’tgan/birinchi depozit/birinchi o’yin sanasiga ko’ra - marketing/mahsulot vazifasini tanlang.
2) Bazaviy tahlillar: kogortlar va retention-egri chiziqlar
Kogortli issiqlik kartalari: D1/D3/D7/D14/D30/D60; diagonallari relizlar va kampaniyalar o’rtasida taqqoslanadi.
Omon qolish egri chiziqlari: 0 kundan N kungacha faol bo’lganlar ulushi (survival curve).
Egri chiziq geometriyasi: bayramlar/relizlarning «zinapoyalari»; erta «qulash» → onbording muammolari, «uzun dumi» → sodiq odamlarning yadrosi.
Psevdo-SQL: kogort D7
sql
WITH regs AS (
SELECT user_id, DATE_TRUNC('day', ts) AS cohort_day
FROM event_register
),
act AS (
SELECT user_id, DATE_TRUNC('day', ts) AS act_day
FROM event_activity
),
d7 AS (
SELECT r. cohort_day,
COUNT(DISTINCT r. user_id) AS cohort_size,
COUNT(DISTINCT CASE WHEN a. act_day = r. cohort_day + INTERVAL '7 day'
THEN r. user_id END) AS retained_d7
FROM regs r
LEFT JOIN act a ON a. user_id = r. user_id
GROUP BY 1
)
SELECT cohort_day, cohort_size,
retained_d7::decimal / NULLIF(cohort_size,0) AS cr_d7
FROM d7
ORDER BY cohort_day;
3) Omon qolish va hazard-modellar
Kaplan-Meier: survival (S (t)) ning namunadan tashqari bahosi; hayot egri chizig’i va medianani «shaklini olish» uchun foydalidir.
Cox PH/Accelerated Failure Time: belgilar ta’sirining tushunarli modellari (mamlakat, kanal, platforma, bonuslar, kontent) hazard (chiqib ketish xavfi) ga.
Discrete-time hazard (kunlar boʻyicha logit): oziq-ovqat tahlillari va taqvim fichlari uchun moslashuvchan.
«Qayta faollashtirish» hodisasi: alohida (competing risks) yoki Markov zanjiriga oʻtish sifatida modellashtiring.
4) Markov va yarim Markov modellari
Holatlar: New → Active → Dormant → Churned → Reactivated.
O’tishlar: davr uchun ehtimollar (kun/hafta).
Qiymat: «Active» da bo’lish ehtimolini o’rtacha chek/chastotaga ko’paytiring - LTVga kutilayotgan hissani oling.
5) Ushlab qolish va LTV bog’lamasi
LTV ( diskont).
Elastiklik: D7 ning X p.p. ga o’sishi → LTV ning Y% ga o’sishi (tarixiy ma’lumotlar/modellardan).
Ustuvorlik: erta ushlab qolishga ta’sir qiluvchi yaxshilanishlar (D1-D7) deyarli har doim eng daromadli bo’ladi.
6) Ushlab qolish segmentatsiyasi
Onbording-kogortlar: kuniga birinchi kontent/oʻyin toifasi/xulq-atvor namunasi 0.
Geo/platforma/kanal: UX va kutilayotgan farqlar; taqvim/bayramlarga tuzatish kiriting.
Xulq-atvor/qiymat: RFM (Recency-Frequency-Monetary), chiqib ketish xavfi, foyda.
Stimullarga javob: offerlar/notifikatsiyalarga uplift-reaksiya bo’yicha segmentlar.
7) Sabablilik va eksperimentlar
A/V: onbording, tutoriallar, push-strategiyalar; asosiy metrika - D7/D14/D30 retenshn, guardrails - shikoyatlar, javob vaqti, RG.
Kvazieksperimentlar: Randomizatsiyaning imkoni bo’lmaganda DiD/sintetik nazorat (masalan, mintaqaviy chiqishlar).
Uplift modellari: faollik ehtimolini emas, balki qaytish o’sishini targetlaydi; Qini/AUUC ni baholang.
8) Re-aktivatsiya: triggerlar va siyosat
Signallar: chastotaning pasayishi, N kun depozitlarning yo’qligi, g’ayritabiiy darajada past chek, 2-sessiyasiz tugallangan onbording.
Decision table (misol)
Gisterezis: «miltillamaslik» uchun signallar uchun turli kirish/chiqish ostonalari.
Kanallar: in-app, push, e-mail, SMS, call-markaz - rate-limit va ustuvorliklarga ega.
9) Ushlab qolish metrikasi
D1/D7/D30 (Rolling/Exact), WAU/MAU, Stickiness (DAU/MAU).
Survival mediana/kvantili; intervallarda hazard.
Reactivation rate (R30), Dormancy share.
ROMI re-aktivatsiyalar, NNT (1 qaytarish uchun qancha aloqa).
Fairness: mamlakatlar/platformalar bo’yicha metrik farqlar; siyosatdan nomaqbul belgilarni chiqarib tashlang.
10) Chegirma dashbordlari
Kogort issiqlik kartasi + trend chiziqlari D1/D7/D30.
Survival/hazard segmentlar boʻyicha grafiklar.
Erta hayot hunisi: install → reg → KYC → 1-o’yin → 1-omonat.
Harakat xaritasi: signal → yechim → kanal → chiqish (conversion to return).
Guardrails: ma’lumotlar yangiligi, voqealar coverage, shikoyatlar, RG indikatorlari.
11) Ma’lumotlar va sifat
Voqealar: kanonik sxema (UTC, versiyalar), idempotentlik, dedup.
Identifikatsiyalari: user/device/e-mail/telefon - ko’priklar va oltin yozuv.
Oyna va TZ: UTC + lokal koʻrinishlarda saqlash; bayramlarning yagona taqvimi.
Filtrlar: botlar/QA/frod - kogorta va aktivliklardan chiqarib tashlang.
Metriklarning versiyasi:’RET _ D7 _ vN’s changelog.
12) Psevdo-SQL/piton-retseptlar
Rolling D30 kogortlar boʻyicha
sql
WITH base 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 d
FROM event_activity
),
roll30 AS (
SELECT b. cohort_day,
COUNT(DISTINCT b. user_id) AS cohort_size,
COUNT(DISTINCT CASE WHEN a. d BETWEEN b. cohort_day AND b. cohort_day + INTERVAL '30 day'
THEN b. user_id END) AS any_1_30
FROM base b LEFT JOIN act a ON a. user_id = b. user_id
GROUP BY 1
)
SELECT cohort_day, any_1_30::decimal/cohort_size AS rolling_d30
FROM roll30;
Kaplan-Meier (eskiz)
python t_i - time to outflow or censorship; e_i - event indicator
S(t) = Π_{t_i ≤ t} (1 - d_i / n_i)
Discrete-hazard (kunlar boʻyicha logit)
python
For each user, create records before the event/censorship by day:
target = 1 if there was an outflow on that day; characteristics: calendar, activity, promo, etc.
Training logistic regression/GBM; forecast p_t - probability of outflow on day t.
13) Uplift-targeting chegirmalar
Zonalar: Persuadables (agar aloqada bo’lsak qaytadi), Sure things (shunday ham qaytadi), Lost causes, Do-not-disturb (aloqa zarar keltiradi).
Metriklar: uplift @k, Qini/AUUC; siyosat - uplift bo’yicha top-k bilan bog’lanamiz.
Guardrails: aloqa chastotasi, RG/axloq, aloqa sabablarini tushuntirish.
14) Operatsion foydalanish
SLO: retenshn-dashbordni yangilash ≤ 06:00 lok.; latency skoring tavakkalchiligi ≤ 300 ms; Decision→Action ≤ 5 с.
Monitoring: egri chiziqlarning segmentlar bo’yicha siljishi, belgilar dreyfining PSI, «hodisalar uzilishi».
Runibuki: D1 qulashi (onbording/reliz), D7 qulashi (kontent/chastota), aloqa kanallarining lokal uzilishlari.
15) Tez-tez xatolar
Birliklar (foydalanuvchilar), TZ, faollik oynalarini aralashtirish.
Rolling va Exact koʻrsatkichlarini tenglashtirish.
Ignor botov/froda → oshirilgan D1/D7.
Sababiy tekshirishsiz korrelyatsiya bo’yicha xulosalar.
Gisterezis/kuldaunlarning yo’qligi → kontaktlardan charchoq.
LTV bilan aloqasi yo’q - CR ni optimallashtiramiz, lekin qiymati emas.
16) Ushlab qolish konturini chiqarishdan oldingi chek-varaq
- Metrik pasport (faollik triggeri, oyna, TZ, versiya)
- Kogort hisobotlari va segmentlar bo’yicha survival/hazard
- Kanallarning chiqib ketish va uplift, kapa va guardrails xavfi modellari
- A/B rejasi va/yoki intervensiyalar uchun kvazi-eksperimentlar
- Tazelik/coverage/shikoyatlar/RG dashbordlari
- Voqealarning runibuklari, gisterezis va siyosatda rate-limits
- LTV va ROMI bilan ushlab qolish aloqasi; kutilayotgan qiymat bo’yicha ustuvorlik
Jami
Ushlab qolish tahlili nafaqat «kogort issiqlik kartasi», balki boshqariladigan tizim: to’g’ri ta’riflar, survival/hazard-modellar, qadriyat bilan aloqa, maqsadli va axloqiy aralashuvlar, ta’sirni qat’iy baholash va operatsion guardrails. Siz LTVni barqaror ravishda oshiradigan va chiqib ketishni kamaytiradigan «kuzatish → tushunish → qaror qabul qilish → harakat qilish → o’rganish» tsiklini yaratasiz.