GH GambleHub

Sınaq bayraqları və A/B testləri

1) Niyə lazımdır

Eksperiment - «produ qırmaq» riski olmadan dönüşüm və etibarlılığı yaxşılaşdırmaq üçün idarə olunan bir yoldur. iGaming-də bu təsir edir: qeydiyyat, depozit/çıxarış ,/settl, KYC/AML huniləri, lobbi/UX, bonuslar və antifrod. Ficheflags sürətli, geri çevrilə bilən dəyişikliklər verir; A/B testləri - miqyasdan əvvəl effektin sübutudur.


2) Platformanın prinsipləri

1. Safety-by-design: TTL, geri çəkilmə və əhatə limitləri olan bayraqlar; qırmızı SLO-da daxil olmağın qadağan edilməsi.
2. Compliance-aware: həssas bayraqlar üçün SoD/4-eyes (ödənişlər, RG, PII); məlumat geo-yaşayış.
3. Single Source of Truth: bütün bayraqlar/təcrübələr - data kimi (Git/anbar siyasətçi).

4. Deterministic assignment: stabil baketasiya (hash (userdeviceaccount)).
5. Observability: ekspozisiyalar/dönüşümlər avtomatik olaraq SRM/guardrails yoxlanılır.
6. Cost-aware: kardinallıq limitləri və telemetriya təcrübələri dəyəri.

3) Bayraqların taksonomiyası

Release bayraqları: Sürətlərin yuvarlanması (canary/rollout/kill-switch).
Eksperiment bayraqları: A/B/n, multi-armed bandit, sıralama üçün interleaving.
Ops bayraqları: fich deqradasiya (müvəqqəti), provayder keçid (PSP/KYC).
Config bayraqları: buraxılışsız parametrlər (limitlər, mətnlər, əmsallar).
Təhlükəsizlik bayraqları: təcili açarlar (export PII off, bonus caps).

Hər bayraqda var: 'owner', 'risk _ class', 'scope (tenant/region)', 'rollout _ strategy', 'ttl', 'slo _ gates', 'audit'.


4) Platforma arxitekturası

Flag Service (CDN-cache): 10-20 ms ≤ həll edir; GitOps/pe-konsayler abunə.
Assignment Engine: sabit hash + stratifikasiya (GEO/brand/device) → backets.
Experiment Service: test kataloqu, MDE/güc hesablanması, SRM/guardrails, statistika.
Exposure Logger: İdempotent log «bayraq altında düşmək/variant» + hadisə açarı.
Metrics API: SLI/KPI/KRI aqreqatları və təcrübələri (CUPED/düzəlişlər).
Policy Engine: SoD/4-eyes, freeze-pəncərələr, geo-məhdudiyyətlər, SLO-geytalar.
Dashboards & Bot: hesabatlar, alert guardrail, chatbot qısa komandalar.


5) Məlumat modeli (sadələşdirilmiş)

Flag: `id`, `type`, `variants`, `allocation{A:0. 5,B:0. 5}`, `strata{geo,tenant,device}`, `constraints`, `ttl`, `kill_switch`, `slo_gates`, `risk_class`, `audit`.
Experiment: `id`, `hypothesis`, `metrics{primary,secondary,guardrails}`, `audience`, `power`, `mde`, `duration_rule`, `sequential?`, `cuped?`, `privacy_scope`.


6) Proses «ideyadan çıxmağa»

1. Fərziyyə: metrika-hədəf, risk/komplayens-qiymətləndirmə, MDE (minimal nəzərə çarpan effekt).
2. Dizayn: auditoriya və stratifikasiya seçimi (GEO/tenant/device), güc və müddət hesablanması.
3. Randomizasiya və başlanğıc: Policy-Engine (SLO yaşıl, SoD keçdi) vasitəsilə qoşulma.
4. Monitorinq: SRM-yoxlama (randomizasiya təhrif), guardrails (səhvlər/gizli/gəlir).
5. Analitika: tezlik (t-test, U-test) və ya Bayesian; Dispersiyanı azaltmaq üçün CUPED.
6. Həll: promote/rollback/iterate; bilik kataloquna yazılır.
7. Arxivləşdirmə: TTL bayrağı söndürmə, konfiqurasiya/kod buraxma, telemetriya təmizləmə.


7) Təyinat və baketasiya

