GH GambleHub

Dashbord to’lov KPI

TL; DR

Bitta dashbord - uchta qatlam: huni salomatligi (Attempt → Auth → Capture), moliyaviy samaradorlik (TtW/TtR, Cost/GGR, FX) va infratuzilma ishonchliligi (Webhook/Latency/Settlement). Sir - to’g "ri hisob-kitob bazalari, majburiy segmentatsiya (country × provider × method × BIN × ticket _ size × risk), chegarali SLO va yo’laklardan chiqishda tayyor pleybuklar.

1) Kim uchun va qanday savollarni yopamiz

CEO/GM (har kuni, 3-5 daqiqa): "To’lovlarni konvertatsiya qilish va chiqarish tezligi normalmi? Pulni qabul qilish narxi nazorat ostidami?"

Head of Payments/Treasury (har soat): "Provayder/mamlakat/usul bo’yicha tanazzul qayerda? Tezkor toʻlovlar uchun likvidlik yetarlimi?"

Fraud/Risk (har kuni): "Antifrodni hisobga olgan holda AR? Abandon на 3DS и Soft declines?»

Support/Operations (onlayn): "Olib qo’yish va qaytarish bo’yicha ETA qanday? Vebxuklar qayerda?"

Finance/Recon (D + 1): "Settlement o’z vaqtida? Komissiyalar va FX rejaga mos keladimi?"

2) Bosh metriklar va aniq ta’riflar

2. 1 To’lovlar voronkasi

Attempt - tashabbus qilingan to’lovlar.
Auth Approved - tasdiqlangan avtorizatsiya.
Captured - muvaffaqiyatli hisobdan chiqarilgan.

