WinUpGo
Axtarış
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
Kriptovalyuta Casino Kriptovalyutalar Torrent Gear - universal torrent axtarış! Torrent Gear

Balların hesablanması qaydalarının A/B testləri

Xal - hər hansı bir oyun ürəyi. Oyunçuların davranışı, iştirak strukturu və iqtisadiyyatı (ARPPU, bonus bonuslar) xalların dəqiq sayılmasından asılıdır. Aşağıda - xalların yeni qaydasını test etmək və metriklərin artefakt deyil, real olduğundan əmin olmaq üçün praktik resept.


1) Biz nəyi test edirik

Qaydaların nümunələri:
  • Bahislərin cəmi üzrə: hər €1 bahis üçün 1 xal.
  • win/bet multiplikatoruna görə: eynək = bir çarpan × bir bahis üçün kapla.
  • Hibrid: dövriyyə üçün xal + «seriyası» üçün but (ardıcıl N spins), dəqiqə/saat kaplar.
  • Missiyalar: artan çətinliklə tapşırıqları (T1...Tn) yerinə yetirmək üçün fiks-xal.

Hipotez (nümunə): «Model «multiplikator + cap» Net ARPPU (mükafatlar/bonuslar sonra) pisləşmədən participation_net və completion rate artıracaq «.


2) Eksperimental vahid və randomizasiya

Vahid: istifadəçi (nə seans, nə cihaz).

Paylama: sabit duzlar ilə statik hash (user_id → bucket); A/B/C üçün 50/50 və ya 33/33/33 payları.

Stratifikasiya (tövsiyə olunur): payer-status (yeni ödəyən/təkrar ödəyən/ödəməyən), platforma, geo.

Sticky-assignment: istifadəçi həmişə test zamanı eyni qaydanı görür.

SRM (Sample Ratio Mismatch) yoxlaması: qrupların faktiki paylarını gündəlik olaraq gözlənilənlərlə (hi-kvadrat) müqayisə edin. SRM - trafik sızması, səhv filtrasiya, hata siqnalı.


3) Metriklər və «gözlük hunisi»

Aktivlik və iştirak

Reach: hadisəni görən pay.

Participation_gross: daxil/eligible.

Participation_net: tərəqqi başladı/eligible.

Completion: tamamlandı/başladı.

Keyfiyyət və pul

ΔDAU/WAU и stickiness (DAU/WAU).

Avg Bets per Session, Avg Bet Size.

ARPPU (net) = ARPPU − (Prize + Bonus Cost per payer).

Avg Deposit, Paying Share.

Net Uplift: (əlavə gəlir) − (mükafatlar + bonuslar + əməliyyat + sərbəst sızmalar).

Qarderoblar

1000 istifadəçiyə şikayət/texniki dəstək, KYC-dən imtina, anormal bahis nümunələri, RG bayraqları (limitlər, özünü istisna).


4) Uzunluq, mövsümilik və yenilik

Minimum 2 tam iş dövrü (məsələn, 2 həftə həftə sonu tutmaq üçün).

novelty-effect nəzərə alın: ilk 48-72 saat sıçrayış qeyd və fazaları təhlil (D0-D2, D3-D7, D8 +).

Böyük promo ilə keçməyin və ya qruplar üzrə «bərabər səs-küy» planlaşdırın.


5) Seçmə gücü və həcmi (hesablama nümunəsi)

Məqsəd: orta «istifadəçi başına xal» (və ya Net ARPPU) Δ fərqini aşkar etmək.

İki seçim t-testi üçün formula (qruplarda bərabər):
[
n_{\text{na qrupu}} =\frac {2, (z_{1-\alpha/2}+z_{1-\beta}) ^ 2 ,\sigma ^ 2} {\Delta ^ 2}
]

Məsələn: tutmaq istəyirik Δ = 5 xal, σ = 120, α = 0,05 (ikitərəfli), gücü 80% (β = 0,2).

(z_{1-α/2}=1{,}96), (z_{1-β}=0{,}84) → cəmi 2,8 → kvadrat 7,84.

(\sigma^2 = 14,400).

(n =\frac {2\times 7 {,} 84\times 14,400} {25 }\approx\frac {225,792} {25 }\approx 9,032).

💡 Nəticə: qrupa 9,100 istifadəçi ~ (rədd və antifrod ehtiyatı ilə).

6) Dispersiyanın azaldılması: testi «ucuz» edirik

CUPED: Test öncəsi kovariatlar üçün reqressiya düzəlişi (məsələn, son bir həftə üçün xal/dərəcələr).

