Time-to-Wallet: Key Metric
1) TTW definiție și variante
Time-to-Wallet (TTW) - timpul de la acțiunea utilizatorului la disponibilitatea reală a fondurilor în portofelul/contul țintă. Pentru iGaming, folosim două tipuri principale:- TTW₍deposit ₎: 'click' Pay '→ bani sunt disponibili pentru a juca'.
- Include UX/3DS, autorizarea cu PSP/bancă, confirmarea și înregistrarea soldului.
TTW₍payout ₎: „Faceți clic pe” Retragere „→ bani pe un portofel extern/bancă”.
Include controale de risc/KYC/SoF, aceleași metode/porți ND, orchestrarea coridorului, confirmarea la PSP/schemă și postarea la bancă/portofel.
2) De ce TTW este o metrică P&L
Conversie și AR: depunere rapidă ↑ probabilitatea primului pariu/sesiune.
Păstrarea și încrederea: concluzii rapide ↓ Churn și tichete de sprijin.
Cost: șinele instant sunt adesea mai scumpe ⇒ aveți nevoie de un echilibru „viteză ↔ preț”.
Risc operațional: cozile lungi ale TTW creează grupuri de incidente și chargeback.
3) Descompunerea TTW pe etape
3. 1. Depozite
1. UI/Checkout (randare, validare, 3DS)
2. PSP Auth (autorizare)
3. Captură/Rezervare (confirmare, actualizare echilibru)
4. Rezervă/Reîncercare (при declin moale)
' = + + +
3. 2. Concluzii
1. Verificări prealabile (KYC/SoF, ND/aceeași metodă, limite RG/AML)
2. Decizie de risc (auto/manual)
3. Orchestrarea plății (selecția coridorului: SEPA Instant/PIX/Faster Payments/RTP/push-to-card/A2A/e-wallet)
4. API PSP (inițiați → acceptați)
5. Rețea/Bănci (compensare/detașare)
6. Reconciliază și notifică
' = + + + +
4) SLA și nivelurile țintă
Depozit p95: ≤ 10-20 sec (portofele/un singur robinet), ≤ 30-60 sec (carduri cu 3DS).
Ieșire p95:- Șine instant (SEPA Instant/PIX/FPS/RTP, push-to-wallet/card): ≤ 15-30 мин.
- Standard A2A/SEPA Credit: T + 0/T + 1 bancar (ore/zi).
- International SWIFT: 1-3 zile bancare.
- p99 este important să se păstreze în comunicare (benzile ETA) pentru a gestiona așteptările.
5) Măsurare: unități, ferestre, eșantionare
Unitatea de măsură: tranzacție (depozit/plată).
Agregare: p50/p90/p95/p99, SLA-hit% (ponderea în ETA), cozi (coada> 2 × p95).
Felii: metoda/coridor/PSP/MID/GEO/BIN clustere/ora zilei/canal.
Excludeți: duplicate/anulate (idempotență), pauze manuale la cererea jucătorului.
6) Modelul de date (minim)
sql payments. timeline (
tx_id PK, kind -- DEPOSIT PAYOUT,
user_id, method, corridor, provider, mid, iso2, currency, amount_minor BIGINT,
t_ui_start TIMESTAMP, t_3ds_start TIMESTAMP, t_3ds_end TIMESTAMP,
t_auth_req TIMESTAMP, t_auth_ok TIMESTAMP,
t_capture_ok TIMESTAMP, -- депозиты t_precheck_start TIMESTAMP, t_precheck_ok TIMESTAMP, -- выводы t_risk_start TIMESTAMP, t_risk_ok TIMESTAMP,
t_payout_initiated TIMESTAMP, t_network_posted TIMESTAMP,
t_wallet_available TIMESTAMP, -- final availability status TEXT, decline_code TEXT, meta JSONB
);
sla. catalog (
kind, method, corridor, geo, p95_target_seconds INT, p99_target_seconds INT, eta_text TEXT
);
7) Șabloane de calcul SQL
7. 1. TTW prin depozit (total și prin metodă)
sql
SELECT method,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t_wallet_available - t_ui_start))) AS p95_ttw_sec,
PERCENTILE_CONT(0. 99) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t_wallet_available - t_ui_start))) AS p99_ttw_sec,
COUNT() AS attempts,
100. 0 AVG((EXTRACT(EPOCH FROM (t_wallet_available - t_ui_start)) <= s. p95_target_seconds)::int) AS sla_hit_p95_pct
FROM payments. timeline t
JOIN sla. catalog s ON s. kind='DEPOSIT' AND s. method=t. method
WHERE t. kind='DEPOSIT'
AND t. status='SUCCESS'
AND t. t_ui_start BETWEEN:from AND:to
GROUP BY 1;
7. 2. TTW după ieșiri (coridoare)
sql
SELECT corridor,
PERCENTILE_CONT(0. 50) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t_wallet_available - t_precheck_start))) AS p50_sec,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t_wallet_available - t_precheck_start))) AS p95_sec,
PERCENTILE_CONT(0. 99) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t_wallet_available - t_precheck_start))) AS p99_sec,
100. 0 AVG((EXTRACT(EPOCH FROM (t_wallet_available - t_precheck_start)) <= s. p95_target_seconds)::int) AS sla_hit_p95_pct,
COUNT() AS payouts
FROM payments. timeline t
JOIN sla. catalog s ON s. kind='PAYOUT' AND s. corridor=t. corridor
WHERE t. kind='PAYOUT' AND t. status='SUCCESS'
AND t. t_precheck_start BETWEEN:from AND:to
GROUP BY 1;
7. 3. Descompunerea blocajelor (ieșiri)
sql
SELECT corridor,
AVG(EXTRACT(EPOCH FROM (t_precheck_ok - t_precheck_start))) AS precheck_sec,
AVG(EXTRACT(EPOCH FROM (t_risk_ok - t_risk_start))) AS risk_sec,
AVG(EXTRACT(EPOCH FROM (t_network_posted - t_payout_initiated))) AS network_sec,
AVG(EXTRACT(EPOCH FROM (t_wallet_available - t_network_posted))) AS posting_sec
FROM payments. timeline
WHERE kind='PAYOUT' AND status='SUCCESS'
AND t_precheck_start BETWEEN:from AND:to
GROUP BY 1
ORDER BY network_sec DESC;
7. 4. Cărămizi SLA și cozi lungi
sql
SELECT method, corridor,
COUNT() FILTER (WHERE EXTRACT(EPOCH FROM (t_wallet_available - COALESCE(t_ui_start, t_precheck_start))) > s. p95_target_seconds) AS breaches,
COUNT() AS total,
100. 0 COUNT() FILTER (WHERE EXTRACT(EPOCH FROM (t_wallet_available - COALESCE(t_ui_start, t_precheck_start))) > s. p95_target_seconds)
/ NULLIF(COUNT(),0) AS breach_pct
FROM payments. timeline t
JOIN sla. catalog s ON s. kind=t. kind AND COALESCE(s. method, t. method)=t. method AND COALESCE(s. corridor, t. corridor)=t. corridor
WHERE t. status='SUCCESS' AND (t. t_ui_start BETWEEN:from AND:to OR t. t_precheck_start BETWEEN:from AND:to)
GROUP BY 1,2
ORDER BY breach_pct DESC;
8) Tablouri de bord și KPI-uri
TTW p50/p95/p99 prin metoda/coridor/PSP/GEO/BIN cluster.
SLA-lovit%, cota de coadă (> 2 × p95), incidente (adnotări).
Solicitat Pre-verifica OK Risc OK Inițiat Postat Disponibil.
Corelații: TTW vs AR/conversie depozit, TTW vs tichete de sprijin/CSAT, TTW vs Churn.
Cost: „cost _ per _ payout” și „take-rate” de-a lungul coridorului vs TTW câștiga.
9) Alerte
p95 breșă: p95 TTW de-a lungul coridorului/PSP> SLA X minute.
Coada spike: cota> 2 × p95 a crescut> Y% în orele Z.
Pre-verificare stand: t_precheck_start este, t_precheck_ok nu este> 15 min (auto-escaladare).
Risc restanțe: t_risk_start este, t_risk_ok nu este> prag (coadă manuală).
Anomalia rețelei/postării: o creștere bruscă a „network _ sec” de către GEO/bancă.
Derivă politică - evenimente fără marcaje de timp necesare.
10) Cum de a accelera TTW (practici)
Depozite
Portofele cu un singur robinet/Apple Pay/Google Pay, jetoane de rețea.
3DS fără frecare prin risc, încorporând 3DS în modal.
PSP cascadă pe BIN/GEO/sănătate, retray numai pe soft-declin.
Prefetch canale 3DS/ACS, intervale de timp agresive pe degradare.
Concluzii
Pre-KYC/pre-SoF pentru jucătorii frecvenți; pre-omologarea sumelor ≤ prag.
Coridoare de instanță: SEPA Plăți instant/mai rapide/RTP/PIX/push-to-card/portofel.
Cascadă de coridoare: A2A instant → rapid → standard SEPA/SWIFT (cu ETA).
Aceeași metodă și logica ND sunt automatizate, fără verificări manuale.
Ferestre de timp: evitați cut-off și banca „îngust” ore.
Furnizor de sănătate-feed și auto-failover cu „network _ sec” creștere.
Comunicatii
ETA la starea de start + progres („Check”, „Initiated”, „Credited”).
Alerte proactive de întârziere> SLA, motive oneste și timpul așteptat.
11) Economie și compromisuri
Costuri instantanee mai mari: comparați CSAT/Churn/retenție vs bps/fix.
Cozile sunt mai scumpe decât p50: optimizările pe p95 dau un efect P & L.
Diferențe locale: în unele OUG, canalul „rapid, dar scump” plătește mai bine.
12) Playbook incident
1. Creștere PSP/coridor specific p95
Redirecționați automat către coridorul de rezervă, reducând limita degradată.
Comunicarea către jucători cu ETA actualizată, biletul către furnizor.
2. Restanțe la risc (verificări manuale)
Activați aprobarea prealabilă pentru sumele X ≤, redistribuiți coada, ridicați temporar pragurile de trecere automată.
3. Întârzieri la postarea bancară pe OUG
Ocoliți cu o altă bancă/portofel corespondent, dezactivați temporar coridorul „lent” pentru noi aplicații.
4. degradarea 3DS/ACS (depozite)
Force frictionless/alternative DS în cazul în care politica de risc permite, sau cascadă la un alt PSP.
13) Teste A/B în jurul TTW
Instant vs Coridor standard pe o parte a traficului (parapete: CBR bps, cost/plată, CSAT).
Copyright/flux pre-KYC, formularea ETA, ordinea metodelor.
Valori: TTW p95, SLA-hit%, bilete/1000 trx, AR/conversie, Churn 7/30.
14) Cele mai bune practici (scurt)
1. Măsurați pe etape și păstrați marcajele de timp într-un singur model.
2. Optimizaţi p95/p99, nu doar mediana.
3. Încorporați șine instant în cazul în care economia converge.
4. Faceți aprobarea pre-KYC/SoF/pentru scenarii repetitive.
5. Coridoare auto-cascadă și PSP, reacționează la sănătate.
6. Spune ETA cinstit și statusuri, notifica întârzieri.
7. Stocați SLA-urile într-un catalog și verificați SLA-hit% pentru fiecare felie.
8. Legați TTW la CSAT/bilete/Churn în tablouri de bord.
9. Incidente post: Captura cauze, schimbarea regulilor/cronometre prag.
10. Versiunea schemei evenimentului, validează caracterul complet al marcajelor de timp.
15) Lista de verificare a implementării
- Definiții TTW pentru depozite/retrageri convenite cu produs/financiar.
- Timestamps de etapa in 'plăți. cronologie "; Director SLA.
- Tablouri de bord p50/p95/p99, SLA-hit%, cozi; p95/cozi/backlogs alerte.
- PSP/cascade coridor, sănătate-feed și auto-failover.
- Politici pre-KYC/SoF și pre-omologare; ND/aceeași metodă automatizată.
- Comunicații ETA și tracker de stare pentru utilizator.
- Viteză ↔ preț model economic de-a lungul coridoarelor.
- Playbook-uri incidente și procesul post-mortem.
Testele A/B ale îmbunătățirilor TTW cu parapete.
- Audit regulat al integralității datelor și corectitudinii calculelor.
Rezumat
Time-to-Wallet nu este doar "viteza de ieșire. "Este o metrică end-to-end a experienței de plată care afectează conversia, retenția și P & L. Măsoară TTW pe etape, optimizează p95/p99, conectează șinele instant și cascadele, elimină frecarea prin pre-KYC/omologare și automatizează verificările ND/aceleași metode. Telemetria puternică, ETA-urile oneste și playbookurile pregătite vor face plățile rapide, previzibile și viabile din punct de vedere economic.