Formulalar (baza - tranzaksiyalar soni, agar boshqacha ko’rsatilmagan bo’lsa):
  • `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. Xulosalar va qaytarishlar

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% - boshlang’ich usulga qaytarish ulushi

2. 3 Qiymati va 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 Integratsiyalarning ishonchliligi

Webhook Delivery p95 (сек), Success %

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

Settlement Timeliness = ariza berilgan T + N ga kelgan batchlar/davr uchun barcha batchlar

2. 5 3DS/friksiya (kartalar uchun)

3DS Challenge Share = Challenge / 3DS_Total

Frictionless Share = Frictionless / 3DS_Total

Abandon on 3DS = 3DS_Started − 3DS_Completed

💡 Muhim: operatsion ARni (antifrod va user abandondan keyin) «xom» dan ajrating - bu turli maqsadlarga mo’ljallangan ikki xil metrikdir.

3) Kesmalar va filtrlar (minimal to’plam)

Фильтры в шапке: `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`.

Grafik/jadvallardagi majburiy kesmalar:
  • country×provider, BIN×country, method×provider, device/os, ticket_size.

4) Bosh ekranni belgilash (Layout)

1. KPI yuqori plagi (kecha/bugun, p7 medianga qiyoslash):

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

2. Funnel (Attempt → Auth → Capture) segment tanlash va nosozliklar sabablarini ko’rsatish (ISO top-kodlari/relslarda).

3. Heatmap AR’country × provider’bo’yicha va top-hajm uchun alohida BIN heatmap.

4. 3DS paneli: Challenge/Frictionless/Abandon + bench liniyasiga taqqoslash.

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

6. Cost & FX: metodlar boʻyicha Cost/GGR, maydonchalar boʻyicha FX slippage/fees.

7. Integratsiya ishonchliligi: Webhook delivery p95/Success%, API latency p95/p99, Duplicate rate, Report delivery SLA.

8. Hodisa paneli: faol alertlar (§ 8 ga qarang), feylover maqomi va g’aznachilik eslatmalari (L0 qoldiqlari, prefund).

5) SLO va alertlar (yo’laklar)

Mo’ljallar (portfel/bozorlar uchun kalibrlanadi):
  • ’AR _ gross’ 3DS2 kartalari: 82-92% (segment bo’yicha);’AR _ net’≥ 80%
  • `Capture_Success` ≥ 98. 5% (soatlik)
  • `Webhook p95` ≤ 3 с, Success ≥ 99. 9%
  • `Payout TtW p95` instant ≤ 120 с; (T + 1) - kuniga 100% D + 1
  • ’Refund TtR p95’ kartalar ≤ T + 1 b.d.; instant ≤ 60 с
  • `Refund Error %` < 0. 3%
  • `Settlement Timeliness` ≥ 99%
  • «Cost/GGR» - usul bo’yicha individual maqsadli koridor
Alertlar triggerlari:
  • ’AR _ gross ↓> 3 p.p.’ dan 7 kunlik medianaga (mamlakat bo’yicha/PSP/BIN) → P1/P0
  • `Capture_Success < 98%` (час) → P1
  • ’Webhook p95> 5 c’ yoki dublikatlar> 0 → P1
  • `Payout TtW p95 > SLO` или Success%<99% → P1
  • `Refund Error% > 0. 3%` или `Double Refund > 0` → P0
  • `Settlement on-time < 99%` → P1
  • ’Cost/GGR’ yoʻlakdan → P2 usuli boʻyicha chiqish

Har bir alert runbook’a kartochkasini ochadi.

6) Formulalar va hisob-kitob bazalari (batafsil)

Barcha ulushlar - aniq baza bilan: «denominator» tultipida ko’rsating.
Vaqt - UTC; p-kvantili: PERCENTILE_CONT.

’AR _ clean’ (operatsion) =’Auth _ Approved/( ) ’

`Net_Conversion` = `Captured_Tx / Auth_Attempted_Tx`

`Refund_to_Source %` = `Refund_to_Original_Method / Total_Refunds`

’Idle Cash%’ (g’aznachilik mini-vidjetida) =’(Balance − Target_Balance )/Balance ’

7) UX-patternlar

Yuqorida KPI-plashka, pastda funnel + heatmaps, pastda integratsiya va moliya.
formula/baza/istisnolarga ega bo’lgan tultiplar (masalan, «antifroddan keyin»).
Qiyosiy chiziq: p7 mediana va «kecha «/» o’tgan dushanba ».
Drill-down: heatmapdan BIN → Issuer jadvaliga → rad etish kodlari.
RCA uchun snepshotlar: post-mortem uchun joriy koʻrinishni «mahkamlash» tugmasi.

8) Pleybuklar (o’rnatilgan harakat kartochkalari)

Auth drop → smart-routingni o’zgartirish, 3DS-challenge BIN ga ko’tarish, retrajlarni cheklash.
Webhook kechikishlar → polling yoqish, avto-refand/xavfli avto-to’lovlarni muzlatish, idempotentlikni kuchaytirish.
Payout degradatsiyasi → feylover rels, treasury top-up, ustuvorlik VIP.
Settlement kechikishi → StressRes, «Suspense» belgisi, PSPdagi eskalatsiya.
Refund xatolari/dubli → refund-freeze, solishtirish, yuz dubl.

(Kartochkada chek-varaq va eskalatsiya kontaktlari mavjud.)

9) Ma’lumotlar modeli (eng kam yetarli)


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

Indekslar:’provider’,’method _ code’,’country’,’bin’,’event _ ts’.

10) SQL-kesmalar (misol)

10. 1 Huni va 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) Qo’shimcha ekranlar

BIN Drilldown: AR/decline-codes, 3DS-friksiya, emitentlar bo’yicha latency.
Provider Scorecard: SLA-metriklar, hodisalar, kreditlar, Cost/GGR.
Treasury Snapshot: L0/L1 qoldiqlar, prefund, StressRes, TtF toʻldirishlar.
Recon View: Settlement Timeliness, Aging tikilmagan batch, Fee accuracy.

12) Ma’lumotlarning sifati va sifati

KPI lugʻati (formulalar/baza/istisnolar).
Yagona TZ = UTC, p-kvantili - faqat CONT.
Voqealarning idempotentligi va veb-xuklarning dedupi.
Vaqt/summalar/FX bo’yicha tolerans siyosati (solishtirish/latentlik uchun).
CI’da Data tests: boʻsh boʻlmagan boʻlinma bazalari, vaqt belgilarining monotonligi, NULL ulushi.

13) Joriy etish: chek-varaq

  • KPI/formulalar/bazalar aniqlangan va lugʻatda qayd etilgan.
  • ingestion va hodisalar/registrlarni normallashtirish sozlandi.
  • ’payments _ flat’,’webhooks’,’settlements’,’treasury’oynalari qurilgan.
  • Amalga oshirilgan heatmaps, funnel, latency, payout/refund panels.
  • SLO ostonalari va alertlar o’rnatilgan; pleybuklar bilan bog’liq.
  • Kirish rollari: C-level (read-only summary), Ops/Fraud (drill-down).
  • Provider Scorecard asosidagi provayderlar bo’yicha haftalik QBR.
  • UAT testlar to’plami: demo-dataset, p-kvantillarni tekshirish, bazalar, alertlarning to’g’riligi.

14) Tez-tez xatolar

Bazalarni aralashtirish (’attempt’vs’capture’) → noto’g’ri xulosalar.
’ticket _ size’ segmentatsiyasi yoʻq → AR rasmining buzilganligi.
Ignor abandon 3DS → provayder bilan «ortiqcha» muammo.
Webhook duplicates → ikki tomonlama harakatlar.
To’liq bo’lmagan vitrin settlement/fees → Cost/GGR ni baholay olmaydi.
SLO va pleybuksiz dashbord «harakatsiz vitrinaga» aylanadi.

Xulosa

To’lov KPI dashbordi shunchaki grafiklar emas, balki operatsion vositadir. U huni, pul va infratuzilmani birlashtiradi, aniq formulalar va segmentatsiyaga tayanadi, avtomatik signallar beradi va darhol harakatlarni taklif qiladi. Natijada: yuqorida AR_net, koridorlarda TtW/TtR, nazorat ostida Cost/GGR, hodisalar tezda mahalliylashtirilib, provayderlar bilan muloqot raqamlarga asoslanadi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.