Төлем контурының KPI: auth, capture, refund
TL; DR
Төлем контуры құйғыш ретінде өлшенеді: 'Attempt → Auth → Capture → Settle/Refund'. Негізгі метриктер - Approval Rate ғана емес, сонымен қатар таза AR (антифродтан және 3DS кейін), capture табыстылығы, есептен шығаруға/есепке алуға дейінгі уақыт, құн/FX, теңсіздік қателері және қайтару сапасы (TtR және rate). Тәуекел профилін бұзбай AR ↑, TtW ↓, Cost/GGR ↓, Disputes ↓ ұстаған адам жеңіске жетеді.
1) Сатылар мен оқиғалар сөздігі
Attempt - төлем жасау әрекеті (бастама).
Auth - авторизация (банк/әмиян/рельстер есептен шығару мүмкіндігін растады).
Capture - нақты есептен шығару (толық/ішінара).
Settle - клиринг және есептеулер.
Refund - қайтарым (толық/ішінара), 'TtR = time to refund credit'.
Void - capture дейін болдырмау (егер қолдау көрсетілсе).
3DS/Step-up - авторизацияға фрикция.
Soft Decline/Hard Decline - қалпына келтірілетін/қалпына келтірілмейтін істен шығулар.
2) KPI иерархиясы (мақсаттар ағашы)
Жоғарғы деңгей
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 (қорытындылар), TtC (capture) p95
Refund Health: Refund Rate, TtR p95, Refund Error Rate
Орташа деңгей
3DS Challenge Share, Frictionless Share, Abandon on 3DS
Soft Decline Recovery Rate (ретраи/смарт-роутинг)
Partial Capture Share, Capture Latency
Refund to Source %, Duplicate/Idempotency Incidents
Төменгі деңгей (диагностика)
Кодтар бойынша қателер (ISO/рельстік), API жасырындылығының p95, вебхуктардың SLA, 'Do Not Honor', 'Insufficient Funds', 'Suspected Fraud', 'System Error' үлестері.
3) Формулалар (нақты анықтамалар)
3. 1 Авторизация
`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`
Тіліктер міндетті түрде: 'BIN × country', 'provider × method', 'device/os', 'ticket _ size' (мысалы, ≤ €50, €50-200,> €200).
3. 2 Есептен шығару (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 Құны және FX
`Cost_per_Tx = Fee_fixed + AmountFee_pct + FX_Spread`
`Cost/GGR = ΣCost / GGR`
`Net_Revenue = GGR - ΣCost - Fraud_Loss - Disputes_Cost`
3. 4 Қайтарымдар (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' - демпотенттік коллизияларды есептегіш (= 0 болуы тиіс)
4) Мақсаттар/бағдарлар (нақты портфельге теңшеледі)
AR_gross: 3DS2 карталары - 82-92% (BIN/ел бойынша), A2A - 90% + (бастамашылық), ваучерлер - 95% + (redeem).
Capture_Success: 98. 5% + (тірі вебхуктер мен ретраяларда).
TtC p95: ≤ 5 мин (авто-capture бар карталар), ≤ 90 сек (instant A2A/RTP).
Refund Error: < 0. 3%; TtR p95: ≤ T + 1 банк. күн (карталар), ≤ 60 сек (instant rails).
Refund_to_Source%: ≥ 95% (рельстер қолдайтын).
Idempotency Incidents: = 0; Webhook SLA: ≥ 99. 9%, p95 < 3 c.
(«Нарық бенчмарктері» емес, ішкі SLO үшін практикалық мақсатты дәліздер.)
5) Сегменттеу және атрибуция
KPI-ны 'country', 'method _ group', 'provider', 'BIN', 'device/os', 'ticket _ size', 'risk _ segment', 'kyc _ tier', 'affiliate', 'new _ vs _ returning' бөлігінде қараңыз.
Cohort AR: AR бірінші төлем кодтары бойынша (D0/D7/D30).
Route AR: 'PSP _ A → PSP _ B failover' маршруттары бойынша AR.
Risk-aware AR: AR тәуекел сегменттері бойынша (step-up кейін).
BIN-heatmap: осал эмитенттер → ретрациялардың жеке ережелері/3DS.
6) Деректер моделі (BI үшін тегіс қабат)
Ең аз «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
Кілт - «payment _ key» сатысына және «idempotency _ key» refund сатысына ұқсас.
7) SQL-қималар (мысал)
7. 1 Күнделікті AR және 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 денсаулық
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 фрикциясы
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) Дашборд (міндетті виджеттер)
1. Funnel: Attempt → Auth → Capture (абсолютте және конверсияларда).
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: әдістер мен провайдерлер бойынша.
7. Alerts panel: AR/latency деградациясының бас тарту топ-кодтары.
9) SLO, алерттар және плейбуктер
SLO/Алерты (мысал):- 'AR _ gross ↓> 3 п.т. 7 күндік медианаға' → ALERT P1 (BIN/провайдерді/ASN тексеру).
- 'Capture _ Success <98% (сағаттық)' немесе 'Webhook p95> 5 c' → ALERT P1 (PSP-дегі ретраи/инцидент).
- instant → ALERT P2 әдістері бойынша 'TtR _ p95> мақсатты' (кезек/лимиттерді тексеру).
- `Refund_Error_Rate > 0. 5% 'немесе' Double _ Refund> 0 '→ ALERT P0 (автоматты рефандтарды қатыру, қолмен тексеру).
- BIN-деградация: баламалы эквайерді қосу, BIN үшін 3DS-challenge үлесін арттыру, «ECI» параметрлері бар ретра.
- Жүйелік Soft Declines: смарт-роутинг → PSP_B, N дейін қайталауды шектеу, 3DS саясатын өзгерту.
- Capture кідірістері: форс-ретра, вебхуктарға қол қоюды тексеру, үлкейтілген TTL сәйкестік.
- Refund қателері: іспеттес кілттерді қосу, параллельді partial-refund, қолмен QA көшірмелерін шектеу.
10) KPI-дегі тәуекелді және комплаентті басқару
'Fraud _ Preblocked' және 'Abandon _ 3DS' өшірілгеннен кейін AR_clean есеп беріңіз - бұл сіздің операциялық AR, антифрод әсерімен араласпаңыз.
Refund_to_Source% - негізгі реттегіш KPI; ерекшеліктерді comp-approved деп белгілеңіз.
Dispute/Chargeback Rate әрекетін емес, captured_amount байланыстырыңыз.
11) Жиі қателер
Әр түрлі базаларды жиынтықтау (attempt vs auth vs capture) бір үлесте.
'ticket _ size' бойынша сегменттеудің жоқтығы → AR бойынша жалған қорытындылар.
3DS → «жасанды» төмен AR-да 'User Abandon' есебін жүргізбеу.
Жоқ 'idempotency _ key' refund → дубли/қаржылық шығындар.
Бір TtW/TtR метрінде payout пен refund араластыру.
12) Енгізудің бақылау чек-парағы
- Келісілген оқиғалар схемасы және бірыңғай KPI анықтамалары.
- BIN/елдер бойынша Heatmap және провайдерлер бойынша бағыттау.
- Дашборд 3DS-фрикциясы және abandon.
- SLA вебхук, ретра, идемпотенттілік (auth/capture/refund).
- Refund Health және Refund_to_Source% бойынша есептілік.
- AR, Capture_Success, TtR деградациясына алерттар, refund қателері.
- Айлық R & O-шолу: Cost/GGR, Disputes, FX-спредтер, провайдер-SLA.
13) Түйіндеме
Күшті төлем контуры - бұл әрбір үлес үшін дұрыс базасы бар мөлдір құйғыш, оқиғалардың қатаң тәртібі, сегменттеу және автоматты плейбуктер. Дұрыс KPI төлем инфрақұрылымын өсу тетігіне айналдырады: AR_net↑, TtC/TtR ↓, Cost/GGR ↓, Disputes ↓, өзгеріссіз немесе жақсартылған қауіпсіздік жағдайында.