GH GambleHub

KPI ödəniş bordu

TL; DR

Bir daşbord - üç qat: Huni Sağlamlığı (Attempt → Auth → Capture), Maliyyə Səmərəliliyi (TtW/TtR, Cost/GGR, FX) və Infrastruktur Etibarlılığı (Webhook/Latency/Settlement). Sirr - düzgün hesablama bazaları, məcburi seqmentasiya (country × provider × method × BIN × ticket _ size × risk), eşik SLOları və dəhlizlərdən çıxarkən hazır pleybuklar.

1) Kim üçün və hansı sualları bağlayırıq

CEO/GM (gündəlik, 3-5 dəq): "Ödənişlərin çevirilməsi və geri çəkilmə sürəti normaldır? Pulun qəbulunun qiyməti nəzarət altındadır?"

Head of Payments/Treasury (hər saat): "Provayder/ölkə/metod üzrə deqradasiya haradadır? Ani ödənişlər üçün kifayət qədər likvidlik varmı?"

Fraud/Risk (gündəlik): "Antifrod nəzərə alınmaqla AR? Abandon на 3DS и Soft declines?»

Support/Operations (onlayn): "Çıxarış və geri qaytarma ETA nədir? Vebhuk harada?"

Finance/Recon (D + 1): "Settlement vaxtında? Komissiyalar və FX plana uyğundur?"

2) Əsas metriklər və dəqiq təriflər

2. 1 Ödəniş hunisi

Attempt - Təşəbbüs ödənişləri.
Auth Approved - təsdiq edilmiş icazələr.
Captured - uğurla silindi.

Düsturlar (baza - başqa göstərilmədikdə əməliyyatların sayı):
  • `AR_gross = Auth_Approved / Auth_Attempted`
  • `AR_net = Captured_Tx / Auth_Attempted`
  • `Capture_Success = Captured_Tx / Capture_Attempted_Tx`
  • `Capture_Latency_p95 = p95(capture_ts - auth_ts)`

2. 2 Nəticələr və geri qaytarmalar

Payout Success % = Success_Payouts / Attempted_Payouts

TtW p95 = p95(payout_credited_at - payout_initiated_at)

Refund Rate = Refunded_Tx / Captured_Tx

TtR p95 = p95(refund_credit_at - refund_initiated_at)

Refund Error % = Refund_Failed / Refund_Attempted

Refund_to_Source% - ilkin üsula qaytarma payı

2. 3 Qiymət və FX

Cost/Tx = Fee_fixed + AmountFee_pct + FX_Spread

Cost/GGR = ΣCost / GGR

FX Slippage (bps) = (exec_px − mid_px)/mid_px × 10 000

2. 4 inteqrasiya etibarlılığı

Webhook Delivery p95 (сек), Success %

API Latency p95/p99 (auth/capture/refund/payout)

Settlement Timeliness = T + N elan edilmiş batches/bütün batches dövr üçün gəldi

2. 5 3DS/sürtünmə (kartlar üçün)

3DS Challenge Share = Challenge / 3DS_Total

Frictionless Share = Frictionless / 3DS_Total

Abandon on 3DS = 3DS_Started − 3DS_Completed

💡 Vacibdir: əməliyyat AR-nı (antifrod və user abandondan sonra) "xam 'dən ayırın - bunlar fərqli məqsədlər üçün iki fərqli metrikdir.

3) Kəsiklər və filtrlər (minimum dəst)

Фильтры в шапке: `date range (UTC)`, `country`, `provider`, `method_group`, `BIN`, `device/os`, `ticket_size bucket (≤€50 / €50–200 / >€200)`, `risk_segment`, `kyc_tier`, `new_vs_returning`, `affiliate`.

Qrafik/cədvəllərdə məcburi kəsiklər:
  • country×provider, BIN×country, method×provider, device/os, ticket_size.

4) Əsas ekran nişanı (Layout)

1. Üst KPI dəsti (dünən/bu gün üçün, p7 mediana müqayisə):

`AR_net`, `Capture_Success`, `Payout Success%`, `TtW p95`, `TtR p95`, `Cost/GGR`, `Webhook p95`, `Settlement Timeliness`.

2. Funnel (Attempt → Auth → Capture) seqment seçimi və nasazlıq səbəbləri (üst kodları ISO/relslərdə).

3. Heatmap AR 'country × provider' və üst həcmi üçün ayrı BIN heatmap.

4. 3DS panel: Challenge/Frictionless/Abandon + bench line müqayisə.

5. Payout & Refund Health: Success%, p95 (TtW/TtR), ошибки, Refund_to_Source %.

6. Cost & FX: Metodlara görə Cost/GGR, saytlara görə FX slippage/fees.

7. İnteqrasiya etibarlılığı: Webhook delivery p95/Success%, API latency p95/p99, Duplicate rate, Report delivery SLA.

