Oýunçylary saklamak seljermesi
Oýunçylary saklamak seljermesi
Saklamak önümiň ykdysadyýetiniň özenidir: oýunçy näçe uzak dowam etse, LTV şonça ýokary bolsa, girdeji we öňünden aýdyp boljak meýilnamalaşdyryş şonça-da durnukly bolar. Aşakda - doly çarçuwa: dogry kesgitlemelerden diri galmak modellerine we re-aktiwasiýa konturyna çenli.
1) Kesgitnamalar we hasaba alyş birlikleri
Birligi: oýunçy (user/master_id) - adaty; gysga möhletli meseleler üçin "hasap/enjam" diýeliň, ýöne muny metrika pasportyna ýazyň.
Işjeňlik: Yzyna gaýtarmagyň ölçegi (≥ 1 sessiýa/ ≥ 1 stawka/ ≥ 1 goýum) - düzediň.
Retenshn Dn: referent senesinden soň n-nji günde gaýdyp gelen kogortanyň paýy.
Rolling/Bracket: Rolling D7 (islendik günde 1-7) vs Exact D7 (takyk 7-nji günde).
Çurn (akym): işjeňligiň ýoklugy ≥ T gün (mysal üçin 14/30); önümiň kadasy hökmünde berilýär.
Kogortlar: hasaba alnan/ilkinji goýumyň/ilkinji oýnuň senesi boýunça - marketing/önüm meselesini saýlaň.
2) Esasy seljeriş: kogortlar we retention-egri
Kogort ýyladyş kartoçkalary: D1/D3/D7/D14/D30/D60; diagonallary neşirler bilen kampaniýalaryň arasynda deňeşdirip bolar.
Diri galmagyň egrileri: 0-dan N-e çenli aktiwleriň paýy (survival curve).
Egri geometriýa: baýramçylyklaryň/goýberişleriň "basgançaklary"; irki "çöküş" → onbording problemalary, "uzyn guýruk" → wepalylaryň özeni.
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) Diri galmak we hazard-modeller
Kaplan-Meier: survival (S (t)); egriniň we durmuşyň medianasynyň "görnüşini aýyrmak" üçin peýdalydyr.
Cox PH/Accelerated Failure Time: alamatlaryň (ýurt, kanal, platforma, bonuslar, mazmun) hazard-a täsiriniň düşündirilýän modelleri.
Discrete-time hazard (gün boýunça logit): azyk analitikasy we senenama üçin çeýe.
"Gaýtadan işjeňleşdirmek" hadysasy: aýratyn (competing risks) ýa-da Markowyň zynjyryna geçiş hökmünde modellemek.
4) Markow we ýarym Markow modelleri
States: New → Active → Dormant → Churned → Reactivated.
Geçişler: döwür üçin ähtimallyklar (gün/hepde).
Gymmaty: "Active" -de galmak ähtimallygyny orta çek/ýygylyga köpeldiň - LTV-e garaşylýan goşantyňyzy alyň.
5) Saklamak bagy we LTV
LTV ( arzanladyş).
Elastiklik: D7-iň X p.p. → LTV-iň Y% ýokarlanmagy (taryhy maglumatlardan/modellerden).
Ileri tutulýan ugur: irki saklanmaga täsir edýän gowulaşmalar (D1-D7), hemişe diýen ýaly iň girdejili.
6) Saklamak segmentasiýasy
Onbording kogortlary: ilkinji mazmun/oýun kategoriýasy/günde özüni alyp baryş şablony 0.
Geo/platforma/kanal: UX we garaşylýan tapawutlar; senenama/dynç alyş günlerine düzediň.
Özüni alyp barşy/gymmaty: RFM (Recency-Frequency-Monetary), akym töwekgelçiligi, girdeji.
Höweslendirijilere jogap: offerlere/belliklere uplift reaksiýasy boýunça segmentler.
7) Sebäpler we synaglar
A/B: onbording, tutoriallar, push-strategiýalar; esasy metrika - D7/D14/D30 retenşn, guardrails - şikaýatlar, jogap wagty, RG.
Kwazieksperimentler: Randomizasiýa mümkin bolmadyk ýagdaýynda DiD/sintetik gözegçilik (mysal üçin sebitleýin çykmalar).
Uplift modelleri: işjeňligiň ähtimallygyny däl-de, yzyna gaýdyp gelmegiň ösüşini nyşana alýarlar; Qini/AUUC baha beriň.
8) Gaýtadan işjeňleşdirmek: triggerler we syýasat
Signallar: ýygylygyň peselmegi, goýumlaryň ýoklugy N gün, anomal pes çek, 2-nji sessiýasyz tamamlanan onbording.
Decision table (mysal)
Gisterezis: "ýalpyldawuk" bolmazlygy üçin signallar üçin dürli giriş/çykyş bosagalary.
Kanallar: in-app, push, e-mail, SMS, jaň merkezi - rate-limit we ileri tutulýan ugurlar bilen.
9) Saklamak metrikleri
D1/D7/D30 (Rolling/Exact), WAU/MAU, Stickiness (DAU/MAU).
Survival mediana/kwantili; aralyklarda hazard.
Reactivation rate (R30), Dormancy share.
ROMI re-activations, NNT (1 yzyna gaýtarmak üçin näçe aragatnaşyk).
Fairness: ýurtlar/platformalar boýunça metrikleriň tapawudy; syýasatlardan kabul edip bolmajak alamatlary aýyryň.
10) Saklamak üçin daşbordlar
Kogort ýylylyk kartasy + tendensiýalaryň çyzyklary D1/D7/D30.
Segmentler boýunça survival/hazard grafikleri.
Irki durmuşyň hunisi: install → reg → KYC → 1-nji oýun → 1-nji goýum.
Hereket kartasy: signal → çözgüt → kanal → netije (conversion to return).
Garawullar: maglumatlaryň täzeligi, wakalaryň coverage, şikaýatlar, RG görkezijileri.
11) Maglumatlar we hili
Wakalar: kanoniki shema (UTC, wersiýa), idempotentlik, dedup.
Şahsyýetler: user/device/e-mail/telefon - köprüler we altyn ýazgy.
Penjireler we TZ: UTC + ýerli görkezişlerde saklamak; Baýramlaryň ýekeje senenamasy.
Süzgüçler: botlar/QA/frod - kogortadan we işjeňlikden çykaryň.
Metrleriň wersiýasy: 'RET _ D7 _ vN' s changelog.
12) Pseudo-SQL/piton reseptleri
Rolling D30
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 (gün boýunça 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-maksat saklamak
Zonalar: Persuadables (aragatnaşykda bolsak gaýdyp gelýärler), Sure things (we şeýle hem gaýdyp gelýärler), Lost causes, Do-not-disturb (aragatnaşyk zyýanly).
Metrikler: uplift @k, Qini/AUUC; syýasat - býudjet üçin uplift boýunça top-k bilen aragatnaşyk saklaýarys.
Guardrails: aragatnaşyk ýygylygy, RG/etika, aragatnaşyk sebäbiniň düşündirilmegi.
14) Operasiýa işi
SLO: retenşn-daşbordyň täzelenmegi ≤ 06:00 lok.; töwekgelçilik skoringiniň latency ≤ 300 ms; Decision→Action ≤ 5 с.
Gözegçilik: egrileriň segmentler boýunça süýşmegi, alamatlaryň süýşmeginiň PSI, "wakalaryň kesilmegi".
Runibuki: D1 ýykylmagy (onbording/release), D7 ýykylmagy (mazmun/ýygylyk), aragatnaşyk kanallarynyň lokal näsazlyklary.
15) Ýygy-ýygydan ýalňyşlyklar
Birlikleri garyşdyrmak (sessiýalary ulanyjylar), TZ, işjeňlik penjireleri.
"Rolling" we "Exact" görkezijilerini deňeşdirmek.
Ignor botow/froda → ýokary D1/D7.
Sebäpleri barlamazdan korrelýasiýa boýunça netijeler.
Histerezisiň/kuldaunlaryň ýoklugy → aragatnaşyklardan ýadawlyk.
LTV bilen baglanyşyk ýok - CR-ni optimizirleýäris, ýöne gymmaty däl.
16) Saklamak konturynyň goýberilmezinden öň çek-sanawy
- Metrik pasport (işjeňlik tetigi, penjire, TZ, wersiýa)
- Kogorta hasabatlary we segmentler boýunça survival/hazard
- Akym we uplift töwekgelçiliginiň modelleri, kapaplar we gardrails kanallary
- A/B meýilnamasy we/ýa-da gatyşmak üçin kwazieksperimentler
- Tazelik/coverage/şikaýatlar/RG
- Runibuki hadysalar, histerezis we rate-limits syýasatda
- LTV we ROMI bilen saklamak baglanyşygy; garaşylýan gymmatlyk boýunça ileri tutulýan
Jemi
Saklamak seljermesi diňe bir "ýylylyk kartasy" däl, eýsem dolandyrylýan ulgam: dogry kesgitlemeler, survival/hazard-modeller, gymmatlyk bilen baglanyşyk, nyşana alnan we etiki gatyşmalar, täsirine berk baha bermek we operasiýa guardrails. LTV-ni yzygiderli ýokarlandyrýan we akymlary azaldýan "synlamak → düşünmek → karar bermek → hereket etmek → öwrenmek" siklini gurýarsyňyz.