Kovariatlar: payer-bayraq, log-transformlar dövriyyəsi, fəaliyyət, platforma, geo.

Səhvlərin klasterləşdirilməsi: istifadəçi səviyyəsində (daxili təkrar sessiyalar).


7) İnterferensiya və «boğazlar»

Xal qaydası yalnız test iştirakçılarına təsir edə bilməz:
  • Sosial müqayisə (ümumi liderbord) → «spillover».
  • Ümumi jekpotlar/birgə missiyalar → cross effekti.
Həllər:
  • Ayrı-ayrı qruplar və ya gizli xalların normallaşması.
  • Trafik/geo klasterləri üzrə klaster randomizasiyası (daha bahalı, lakin daha təmiz).
  • Per-protokol (ITT) + həssas analizlər.

8) Antifrod və Cap qaydaları

Hər hansı bir eynək dəyişikliyi optimizasiyanı stimullaşdırır: mikroskop, robot istehsalı, «eynək ferması».

Minimum qorunma:
  • Bir dəqiqə/saat/gün və bir bahis üçün cap xal.
  • Minimum bahis dəyişkənliyi («ideal» ardıcıllıqların qadağan edilməsi).
  • Deteksiya headless/təkrarlanan fingerprints, proxy.
  • Böyük mükafatların gecikmiş yoxlanılması + KYC.
  • Analitika: «xal/bahis» və «xal/dəq» paylama müqayisə, quyruqları axtarın.

9) Hadisələr və verilənlər sxemi (minimum)

Hadisələr:
  • `session_start {user_id, ts, platform}`
  • `event_view {user_id, event_id, ts}`
  • `event_join {user_id, event_id, ts}`
  • `points_awarded {user_id, event_id, rule_id, amount, source, ts}`
  • `mission_progress {user_id, mission_id, step, value, ts}`
  • `mission_complete {user_id, mission_id, ts}`
  • `bet {user_id, game_id, bet, win, ts}`
  • `deposit {user_id, amount, ts}`
Kataloqlar:
  • `rules {rule_id, name, params, caps_minute, caps_hour, caps_day, version}`
  • `assignments {user_id, test_id, group, assigned_at}`

10) SQL-analiz eskizləri

SRM-yoxlama (qruplar üzrə paylama):
sql
SELECT group, COUNT() AS users
FROM assignments
WHERE test_id =:test
GROUP BY group;
-- gözlənilən paylara qarşı hi-kvadrat
Participation/Completion qrupları üzrə:
sql
WITH eligible AS (
SELECT user_id FROM users
WHERE last_active_at >=:start - INTERVAL '14 day'
), joined AS (
SELECT DISTINCT user_id FROM event_join
WHERE event_id =:event AND ts BETWEEN:start AND:end
), started AS (
SELECT DISTINCT user_id FROM mission_progress
WHERE ts BETWEEN:start AND:end AND mission_id IN (:missions)
), completed AS (
SELECT DISTINCT user_id FROM mission_complete
WHERE ts BETWEEN:start AND:end AND mission_id IN (:missions)
)
SELECT a. group,  COUNT(DISTINCT j. user_id)::float/COUNT(DISTINCT e. user_id) AS participation_gross,  COUNT(DISTINCT s. user_id)::float/COUNT(DISTINCT e. user_id) AS participation_net,  COUNT(DISTINCT c. user_id)::float/NULLIF(COUNT(DISTINCT s. user_id),0) AS completion
FROM eligible e
JOIN assignments a USING (user_id)
LEFT JOIN joined j USING (user_id)
LEFT JOIN started s USING (user_id)
LEFT JOIN completed c USING (user_id)
WHERE a. test_id =:test
GROUP BY a. group;
Net ARPPU və mükafatların/bonusların dəyəri:
sql
WITH payors AS (
SELECT DISTINCT user_id FROM payments
WHERE ts BETWEEN:start AND:end
), rev AS (
SELECT user_id, SUM(ggr) AS ggr
FROM revenue
WHERE ts BETWEEN:start AND:end
GROUP BY user_id
), costs AS (
SELECT user_id, SUM(prize + bonus) AS cost
FROM promo_costs
WHERE ts BETWEEN:start AND:end
GROUP BY user_id
)
SELECT a. group,  AVG(COALESCE(r. ggr,0) - COALESCE(c. cost,0)) FILTER (WHERE p. user_id IS NOT NULL) AS net_arppu
FROM assignments a
LEFT JOIN payors p USING (user_id)
LEFT JOIN rev r USING (user_id)
LEFT JOIN costs c USING (user_id)
WHERE a. test_id =:test
GROUP BY a. group;
CUPED (nümunə):
sql
-- pre_value: testdən əvvəl xal/gəlir; value: test zamanı
SELECT group,    AVG(value - theta pre_value) AS cuped_mean
FROM (
SELECT a. group, x.user_id, x.value, x.pre_value,     (SELECT COVAR_SAMP(value, pre_value)/VAR_SAMP(pre_value)
FROM x) AS theta
FROM assignments a
JOIN x ON x.user_id = a. user_id
WHERE a. test_id =:test
) t
GROUP BY group;