8. Hadisə paneli: aktiv alertlər (bax § 8), feylover statusu və xəzinə qeydləri (qalıqlar L0, prefund).

5) SLO və alertlər (dəhlizlər)

Göstərişlər (portfel/bazarlar üçün kalibrlənir):
  • 'AR _ gross' kartları 3DS2: 82-92% (seqment üzrə); 'AR _ net' ≥ 80%
  • `Capture_Success` ≥ 98. 5% (saat)
  • `Webhook p95` ≤ 3 с, Success ≥ 99. 9%
  • `Payout TtW p95` instant ≤ 120 с; (T + 1) - gündə 100% D + 1
  • 'Refund TtR p95' kart ≤ T + 1 b.d.; instant ≤ 60 с
  • `Refund Error %` < 0. 3%
  • `Settlement Timeliness` ≥ 99%
  • 'Cost/GGR' - metodla fərdi hədəf dəhlizi
Alert tetikləyiciləri:
  • 'AR _ gross ↓> 3 p.p.' 7 günlük mediana (ölkə üzrə/PSP/BIN) → P1/P0
  • `Capture_Success < 98%` (час) → P1
  • 'Webhook p95> 5 c' və ya təkrarlanan> 0 → P1
  • `Payout TtW p95 > SLO` или Success%<99% → P1
  • `Refund Error% > 0. 3%` или `Double Refund > 0` → P0
  • `Settlement on-time < 99%` → P1
  • 'Cost/GGR' → P2 metodu ilə dəhlizdən çıxmaq

Hər bir alert runbook kartını açır (hərəkət/eskalasiya/feylover).

6) Formullar və hesablama bazaları (detalları)

Bütün paylar - açıq baza ilə: 'denominator' yazın.
Vaxt - UTC; p-kvantili: PERCENTILE_CONT.

'AR _ clean' (əməliyyat) = 'Auth _ Approved/( )'

`Net_Conversion` = `Captured_Tx / Auth_Attempted_Tx`

`Refund_to_Source %` = `Refund_to_Original_Method / Total_Refunds`

'Idle Cash%' (xəzinə mini-widgetında) = '(Balance − Target_Balance )/Balance'

7) UX nümunələri

Yuxarıda KPI Plush, aşağıda - funnel + heatmaps, aşağıda - inteqrasiya və maliyyə.
Formulu/bazası/istisnaları olan tuliplər (məsələn, «antifroddan sonra»).
Müqayisəli xətt: p7 median və «dünən «/» ötən bazar ertəsi ».
Basın Drill-down: BIN cədvəlinə heatmap → Issuer → uğursuzluq kodları.
RCA üçün Snapshots: post-mortem üçün cari görünüşü «bərk» düyməsi.

8) Playbook (daxili hərəkət kartları)

Auth drop → smart-routing keçid, BIN 3DS-challenge qaldırmaq, retras məhdudlaşdırmaq.
Webhook gecikmələr → polling daxil, avto-refand dondurmaq/təhlükəli avto-ödənişlər, idempotentlik gücləndirmək.
Payout deqradasiya → rels feilover, treasury top-up, VIP prioritetləşdirilməsi.
Settlement gecikmə → StressRes, «Suspense» işarəsi, PSP-də eskalasiya.
Refund səhvlər/dubl → refund-freeze, müqayisə, üzlü dubl.

(Kartda yoxlama siyahısı və eskalasiya kontaktları var.)

9) Məlumat modeli (minimum kifayət qədər)


events/payments_flat:
payment_id, user_id, country, provider, method_code, action(deposit/refund/payout),
attempt_ts, auth_status, auth_ts, three_ds(flow, challenge_flag, started_ts, completed_ts),
capture_status, capture_amount, capture_ts, partial_flag,
refund_status, refund_amount, refund_initiated_ts, refund_credit_ts,
payout_status, payout_amount, payout_initiated_ts, payout_credited_ts,
fees_fixed, fees_pct, fx_spread, currency, amount,
risk_segment, kyc_tier, bin, asn, device_os, ticket_bucket

events/webhooks:
provider, event_kind, event_ts, delivered_ts, retries, duplicate_flag, idempotency_key

settlements/reports:
provider, batch_id, settlement_date, amount_settled, currency, fee_amount, status

treasury/pockets (mini-widget):
pocket_id, counterparty, currency, balance, target_balance, low_watermark, updated_at

Indekslər: 'provider', 'method _ code', 'country', 'bin', 'event _ ts'.

10) SQL dilimləri (nümunə)

10. 1 Huni və AR

