GH GambleHub

KPI töleg tagtasy

TL; DR

Bir daştaw - üç gatlak: Huniniň saglygy (Attempt → Auth → Capture), Maliýe netijeliligi (TtW/TtR, Cost/GGR, FX) we Infrastrukturanyň ygtybarlylygy (Webhook/Latency/Settlement). Syr - dogry hasaplama bazalary, hökmany segmentasiýa (country × provider × method × BIN × ticket _ size × risk), bosagaly SLO we koridorlardan çykanda taýýar pleýbuklar.

1) Kime we haýsy meseleleri ýapýarys

CEO/GM (her gün, 3-5 minut): "Tölegleriň öwrülişigi we yzyna almagyň tizligi kadaly? Pullary kabul etmegiň bahasy gözegçilik astynda?"

Baş of Payments/Treasury (her sagat): "Üpjün ediji/ýurt/usul boýunça pese gaçmak nirede? Derrew tölegler üçin likwidlik ýeterlikmi?"

Fraud/Risk (her gün): "AR antifrody göz öňünde tutup? Abandon на 3DS и Soft declines?»

Support/Operations (onlaýn): "Yzyna almak we yzyna gaýtarmak boýunça haýsy ETA? Webhuklar nirede?"

Finance/Recon (D + 1): "Settlement wagtynda? Komissiýalar we FX meýilnama laýyk gelýärmi?"

2) Baş metrikler we takyk kesgitlemeler

2. 1 Töleg guýrugy

Attempt - başlanan tölegler.
Auth Approved - tassyklanan ygtyýarnamalar.
Captured - üstünlikli ýazyldy.

