Czas do portfela: Key Metric
1) Definicja i warianty TTW
Czas do portfela (TTW) - czas od działania użytkownika do rzeczywistej dostępności środków w docelowym portfelu/koncie. Do iGaming używamy dwóch głównych typów:- TTW₍deposit ₎: 'kliknij' Zapłać "→ pieniądze są dostępne do gry'.
- Zawiera UX/3DS, autoryzację z PSP/bank, potwierdzenie i rejestrowanie salda.
TTW₍payout ₎: 'Kliknij przycisk „Wypłacaj” → pieniądze na zewnętrznym portfelu/banku'.
Obejmuje kontrole ryzyka/KYC/SoF, bramki tej samej metody/ND, orkiestrę korytarza, potwierdzenie w PSP/schemacie i delegowanie w banku/portfelu.
2) Dlaczego TTW jest metryką P&L
Konwersja i AR: szybki depozyt i prawdopodobieństwo pierwszego zakładu/sesji.
Zatrzymanie i zaufanie: szybkie konkluzje i wsparcie biletów.
Koszt: szyny błyskawiczne są często droższe.Potrzebujesz równowagi „prędkościowej”.
Ryzyko operacyjne: Długie ogony TTW tworzą klastry incydentów i obciążeń zwrotnych.
3) rozkład TTW według etapów
3. 1. Depozyty
1. Interfejs użytkownika/realizacja transakcji (Render, Validation, 3DS)
2. PSP Auth (autoryzacja)
3. Przechwytywanie/rezerwacja (potwierdzenie, aktualizacja salda)
4. Fallback/Retry (бра soft-decline)
"TTW₍deposit ₎ = t_UI + t_3DS + t_auth + t_capture + t_write_balance'
3. 2. Wnioski
1. Kontrole wstępne (KYC/SoF, ND/same-method, RG/AML limits)
2. Decyzja o ryzyku (auto/instrukcja)
3. Orkiestra wypłat (wybór korytarza: SEPA Instant/PIX/Faster Payments/RTP/push-to-card/A2A/e-wallet)
4. PSP API (inicjować → akceptowane)
5. Sieć/Banki (rozliczanie/delegowanie)
6. Pogodź i powiadom
"TTW₍payout ₎ = t_precheck + t_risk + t_initiation + t_network + t_posting + t_notify'
4) SLA i poziomy docelowe
Depozyt p95: ≤ 10-20 s (portfele/jeden kran), ≤ 30-60 s (karty z 3DS).
Wyjście p95:- Szyny Instant (SEPA Instant/PIX/FPS/RTP, push-to-wallet/card): ≤ 15-30 мий.
- Standardowy kredyt A2A/SEPA: T + 0/T + 1 bankowość (godziny/dzień).
- Międzynarodowy SWIFT: 1-3 dni bankowych.
- p99 jest ważne, aby utrzymać w komunikacji (pasma ETA), aby zarządzać oczekiwaniami.
5) Pomiar: jednostki, okna, pobieranie próbek
Jednostka miary: transakcja (depozyt/wypłata).
Agregacja: p50/p90/p95/p99, SLA-hit% (udział w ETA), ogony (ogon> 2 × p95).
Plastry: metoda/korytarz/PSP/MID/GEO/BIN klastry/godzina dnia/kanał.
Wykluczyć: anulowane/duplikaty (idempotencja), ręczne przerwy na żądanie gracza.
6) Model danych (minimum)
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) szablony obliczeń SQL
7. 1. TTW według depozytu (ogółem i 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 według wyjść (korytarzy)
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. Rozkład wąskich gardeł (wyjścia)
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. cegły SLA i długie ogony
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) Deski rozdzielcze i KPI
TTW p50/p95/p99 metodą/korytarzem/PSP/klastrem GEO/BIN.
SLA-hit%, udział ogona (> 2 × p95), incydenty (adnotacje).
Wniosek → Sprawdź wstępnie OK → Ryzyko OK → Zainicjowany → Opublikowany → Dostępny.
Korelacje: TTW vs konwersja AR/depozytu, TTW vs bilety wsparcia/CSAT, TTW vs churn.
Koszt: 'cost _ per _ payout' i 'take-rate' wzdłuż korytarza vs TTW win.
9) Wpisy
naruszenie p95: p95 TTW wzdłuż korytarza/PSP> SLA X minut.
Kolec ogonowy: udział> 2 × p95 wzrósł> Y% w godzinach Z.
Pre-check stall: t_precheck_start jest, t_precheck_ok nie jest> 15 min (automatyczna eskalacja).
Zaległość ryzyka: t_risk_start jest, t_risk_ok nie jest> próg (ręczna kolejka).
Anomalia sieciowa: gwałtowny wzrost 'network _ sec' przez GEO/bank.
Drift polityki - wydarzenia bez wymaganych znaczników czasu.
10) Jak przyspieszyć TTW (praktyki)
Depozyty
Portfele jednotapowe/Apple Pay/Google Pay, żetony sieciowe.
Frictionless 3DS przez ryzyko, wbudowanie 3DS w modal.
Kaskada PSP na BIN/GEO/zdrowie, przekaźnik tylko na miękki spadek.
Prefetch 3DS/ACS kanały, agresywne timeouts na degradacji.
Wnioski
Pre-KYC/pre-SoF dla częstych graczy; wstępne zatwierdzenie dla ≤ kwot progowych.
Korytarze instancji: SEPA Instant/Faster Payments/RTP/PIX/push-to-card/wallet.
Kaskada korytarzy: natychmiastowy → szybki A2A → standard SEPA/SWIFT (z ETA).
Ta sama metoda i logika ND są zautomatyzowane, bez ręcznych kontroli.
Okna czasowe: unikać odcięcia i bank „wąskie” godziny.
Dostawca paszy dla zdrowia i automatycznego awarii z „network _ sec” wzrost.
Komunikacja
ETA na początku + statusy postępu („Check”, „Initiated”, „Credited”).
Proaktywne powiadomienia o opóźnieniu> SLA, uczciwe powody i oczekiwany czas.
11) Ekonomia i kompromisy
Koszty natychmiastowe więcej: porównaj uplift CSAT/churn/retention vs bps/fixed.
Ogony są droższe niż p50: optymalizacja na p95 daje większy efekt P & L.
Różnice lokalne: w niektórych GEO, „szybki, ale drogi” kanał opłaca się lepiej.
12) Incydent Playbook
1. Wzrost właściwy dla PSP/korytarza p95
Automatycznie przekierowuj do korytarza zapasowego, zmniejszając zdegradowany limit.
Komunikacja z graczami z aktualizowanym ETA, bilet do dostawcy.
2. Zaległości w zakresie ryzyka (kontrole ręczne)
Włączyć wstępną homologację dla X ≤ ilości, redystrybuować kolejkę, tymczasowo podnieść progi auto-pass.
3. Opóźnienia w delegowaniu banku na GEO
Ominąć z innym korespondentem banku/portfela, tymczasowo wyłączyć „powolny” korytarz dla nowych aplikacji.
4. degradacja 3DS/ACS (złoża)
Zmusić bezstratny/alternatywny DS, gdzie pozwala na to polityka ryzyka, lub kaskady do innego PSP.
13) Badania A/B wokół TTW
Korytarz Instant vs Standard na części ruchu (poręcze: CBR bps, koszt/wypłata, CSAT).
Prawa autorskie/przepływ pre-KYC, brzmienie ETA, kolejność metod.
Metryki: TTW p95, SLA-hit%, bilety/1000 trx, AR/konwersja, churn 7/30.
14) Najlepsze praktyki (krótkie)
1. Zmierzyć według etapów i utrzymać znaczniki czasowe w jednym wzorze.
2. Zoptymalizować p95/p99, nie tylko medianę.
3. Osadzone natychmiastowe szyny, gdzie gospodarka zbiega.
4. Zrób wstępne KYC/SoF/zatwierdzenie dla scenariuszy powtarzalnych.
5. Korytarze autokaskadowe i PSP, reagują na zdrowie.
6. Powiedz uczciwy ETA i statusy, powiadomić opóźnienia.
7. Przechowywać SLA w katalogu i sprawdzić SLA-hit% dla każdego kawałka.
8. Tie TTW do CSAT/bilety/churn w deskach rozdzielczych.
9. Incydenty postu: Wychwytywanie przyczyn, zmiana zasad/czasy progowe.
10. Wersja schematu zdarzeń, sprawdź kompletność znaczników czasu.
15) Lista kontrolna wdrażania
- Definicje TTW dotyczące depozytów/wypłat uzgodnione z produktami/finansami.
- Znaczniki czasowe według etapów płatności. linia czasowa "; Katalog SLA.
- Deski rozdzielcze p50/p95/p99, SLA-hit%, ogony; p95/tails/backlogs alerts.
- Kaskady PSP/korytarza, pasze dla zdrowia i automatyczne awarie.
- Polityki preKYC/SOF i polityki preaprobaty; ND/ta sama metoda zautomatyzowana.
- Komunikacja ETA i tracker statusu dla użytkownika.
- Wzdłuż korytarzy wzdłuż modelu ekonomicznego dotyczącego prędkości i cen.
- Playbooks incydentów i proces pośmiertny.
- Testy A/B ulepszeń TTW z barierkami.
- Regularny audyt kompletności danych i poprawności obliczeń.
Podsumowanie
Czas do portfela to nie tylko "prędkość wyjściowa. "Jest to końcowa metryka doświadczenia płatniczego wpływająca na konwersję, retencję i P & L. Zmierz TTW według etapów, zoptymalizuj p95/p99, podłącz szyny i kaskady błyskawiczne, usuń tarcie poprzez wstępne KYC/homologację i zautomatyzuj kontrole ND/tej samej metody. Silna telemetria, uczciwe ETA i gotowe playbooki sprawią, że płatności będą szybkie, przewidywalne i ekonomicznie opłacalne.