11) Xüsusi effektlər və heterogenlik

HET effektlərini yoxlayın:
  • Yeni başlayanlar vs core, low-value vs high-value, müxtəlif platformalar/geo.
  • Bəzən balinaları dəyişdirmədən mid-core-nin yeni formulu istədiyiniz nəticədir.
  • «p-hacking» tutmamaq üçün seqmentlərin əvvəlcədən qeydiyyatını edin.

12) Tez-tez tələlər

1. Bütün qruplar üçün ümumi liderbord → interferensiya.

2. Test zamanı mükafatların strukturunun dəyişdirilməsi → müqayisə olunmazlıq.

3. Pharm gözlük mikro dərəcələri → qeyri-sabit uplift.

4. SRM və ETL → sürüşmə qiymətləndirmələrində «üzən filtrlər».

5. Mükafatlar/bonuslar çıxılmadan «çirkli» ARPPU-ya güvən.

6. Düzgün ardıcıl statistika olmadan fluktuasiyaya görə erkən stop.


13) Bayes vs tezlik və ardıcıl həllər

Framework: Bayes yanaşmasından istifadə edə bilərsiniz (metriklərin post-serial fərqi, «B A-dan yaxşıdır» ehtimalı), xüsusən də zaman monitorinqində.

Diqqətli olun: eynək qaydaları üçün banditlər təsdiqlənmiş upliftdən sonra uyğundur - əməliyyat mərhələsində, ilkin validasiyada deyil.


14) Məsuliyyətli oyun və uyğunluq

Şəffaf qaydalar və qapaqlar: oyunçu xal qazanmağı başa düşməlidir.

Aktivlik və depozitlərin limitləri, «fasilələr» və RG məsləhətləri.

Oyun tərzi üçün gizli «cərimələr» yoxdur.


15) Mini case (sintetik)

Kontekst: həftəlik tədbir, A = «€1 bahis üçün xal», B = «win/bet multiplikatoru üzrə xal, cap = 50/bahis».

Ölçüsü: 2 × 10 000 istifadəçi, payer statusuna görə təbəqələşmə. SRM - təqribən.

Nəticələr:
  • Participation_net: A 17,3% → B 22,1% (+4,8 п.п.).
  • Completion: A 38,9% → B 44,0% (+5,1 п.п.).
  • Net ARPPU: A €41,2 → B €43,5 (+ €2,3) Prize + Bonus per payer ≈ €6,4 (dəyişməyib).
  • Şikayətlər/1k: dəyişməz; frod bayraqları kaplar hesabına ↓ 0,3 p.p.
  • Nəticə: B qaydası - qalib; mükafatların «uzun quyruğu» ilə ölçmək və qapaqları saxlamaq.

16) Xal üzrə A/B buraxılış çek siyahısı

  • Vahid = istifadəçi, sticky-assignment, stratifikasiya.
  • Ayrı lider bordları/müdaxiləni aradan qaldırmaq üçün normallaşma.
  • Eynək, antibot siqnalları, KYC böyük mükafatçılar üçün aydın kaplar.
  • Hipotezlərin və metriklərin yenidən qeydiyyatı (primary/secondary/guardrails).
  • Güc və müddət planı, mövsümilik nəzərə alınır.
  • CUPED/kovariatlar bağlı, SRM-alert payline.
  • Дашборд «Reach → Participation → Progress → Completion → Value».
  • Hesabat: mükafatlardan/bonuslardan sonra pulda inkrement, post-effect quyruğu.

Xal qaydası davranış qoludur. Düzgün dizayn edilmiş A/B testi (SRM olmadan, antifrod və hiyləgərlərlə) oyunçuların etibarını və kampaniya iqtisadiyyatını qoruyaraq iştirakın, completion və Net ARPPU-nun təhlükəsiz artmasına imkan verir.

× Oyunlarda axtarış
Axtarışı başlatmaq üçün ən azı 3 simvol daxil edin.