Determinizm: 'bucket = hash (secret_salt + user_id) mod N'.
Stratifikasiya: ayrı-ayrılıqda 'geo, tenant, device, new_vs_returning' → qatlarda homojenlik.
Bir dövr üçün vahid duz: toqquşma/sızma qarşısını almaq üçün nəzarət olunur.
Ekspozisiyalar: İlk hədəf metrikasına qədər (seçici loqotipdən qaçmaq üçün).


8) Metrika və guardrails

Primary: qeydiyyat/depozit dönüşüm, ARPPU, D1/D7 saxlama, KYC sürəti, CTR lobbi.
Secondary: LCP/JS səhvləri, p95 «mərc → settl», auth-success PSP.
Guardrails: error_rate, p99 gizli, SLO-burn-rate, şikayətlər/biletlər, RG-eşik (məsuliyyətli oyun).
Uzunmüddətli: churn, LTV-proxy, chargebacks, RG-bayraqlar.


9) Statistika və qərarların qəbulu

MDE & güc: əvvəlcədən təyin (məsələn, MDE = + 1. 0 p.p., power = 80%, α = 5%).
SRM (Sample Ratio Mismatch): χ ² - N dəqiqədə bir dəfə; SRM - fasilə test və araşdırma.
CUPED: Kovariat - testdən əvvəlki davranış/əsas dönüşüm (dispersiyanı azaldır).
Çoxluq düzəlişləri: Bonferroni/Holm və ya FDR nəzarət.
Sequential: group sequential/always-valid p-values (SPRT, mSPRT) - təhlükəsiz erkən dayanacaqlar.
Bayesian: post-serial inkişaf ehtimalı və expected loss; asimmetriya qiymət səhvləri ilə qərar qəbul etmək üçün yaxşı.
Interference/peeking: sequential prosedurları xaricində «baxmaq və həll etmək» qadağası; bütün baxışların qeydləri.
Qeyri-parametrik: Ağır quyruqlar üçün Mann-Whitney; stabillik üçün butstrep.


10) Gizlilik və uyğunluq

Etiketlərdə və ekspozisiyalarda PII olmadan: tokenizasiya, geo-scope saxlama.
SoD/4-eyes: ödənişlərə/limitlərə/PII/məsuliyyətli oyuna təsir edən təcrübələr.
RG/Compliance ilə Holdout: trafikin bir hissəsi həmişə nəzarət altındadır (tənzimləyici/etik təsirləri görmək üçün).
Data minimizasiya: yalnız lazımi aqreqatları və açarları saxlayın.
WORM audit: kim başladı/dəyişdi/dayandırdı, parametrləri, versiyası.


11) İnteqrasiya (əməliyyat)

CI/CD & GitOps: məlumat kimi bayraqlar; PR-review, sxemlərin validasiyası.
Alerting: guardrail → bayraq avtomatik fasilə, IC/sahibi bildiriş.
Hadisə-bot: '/flag on/off ', '/exp pause/resume', '/exp report 'komandaları.
Release-gates: açıq onlayn olmadan həssas sahələrdə aktiv təcrübələr olduqda buraxılışları qadağan edir.
Metrics API: hesabatlar, SLO-geytlar, exemplars (deqradasiya üçün trace_id).
Status-səhifə: təcrübələrin təfərrüatlarını dərc etmir; yalnız mövcudluğu təsir edərsə.


12) Konfiqurasiya (nümunələr)

12. 1 Kanarya sxemi üzrə yuvarlanma bayrağı

yaml apiVersion: flag.platform/v1 kind: FeatureFlag metadata:
id: "lobby.newLayout"
owner: "Games UX"
risk_class: "medium"
spec:
type: release scope: { tenants: ["brandA"], regions: ["EU"] }
allocation:
steps:
- { coverage: "5%", duration: "30m" }
- { coverage: "25%", duration: "1h" }
- { coverage: "100%" }
slo_gates: ["slo-green:auth_success","slo-green:bet_settle_p99"]
ttl: "30d"
kill_switch: true

12. 2 Guardrails və CUPED ilə A/B təcrübəsi

yaml apiVersion: exp.platform/v1 kind: Experiment metadata:
id: "payments.depositCTA.v3"
hypothesis: "Новая кнопка повышает депозит-конверсию на +1 п.п."
owner: "Payments Growth"
spec:
audience:
strata: ["geo","tenant","device"]
filters: { geo: ["TR","EU"] }
split: { A: 0.5, B: 0.5 }
metrics:
primary: ["deposit_conversion"]
secondary: ["signup_to_kyc","auth_success_rate"]
guardrails: ["api_error_rate<1.5%","latency_p99<2s","slo_burnrate<1x"]
stats:
alpha: 0.05 power: 0.8 mde: "1pp"
cuped: true sequential: true operations:
srm_check: "5m"
pause_on_guardrail_breach: true ttl: "21d"