sql
WITH base AS (
SELECT
DATE_TRUNC('hour', attempt_ts) AS h,
country, provider, method_code,
COUNT() FILTER (WHERE auth_status='ATTEMPTED') AS auth_attempted,
COUNT() FILTER (WHERE auth_status='APPROVED') AS auth_approved,
COUNT() FILTER (WHERE capture_status='CAPTURED') AS captured_tx
FROM payments_flat
WHERE action='deposit'
GROUP BY 1,2,3,4
)
SELECT h, country, provider, method_code,
auth_approved::decimal / NULLIF(auth_attempted,0) AS ar_gross,
captured_tx::decimal / NULLIF(auth_attempted,0)  AS ar_net
FROM base;

10. 2 Webhook SLA

sql
SELECT
DATE_TRUNC('hour', event_ts) AS h, provider,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (delivered_ts - event_ts))) AS wb_p95_sec,
AVG(CASE WHEN retries=0 AND NOT duplicate_flag THEN 1 ELSE 0 END) AS wb_success
FROM webhooks
GROUP BY 1,2;

10. 3 Refund & Payout Health

sql
SELECT
DATE_TRUNC('day', COALESCE(refund_initiated_ts, payout_initiated_ts)) d,
method_code, provider,
COUNT() FILTER (WHERE refund_status='ATTEMPTED') AS refund_attempted,
COUNT() FILTER (WHERE refund_status='SUCCESS')  AS refund_success,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (refund_credit_ts - refund_initiated_ts))) AS ttr_p95_sec,
COUNT() FILTER (WHERE payout_status='ATTEMPTED') AS payout_attempted,
COUNT() FILTER (WHERE payout_status='SUCCESS')  AS payout_success,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (payout_credited_ts - payout_initiated_ts))) AS ttw_p95_sec
FROM payments_flat
GROUP BY 1,2,3;

10. 4 Cost/GGR

sql
SELECT
DATE_TRUNC('day', capture_ts) d,
method_code, provider,
SUM(fees_fixed + amountfees_pct + fx_spread) AS total_cost,
SUM(capture_amount) AS total_captured,
(SUM(fees_fixed + amountfees_pct + fx_spread) / NULLIF(SUM(total_captured),0)) AS cost_to_captured
FROM payments_flat
WHERE capture_status='CAPTURED'
GROUP BY 1,2,3;

11) Əlavə ekranlar

BIN Drilldown: AR/decline-codes, 3DS-sürtünmə, emitentlər üçün latency.
Provider Scorecard: SLA metriklər, hadisələr, kreditlər, Cost/GGR.
Treasury Snapshot: L0/L1 qalıqları, prefund, StressRes, TtF doldurulması.
Recon View: Settlement Timeliness, Aging tikilməmiş batches, Fee accuracy.

12) Məlumatların keyfiyyəti

KPI lüğəti (formula/baza/istisnalar).
Vahid TZ = UTC, p-kvantili - yalnız CONT.
Hadisələrin idempotentliyi və veb-hook dedupu.
Zaman/Məbləğ/FX tolerans siyasəti (yoxlama/gizlilik üçün).
CI-də data tests: boş bölünmə bazaları, vaxt işarələrinin monotonluğu, NULL payı.

13) Giriş: çek siyahısı

  • KPI/formullar/bazalar müəyyən və lüğətdə qeyd.
  • ingestion və hadisələrin/reyestrlərin normallaşdırılması.
  • 'payments _ flat', 'webhooks', 'settlements', 'treasury' vitrinləri inşa edilmişdir.
  • həyata heatmaps, funnel, latency, payout/refund panels.
  • SLO və alertlərin astanaları açılmışdır; playbook ilə bağlıdır.
  • Giriş rolları: C-level (read-only summary), Ops/Fraud (drill-down).
  • Provider Scorecard əsasında provayderlər üçün həftəlik QBR.
  • UAT test dəsti: demo-dataset, p-kvantil yoxlaması, bazaların düzgünlüyü, alertlər.

14) Tez-tez səhvlər

Bazaların qarışması ('attempt' vs 'capture') → yanlış nəticələr.
No seqmentasiya 'ticket _ size' → təhrif rəsm AR.
Ignor abandon haqqında 3DS → «şişirdilmiş» provayder ilə problem.
Nəzarət yoxdur webhook duplicates → ikili fəaliyyət.
Natamam vitrin settlement/fees → Cost/GGR qiymətləndirmək mümkün deyil.
SLO və playbook olmadan dashboard «heç bir hərəkət vitrin» çevrilir.

Xülasə

KPI ödəniş bordu sadəcə qrafiklər deyil, əməliyyat alətidir. Huni, pul və infrastrukturu birləşdirir, dəqiq düsturlara və seqmentlərə əsaslanır, avtomatik siqnallar verir və dərhal fəaliyyət təklif edir. Nəticədə: yuxarıda AR_net, dəhlizlərdə TtW/TtR, Cost/GGR nəzarət altında, hadisələr tez lokallaşdırılır və provayderlərlə dialoq rəqəmlərə əsaslanır.

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!

Telegram
@Gamble_GC
İ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.