Toʻlov konturining KPI: auth, capture, refund
TL; DR
To’lov konturi huni sifatida o’lchanadi:’Attempt → Auth → Capture → Settle/Refund’. Asosiy metriklar - nafaqat Approval Rate, balki sof AR (antifrod va 3DS dan keyin), capture muvaffaqiyati, hisobdan chiqarish/qabul qilish vaqti, qiymati/FX, idempotentlik xatolari va qaytarish sifati (TtR va rate). Xavf profilini buzmasdan AR ↑, TtW ↓, Cost/GGR ↓, Disputes ↓ ni ushlab turuvchi gʻolib chiqadi.
1) Bosqichlar va voqealar lug’ati
Attempt - to’lashga urinish (tashabbus).
Auth - avtorizatsiya (bank/hamyon/relslar hisobdan chiqarish imkoniyatini tasdiqladi).
Capture - haqiqiy hisobdan chiqarish (to’liq/qisman).
Settle - kliring va hisob-kitoblar.
Refund - qaytarish (to’liq/qisman),’TtR = time to refund credit’.
Void - capture (agar qoʻllab-quvvatlansa) gacha bekor qilish.
3DS/Step-up - avtorizatsiya friksiyasi.
Soft Decline/Hard Decline - tiklanadigan/tiklanmaydigan nosozliklar.
2) KPI ierarxiyasi (maqsadlar daraxti)
Yuqori daraja
Gross Approval Rate (AR_gross) = Auth/Attempt
Net Approval Rate (AR_net) = Captured/Attempt
Cost/GGR = (Fees + FX + Ops)/GGR
TTW/TtC: Time-to-Wallet (xulosalar), TtC (capture) p95
Refund Health: Refund Rate, TtR p95, Refund Error Rate
O’rtacha daraja
3DS Challenge Share, Frictionless Share, Abandon on 3DS
Soft Decline Recovery Rate (retrai/smart-routing)
Partial Capture Share, Capture Latency
Refund to Source %, Duplicate/Idempotency Incidents
Pastki daraja (diagnostika)
Kodlar boʻyicha xatolar (ISO/rels), p95 latentlik API, SLA vebxuklari, ulushi’Do Not Honor’,’Insufficient Funds’,’Suspected Fraud’,’System Error’.
3) Formulalar (aniq ta’riflar)
3. 1 Avtorizatsiya
`AR_gross = Auth_Approved / Auth_Attempted`
`AR_clean = Auth_Approved / (Auth_Attempted - Fraud_Preblocked - User_Abandon_3DS)`
`3DS_Challenge_Share = 3DS_Challenge / 3DS_Total`
`3DS_Frictionless_Share = 3DS_Frictionless / 3DS_Total`
`Abandon_on_3DS = 3DS_Started - 3DS_Completed`
Kesmalar:’BIN × country’,’provider × method’,’device/os’,’ticket _ size’(masalan, ≤ €50, €50-200,> €200).
3. 2 Hisobdan chiqarish (capture)
`Capture_Success = Captured_Tx / Capture_Attempted_Tx`
`Net_Conversion = Captured_Tx / Auth_Attempted_Tx` (= AR_net)
`Partial_Capture_Share = Partial_Captures / Captured_Tx`
`Capture_Latency_p95 = p95(capture_timestamp - auth_timestamp)`
`Void_Rate = Voids / Auth_Approved`
3. 3 Qiymati va FX
`Cost_per_Tx = Fee_fixed + AmountFee_pct + FX_Spread`
`Cost/GGR = ΣCost / GGR`
`Net_Revenue = GGR - ΣCost - Fraud_Loss - Disputes_Cost`
3. 4 Qaytarmalar (refund)
`Refund_Rate = Refunded_Tx / Captured_Tx`
`Refund_Amount_Ratio = Refunded_Amount / Captured_Amount`
`TtR_p95 = p95(refund_credit_at - refund_initiated_at)`
`Refund_Error_Rate = Refund_Failed / Refund_Attempted`
`Refund_to_Source_% = Refund_to_Original_Method / Total_Refunds`
’Double _ Refund _ Incidents’ - idempotent kolliziyalarini hisoblagich (= 0 bo’lishi kerak)
4) Maqsadlar/mo’ljallar (aniq portfelga moslashtiriladi)
AR_gross: 3DS2 kartalari - 82-92% (BIN/mamlakat bo’yicha), A2A - 90% + (tashabbus), vaucherlar - 95% + (redeem).
Capture_Success: 98. 5% + (jonli vebxuk va retrajlarda).
TtC p95: ≤ 5 min (avto-capture kartalari), ≤ 90 sek (instant A2A/RTP).
Refund Error: < 0. 3%; TtR p95: ≤ T + 1 bank. kun (xaritalar), ≤ 60 sek (instant rails).
Refund_to_Source%: ≥ 95% (bu yerda relslar saqlanadi).
Idempotency Incidents: = 0; Webhook SLA: ≥ 99. 9%, p95 < 3 c.
(«Bozor benchmarklari» emas, balki ichki SLO uchun amaliy maqsadli yo’laklar.)
5) Segmentatsiya va atributsiya
KPIni’country’,’method _ group’,’provider’,’BIN’,’device/os’,’ticket _ size’,’risk _ segment’,’kyc _ tier’,’affiliate’,’new _ vs _ returning’kesimida koʻrib chiqing.
Birinchi to’lov kogortlari bo’yicha Cohort AR: AR (D0/D7/D30).
Route AR:’PSP _ A → PSP _ B failover’yo’nalishlari bo’yicha AR.
Risk-aware AR: AR tavakkalchilik segmentlari bo’yicha (step-up dan keyin).
BIN-heatmap: zaif emitentlar → alohida retraj qoidalari/3DS.
6) Ma’lumotlar modeli (BI uchun yassi qatlam)
Eng kam «event-flat»:
payment_id, user_id, country, provider, method_code, action(deposit/refund),
attempt_ts, auth_status, auth_code, auth_ts,
three_ds(flow, started_ts, completed_ts, challenge_flag),
capture_status, capture_amount, capture_ts, partial_flag,
refund_status, refund_amount, refund_initiated_ts, refund_credit_ts,
fees_fixed, fees_pct, fx_spread, currency, amount,
risk_segment, kyc_tier, bin, asn, device_os, ticket_bucket
Kalit - idempotent’payment _ key’ga va’idempotency _ key’ga refund.
7) SQL-kesmalar (misol)
7. 1 Kundalik AR va Capture
sql
WITH base AS (
SELECT
DATE_TRUNC('day', attempt_ts) d,
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 d, 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;
7. 2 Refund salomatlik
sql
SELECT
DATE_TRUNC('day', refund_initiated_ts) d,
country, provider, method_code,
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
FROM payments_flat
WHERE action='refund'
GROUP BY 1,2,3,4;
7. 3 3DS friksiya
sql
SELECT country, provider,
COUNT() FILTER (WHERE three_ds.flow IS NOT NULL) AS three_ds_total,
COUNT() FILTER (WHERE three_ds.challenge_flag) AS three_ds_challenge,
COUNT() FILTER (WHERE three_ds.flow='FRICTIONLESS') AS three_ds_frictionless
FROM payments_flat
WHERE action='deposit'
GROUP BY 1,2;
8) Dashbord (majburiy vidjetlar)
1. Funnel: Attempt → Auth → Capture (mutlaq va konversiyalarda).
2. AR heatmap: по `country×provider` и `BIN×country`.
3. 3DS Quality: Challenge/Frictionless/Abandon.
4. Capture Latency p50/p95 и Webhook SLA.
5. Refund Health: Refund Rate, TtR p95, Refund Error, Refund_to_Source %.
6. Cost/GGR: usullar va provayderlar bo’yicha.
7. Alerts panel: bosh tortish, degradatsiya AR/latency top-kodlari.
9) SLO, alertlar va pleybuklar
SLO/Alertlar (misol):- ’AR _ gross ↓> 3 p.p. 7 kunlik medianaga’ → ALERT P1 (BIN/provayderni/ASNni tekshirish).
- ’Capture _ Success <98% (soatlik)’ yoki’Webhook p95> 5 c’→ ALERT P1 (PSPdagi retray/hodisa).
- instant → ALERT P2 usullari bo’yicha’TtR _ p95> maqsadli’(navbat/limitlarni tekshirish).
- `Refund_Error_Rate > 0. 5%’yoki’Double _ Refund> 0’→ ALERT P0 (avtomatik refandlarni muzlatish, qoʻlda tekshirish).
- BIN-degradatsiya: muqobil ekvayerni yoqish, BIN uchun 3DS-challenge ulushini oshirish,’ECI’parametrli retralar.
- Tizimli Soft Declines: smart-routing → PSP_B, takrorlashni N ga cheklash, 3DS siyosatini o’zgartirish.
- Capture kechikishlari: fors-retra, vebxuklarni imzolashni tekshirish, TTL idempotentligini oshirish.
- Refund xatolari: idempotent kalitlarni yoqish, parallel partial-refund, qoʻlda QAni dublikatlarga cheklash.
10) KPIda tavakkalchilik va komplayensni boshqarish
’Fraud _ Preblocked’ va’Abandon _ 3DS’o’chirilgandan so’ng AR_clean hisobot bering - bu sizning operatsion AR, antifrod effekti bilan aralashtirmang.
Refund_to_Source% - asosiy tartibga soluvchi KPI; istisnolarni comp-approved deb belgilang.
Dispute/Chargeback Rate’ni urinishlarga emas, balki captured_amount bogʻlang.
11) Tez-tez xatolar
Bir ulushda turli bazalarni (attempt vs auth vs capture) jamlash.
’ticket _ size’ bo’yicha segmentatsiya yo’qligi → AR bo’yicha yolg’on xulosalar.
3DS’da’User Abandon’ning hisobi yo’q → «sun’iy» past AR.
No’idempotency _ key’na refund → dubli/moliyaviy yo’qotishlar.
Bir metrik TtW/TtR da payout va refund aralashmasi.
12) Joriy etishning nazorat chek-varaqasi
- Kelishilgan voqealar sxemasi va KPIning yagona ta’riflari.
- BIN/mamlakatlar bo’yicha Heatmap va provayderlar bo’yicha marshrutlash.
- Dashboard 3DS-friksiyalari va abandon.
- SLA vebxuk, retray, idempotentlik (auth/capture/refund).
- Refund Health bo’yicha hisobot va Refund_to_Source%.
- AR, Capture_Success, TtR degradatsiyasiga alertlar, refund xatolari.
- Oylik R & O-sharh: Cost/GGR, Disputes, FX-spreadlar, provayder-SLA.
13) Xulosa
Kuchli to’lov konturi - bu har bir ulush uchun to’g’ri bazaga ega shaffof huni, voqealarning qat’iy tartibi, segmentatsiya va avtomatik pleybuklar. To’g’ri KPI to’lov infratuzilmasini o’sish dastagiga aylantiradi: AR_net↑, TtC/TtR ↓, Cost/GGR ↓, Disputes ↓ o’zgarmas yoki yaxshilangan xavfsizlik sharoitida.