13) Daşbordlar və hesabatlar

Exec: əsas metrik lift, uğurlu təcrübələrin faizi, iqtisadi effekt.
Ops/SRE: guardrail-alert, SRM, SLO deqradasiyası, lag/növbələrə təsiri.
Domain: Hunilər (qeydiyyat → depozit → bahis), GEO/PSP/cihaz seqmentləri.
Catalog: tamamlanmış təcrübələr üzrə bilik bazası (nə çalışdı/yox, RG/komplayens effektləri).


14) KPI/KRI funksiyaları

Time-to-Test: fikir → start (gün).
Test Velocity: təcrübə/komanda/domen üçün ay.
Success Rate: müsbət, statistik əhəmiyyətli təsiri olan testlərin payı.
Guardrail Breach Rate: SLO/səhvlər üçün avtopauz tezliyi.
SRM Incidence: randomizasiya pozulmuş testlərin payı.
Documentation Lag: Tamamlamadan kataloqa yazmağa qədər olan vaxt.
Cost per Test: $ telemetriya/hesablamalar/müşayiət.
Long-term Impact: LTV/churn/chargebacks-in qalib variantların kohortlarında dəyişdirilməsi.


15) Yol xəritəsi (6-10 həftə)

Ned. 1–2:
  • Bayraqlar/təcrübələr anbarı, sxemlər (JSON Schema), cache ilə əsas Flag Service.
  • Policy-Engine (SoD/4-eyes, SLO-geytlar), GitOps ilə inteqrasiya.
Ned. 3–4:
  • Assignment Engine (hash + strats), Exposure Logger, SRM-check, guardrails-alert.
  • Bayraqların ilk dəsti: release + ops (kill-switch), 1-2 təhlükəsiz A/B
Ned. 5–6:
  • Statistik modul: CUPED, tezlik və Bayesian hesabatları, sequential-control.
  • Dashboard (Exec/Ops/Domain), hadisə-bot komandaları '/flag ', '/exp'.
Ned. 7–8:
  • guardrails avtopauza, Release-gates ilə inteqrasiya, bilik kataloqu.
  • Proseslərin sənədləşdirilməsi, komandaların hazırlanması (Growth/Payments/Games).
Ned. 9–10:
  • Multi-region və geo-rezidensiya, FinOps-kardinallıq limitləri, xaos-təlimlər (SRM-in pozulması).
  • Təcrübə sahiblərinin sertifikatlaşdırılması, WORM auditi.

16) Antipattern

Kanaryalar və SLO geytləri olmadan «hamı bir anda» bayraqları yandırın.
Açıq məqsədlər olmadan release bayraqları və eksperimental bir mahiyyət qarışdırın.
Duz/determinizm → SRM/manipulyasiyası olmadan «müştəridə» randomizasiya.
Sequential nəzarət olmadan Peeking; Faktdan sonra qalib metrika seçin.
guardrails və owner-növbətçi yoxluğu → hadisələrin artması.
PII-ni ekspozisiyalarda/etiketlərdə saxlamaq; geo-yaşayış ignor.
TTL → «asılı» filialları və davranış ayrılması ilə bayraqları söndürməyin.


17) Best Practices (qısa)

Kiçik, aydın fərziyyələr; test üçün bir Primary-metrik.
5-10% trafik və ciddi guardrails ilə başlayın.
CUPED demək olar ki, həmişə; Bayesian - həll sürəti vacib olduqda və səhvlərin dəyəri asimmetrikdir.
Həmişə SRM və invariant metrikləri yoxlayın.
Post-analiz yazın və bilik kataloquna əlavə edin.
Məsuliyyətli oyuna (RG) hörmət edin: qısamüddətli gəlir göstəriciləri ilə zərərli davranışı stimullaşdırmayın.


Yekun

Bayraqlar və A/B testləri dəyişikliyin istehsal dövrəsidir: bayraqlar məlumat, təhlükəsiz randomizasiya və ciddi statistika, SLO/complayens-guardrails, müşahidə və audit kimi. Bu yanaşma biznes və tənzimləyicilər üçün sübut edilə bilən təsiri ilə riskləri artırmadan dönüşüm və keyfiyyəti artıraraq tez bir zamanda prod öyrənməyə imkan verir.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.