Profilul de plată KPI: auth, captură, rambursare
TL; DR
Bucla de plată este măsurată ca o pâlnie: „Încercați → Auth → Capture → Settle/Rambursare”. Valorile cheie nu sunt doar Rata de aprobare, ci și AR pură (după anti-fraudă și 3DS), succesul capturii, timpul de eliminare/înscriere, costul/FX, erorile de idempotență și calitatea returnărilor (TtR și rata). Cel care deține ↑ AR, TtW ↓, Cost/GGR ↓ câștigă, împotriva Litigiilor ↓, fără a rupe profilul de risc.
1) Dicționar de etape și evenimente
Încercare - încercare de plată (inițiere).
Auth - autorizare (bancă/portofel/șine a confirmat posibilitatea de anulare).
Captură - eliminare efectivă (completă/parțială).
Așezare - compensare și așezări.
Rambursare - returnare (full/partial), 'TtR = timp pentru rambursarea creditului'.
Gol - anula pentru a captura (dacă este acceptat).
3DS/Step-up - fricțiune privind autorizarea.
Soft Declin/Hard Declin - eșecuri recuperabile/nerecuperabile.
2) ierarhia KPI (arborele țintă)
Nivelul superior
Rata brută de omologare (AR_gross) = Auth/încercare
Rata de aprobare netă (AR_net) = captură/încercare
Cost/GGR = (Taxe + FX + Ops )/GGR
TTW/TtC: Time-to-Wallet, TtC (captură) p95
Rambursare Sănătate: Rata de rambursare, TtR p95, Rata de eroare de rambursare
Nivel intermediar
3DS Challenge Share, cotă fără fricțiune, abandon pe 3DS
Rata de recuperare a declinului moale (rutare retrasă/inteligentă)
Partajarea parțială a capturii, captarea latenței
Rambursare la Sursa%, Incidente duplicat/Idempotency
Nivel inferior (diagnostic)
Erori pe coduri (ISO/feroviar), p95 API latență, SLA webhook-uri, cota de „Nu onora”, „Fonduri insuficiente”, „Fraudă suspectată”, „Eroare de sistem”.
3) Formule (definiții exacte)
3. 1 Autorizare
'AR _ brut = 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'
Secțiunile sunt necesare: „BIN × țară”, „furnizor × metodă”, „dispozitiv/os”, „ticket _ size” (de exemplu, ≤€50, 50-200 €,> 200 €).
3. 2 Captură
'Capture _ Success = Captured_Tx/ Capture_Attempted_Tx'
'Net _ Conversie = Captured_Tx/ Auth_Attempted_Tx' (= AR_net)
'Partial _ Capture _ Share = Partial_Captures/ Captured_Tx'
'Capture _ Latency _ p95 = p95 (capture_timestamp - auth_timestamp)'
'Void _ Rate = Goluri/ Auth_Approved'
3. 3 Cost și FX
'Cost _ per _ Tx = Fee_fixed + AmountFee_pct + FX_Spread'
„Cost/GGR = Σ Cost/GGR”
'Net _ Revenue = GGR - Costul Σ - Fraud_Loss - Disputes_Cost'
3. 4 Rambursări
'Rambursare _ Rată = Refunded_Tx/ Captured_Tx'
'Rambursare _ Sumă _ Raport = Refunded_Amount/ Captured_Amount'
'TtR _ p95 = p95 (refund_credit_at - refund_initiated_at)'
'Rambursare _ Eroare _ Rata = Refund_Failed/ Refund_Attempted'
'Rambursare _ către _ Sursă _% = Refund_to_Original_Method/ Total_Refunds'
'Double _ Rambursare _ Incidente' - contor de coliziune idempotent (must = 0)
4) Obiective/repere (personalizabile pentru un anumit portofoliu)
AR_gross: carduri 3DS2 - 82-92% (BIN/țară), A2A - 90% + (inițiere), vouchere - 95% + (răscumpărare).
Capture_Success: 98. 5% + (cu cârlige live și retrageri).
TtC p95: ≤ 5 min (carduri cu captură automată), ≤ 90 sec (A2A instant/RTP).
Eroare de rambursare: <0. 3%; TtR p95: ≤ T + 1 bancă. zi (carduri), ≤ 60 sec (șine instant).
Refund_to_Source%: ≥ 95% (în cazul în care șinele sunt acceptate).
Incidente de idempotență: = 0; Webhook SLA: ≥ 99. 9%, p95 <3 c.
(Nu „criterii de referință de piață”, ci coridoare țintă practice pentru SLO interne.)
5) Segmentarea și atribuirea
Luați în considerare KPI-urile în context: 'country', 'method _ group', 'provider', 'BIN', 'device/os', 'ticket _ size', 'risk _ segment', 'kyc _ tier', 'afiliate', 'new _ vs _ returning'.
Cohorta AR: AR prin cohorta de primă plată (D0/D7/D30).
Ruta AR: AR pe rutele „PSP_A→PSP_B failover”.
AR conștient de risc: AR pe segment de risc (după step-up).
BIN-heatmap: emitenți vulnerabili → norme retray/3DS separate.
6) Modelul de date (strat plat pentru BI)
Minim „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
Cheie - idempotent 'payment _ key' la etapa și 'idempotency _ key' la rambursare.
7) Felii SQL (exemplu)
7. 1 AR zilnic și captură
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 Sănătatea rambursării
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 frecare 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) Tablou de bord (widget-uri necesare)
1. Pâlnie: Încercare → Captură → Auth (absolut și conversii).
2. AR heatmap: по „furnizor de × de țară” и „BIN × țară”.
3. Calitatea 3DS: Provocare/Fără fricțiuni/Abandon.
4. Captură Latency p50/p95 и Webhook SLA.
5. Rambursare Sănătate: Rata de rambursare, TtR p95, Eroare de rambursare, Refund_to_Source%.
6. Cost/RGG: prin metode și furnizori.
7. Panoul de alerte: codurile de sus ale eșecurilor, degradarea AR/latență.
9) SLO-uri, alerte și playbook-uri
SLO/Alerte (exemplu):- „AR_gross↓> 3 pp până la 7 zile mediană” → ALERT P1 (verificaţi BIN/provider/ASN).
- 'Capture _ Success <98% (hourly)' sau 'Webhook p95> 5 c' → ALERT P1 (PSP Retray/Incident).
- 'TtR _ p95> metode target' by instant → ALERT P2 (verifica coada/limitele).
- 'Rambursare _ Eroare _ Rată> 0. 5% 'or' Double _ Rambursare> 0 '→ ALERT P0 (refand automat congela, verificare manuala).
- Degradarea BIN: includeți un achizitor alternativ, creșteți proporția de 3DS-challenge pentru BIN, retransmiteți parametrii „ICE”.
- Sistemul Soft scade: rutare inteligentă → PSP_B, limitarea încercați din nou la N, schimba politica 3DS.
- Întârzieri de capturare: retrageri de forță, verificarea semnării cârligelor web, creșterea idempotenței TTL.
- Erori de rambursare: activați cheile idempotente, limitați restituirea parțială paralelă, QA manuală pentru duplicate.
10) Managementul riscurilor și al conformității în KPI-uri
Raportați AR_clean după eliminarea 'Fraudă _ Preblocat' și 'Abandon _ 3DS' - acesta este AR operațional, nu se amestecă cu efectul antifraudă.
Refund_to_Source% - KPI cheie de reglementare; remediați excepțiile omologate.
Litigiul/Rata Chargeback se leagă de captured_amount, nu de încercări.
11) Erori frecvente
Însumarea diferitelor baze (încercare vs auth vs captură) într-o fracție.
Lipsa segmentării prin „ticket _ size” → concluzii false de către AR.
Lipsește „Abandon utilizator” pe 3DS → „artificial” scăzut AR.
No 'idempotency _ key' on rambursare → dublează/pierderi financiare.
Amestecarea plății și rambursarea în aceeași metrică TtW/TtR.
12) Lista de verificare a implementării
- Schema de evenimente convenită și definițiile KPI unificate.
- Heatmap de BIN/țară și rutare de către furnizor.
- 3DS frecare și abandon tablou de bord.
- SLA webhooks, retrays, idempotency (auth/capture/rambursare).
- Raportarea prin rambursare Sănătate și Refund_to_Source%.
- AR, Capture_Success, alerte de degradare TtR, erori de restituire.
- Revizuire lunară R&O: Cost/GGR, Litigii, Spread-uri FX, Provider-SLA.
13) Rezumat
O buclă de plată puternică este o pâlnie transparentă cu baza corectă pentru fiecare acțiune, disciplină strictă a evenimentelor, segmentare și playbook-uri automate. KPI-ul corect transformă infrastructura de plată în pârghie de creștere: , TtC/TtR , Cost/GGR , Litigii, la siguranța invariabilă sau îmbunătățită.