Formulalar (eger başgaça görkezilmedik bolsa, baza - amallaryň sany):
  • `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 Netijeler we yzyna gaýtarmalar

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% - başlangyç usulda yzyna gaýtarmagyň paýy

2. 3 Bahasy we 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 Integrasiýalaryň ygtybarlylygy

Webhook Delivery p95 (сек), Success %

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

Settlement Timeliness = talap edilen T + N-e gelen batçlar/döwür üçin ähli batçlar

2. 5 3DS/sürtülme (kartoçkalar üçin)

3DS Challenge Share = Challenge / 3DS_Total

Frictionless Share = Frictionless / 3DS_Total

Abandon on 3DS = 3DS_Started − 3DS_Completed

💡 Möhüm: operasiýa AR-ny (antifroddan we user abandondan soň) "çig" -den aýyryň - bular dürli maksatly iki dürli metrika.

3) Kesikler we süzgüçler (iň az toplum)

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

Grafiklerdäki/tablisalardaky hökmany kesişler:
  • country×provider, BIN×country, method×provider, device/os, ticket_size.

4) Esasy ekrany düzmek (Layout)

1. Ýokarky KPI (düýn/şu gün, p7 medianyna deňeşdirme):

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

2. Segment saýlamak we şowsuzlyklaryň sebäplerini görkezmek bilen Funnel (Attempt → Auth → Capture) (iň ýokary kodlar ISO/relslerde).

3. Heatmap AR 'country × provider' we top-göwrümi üçin aýratyn BIN heatmap.

4. 3DS paneli: Challenge/Frictionless/Abandon + bench-line deňeşdirme.

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

6. Cost & FX: Cost/GGR usullar boýunça, FX slippage/fees platformalar boýunça.

7. Integrasiýa ygtybarlylygy: Webhook delivery p95/Success%, API latency p95/p99, Duplicate rate, Report delivery SLA.

8. Waka-panel: işjeň alertler (§ 8 serediň), feýlowerleriň ýagdaýy we gazna bellikleri (galyndylar L0, prefund).

5) SLO we alertler (koridorlar)

Görkezmeler (bukjanyň/bazarlaryň aşagynda kalibrlenýär):
  • 'AR _ gross' 3DS2 kartlary: 82-92% (segment boýunça); 'AR _ net' ≥ 80%
  • `Capture_Success` ≥ 98. 5% (sagat)
  • `Webhook p95` ≤ 3 с, Success ≥ 99. 9%
  • `Payout TtW p95` instant ≤ 120 с; (T + 1) - günde 100% D + 1
  • 'Refund TtR p95' kartoçkalary ≤ T + 1 b.e.; instant ≤ 60 с
  • `Refund Error %` < 0. 3%
  • `Settlement Timeliness` ≥ 99%
  • 'Cost/GGR' - usul boýunça aýratyn maksatly koridor
Alert triggerleri:
  • 'AR _ gross ↓> 3 p.p.' k 7 günlük median (ýurt boýunça/PSP/BIN) → P1/P0
  • `Capture_Success < 98%` (час) → P1
  • 'Webhook p95> 5 c' ýa-da 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' koridordan çykmak → P2

Her alert runbook kartoçkasyny açýar.

6) Hasaplamagyň formulalary we binýatlary (jikme-jiklikler)

Ähli paýlar - aç-açan baza bilen: "denominator" -da görkeziň.
Wagt - UTC; p-kwantili: PERCENTILE_CONT.

'AR _ clean' (operasiýa) = 'Auth _ Approved/( )'

`Net_Conversion` = `Captured_Tx / Auth_Attempted_Tx`

`Refund_to_Source %` = `Refund_to_Original_Method / Total_Refunds`

'Idle Cash%' (gazna kiçi widjetinde) = '(Balance − Target_Balance )/Balance'

7) UX-patternler

Ýokardan KPI-plaşka, aşakda - funnel + heatmaps, aşakda - integrasiýa we maliýe.
Formulaly/esasly/kadadan çykmalar (mysal üçin, "antifroddan soň").
Deňeşdirme çyzygy: p7 mediana we "düýn "/" geçen duşenbe ".
Basmak boýunça Drill-down: heatmap-dan BIN → Issuer → şowsuzlyk kodlary.
RCA üçin snapshotlar: post-mortem üçin häzirki görnüşini "berkitmek" düwmesi.

8) Pleýbuklar (gurlan hereket kartoçkalary)

Auth drop → smart-routing geçiň, BIN-e 3DS-challenge göteriň, retralary çäklendiriň.
Webhook gijikdirmeler → polling, awto-refand/howply awto-tölegleri doňdurmak, idempotentligi güýçlendirmek.
Payout degradasiýa → relsiň feýloweri, treasury top-up, VIP-iň ileri tutulmagy.
Settlement gijikdirme → StressRes, "Suspense" belligi, PSP-de möwjemegi.
Refund ýalňyşlyklary/dubly → refund-freeze, deňeşdirme, ýüz gezek.

(Kartoçkada çek sanawy we eskalasiýa aragatnaşyklary bar.)

9) Maglumatlaryň modeli (iň az ýeterlik)


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

Indeksler: 'provider', 'method _ code', 'country', 'bin', 'event _ ts'.

10) SQL dilimleri (mysal)

10. 1 Huni we 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) Goşmaça ekranlar

BIN Drilldown: AR/decline-codes, 3DS-friksiýa, emitentler boýunça latency.
Provider Scorecard: SLA metrikler, hadysalar, karzlar, Cost/GGR.
Treasury Snapshot: L0/L1 galyndylar, prefund, StressRes, TtF doldurmalar.
Recon View: Settlement Timeliness, Aging tikilmedik gaplar, Fee accuracy.

12) Maglumatlaryň hili

KPI wersiýa sözlügi (formula/baza/kadadan çykmalar).
Ýeke-täk TZ = UTC, p-kwantili - diňe CONT.
Wakalaryň idempotenti we webhuklaryň atasy.
Wagt/mukdar/FX boýunça çydamlylyk syýasaty (deňeşdirmek/gizlinlik üçin).
CI-de data tests: boş bölüjileriň bazalary, wagt bellikleriniň monotonlygy, NULL paýy.

13) Giriş: çek-sanawy

  • KPI/formulalar/bazalar kesgitlenildi we sözlükde kesgitlenildi.
  • Ingestion we wakalary/registrleri kadalaşdyrmak.
  • 'payments _ flat', 'webhooks', 'settlements', 'treasury' penjireleri guruldy.
  • heatmaps, funnel, latency, payout/refund panels amala aşyryldy.
  • SLO bosagalary we alertler döredildi; pleýbuklar bilen baglanyşykly.
  • Giriş rollary: C-level (read-only summary), Ops/Fraud (drill-down).
  • Provider Scorecard esasly üpjün edijiler boýunça hepdelik QBR.
  • UAT-synag toplumy: demo-dataset, p-kwantilleri barlamak, bazalaryň, alertleriň dogrulygy.

14) Ýygy-ýygydan ýalňyşlyklar

Bazalaryň garyşmagy ('attempt' vs 'capture') → ýalan netijeler.
'ticket _ size' segmentasiýasy ýok → AR ýoýulan surat.
Ignor abandon 3DS → üpjün ediji bilen "aşa" mesele.
Webhook duplicates → iki gezek hereket etmek.
Doly däl vitrin settlement/fees → Cost/GGR bahalandyrylyp bilinmez.
SLO we pleýbuklar bolmasa, dashboard "hereketsiz vitrine" öwrülýär.

Gysgaça maglumat

Töleg KPI daşbordy diňe bir grafika däl, iş guralydyr. Ol hunini, puly we infrastrukturany birleşdirýär, anyk formulalara we segmentasiýa bil baglaýar, awtomatiki signallary berýär we derrew hereketleri hödürleýär. Netijede: ýokarda AR_net, koridorlarda TtW/TtR, gözegçilik astynda Cost/GGR, hadysalar çalt lokallaşdyrylýar we üpjün edijiler bilen gepleşik sanlara esaslanýar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.