Depozyty netto: obliczanie i kontrolowanie
1) Czym są depozyty netto i dlaczego są one potrzebne
Depozyty netto (ND) są inwestycjami użytkowników netto za okres po rozliczaniu wszystkich „odwrotnych” przepływów pieniężnych. Metryka ma kluczowe znaczenie dla:- ekonomika jednostki (korelacja ND z LTV, ARPPU, NGR),
- odpowiedzialna gra (ograniczenia, samokontrola, źródło funduszy),
- ryzyko i zgodność (AML/sankcje, anomalie),
- transakcje (priorytetowe traktowanie płatności i premie przeciwko nadużyciom).
Podstawowy pomysł
Gracz wpłacił X (depozyty), przyniósł Y (wypłaty). Wszystko, co pozostaje w ekosystemie jako „faktycznie zdeponowane pieniądze” gracza jest depozytów netto, dostosowane do zwrotów, obciążeń zwrotnych, anulowania i innych operacji technicznych.
2) Wzory i granice rachunkowości
2. 1. Wzór podstawowy (poziom produktu)
ND = Deposits
− Withdrawals − (successful, paid)
− Refunded Deposits
+ Chargeback Debits
− Chargeback Credits
± Reversal Adjustments
Wyjaśnienia:
- Depozyty - tylko przechwycone/rozliczone. Autoryzacja bez późniejszego przechwytywania - nie należy liczyć.
- Wypłaty - uwzględniamy tylko płatne (płatne/rozliczane). Odrzucone/anulowane aplikacje ND nie zmniejszają.
- Zwrócone depozyty - depozyt zwraca do tego samego źródła (ta sama metoda).
- Obciążenie zwrotne Debety/Kredyty - efekt netto sporów (odpisy/zwroty).
- Korekty cofania - korekty techniczne (na przykład powrót z portfela „błędnego”, duplikat odwrotny).
2. 2. Ulepszenia rachunkowości
Bonusy i darmowe zakłady: nie są uwzględnione w depozytach; są to kredyty krajowe. Jednak scenariusze nadużyć (depozyt za bonus → natychmiastowa wypłata środków pieniężnych) powinny zmniejszyć wartość WP poprzez szybkie wypłaty i/lub korekty antyfraud.
Prowizje PSP: domyślnie nie są odejmowane od metryki ND (ND - „player-centric”). Prowizje - w P & L.
Wewnętrzny transfer/Cross-Wallet (sport → kasyna): ND nie zmienia (jest to ruch wewnątrz salda).
Anuluj w ciągu: anulowanie nie zmniejsza ND (w końcu wypłata nie miała miejsca).
Cashout promocyjny/kredyt ręczny: Kredyty gotówkowe operatora nie zwiększają wartości WP.
Żetony/krypta: odczytać zgodnie z ekwiwalentem fiata w momencie rozliczenia (patrz multi-currency).
Płatności częściowe/podzielone: ND rośnie o kwotę, która jest naprawdę rozliczana.
2. 3. Granice okresowe
Opcje ND „kawałek”:- Transakcja oparta na działalności (przez transakcję „rozliczoną _ at”). Zalecany do sprawozdawczości finansowej.
- Na podstawie zapytania (przez 'created _ at '/' requested _ at'): nadaje się do szybkiej analizy produktów, ale nie do pojednania.
3) Wycena wielopwalutowa i kursowa
Wszystkie operacje są mapowane na walutę sprawozdawczą (na przykład EUR) według kursu wymiany w momencie rozrachunku.
Миксиркта: 'amount _ original', 'currency _ original', 'fx _ rate _ at _ settle', 'amount _ reporting'.
W przypadku krypto należy użyć średniej ważonej ceny (VWAP) na wybranym źródle pod adresem „settled _ at”.
Nie przeceniać historycznych ND podczas zmiany kursów: zachować rzeczywisty FX w czasie wydarzenia.
4) Poziomy roli WP
ND_user jest inwestycja netto danego gracza.
ND_segment - według krajów, kanałów, dostawców płatności, podmiotów powiązanych.
ND_cohort - w terminie rejestracji/pierwszej wpłaty.
ND_platform jest całkowita wartość WP platformy na dany okres.
5) Polityki i wyłączenia
5. 1. reguła tej samej metody & powrót do źródła
Jeśli depozyt A został dokonany metodą M, zwrot środków z depozytu jest najlepiej dokonywany przez M do kwoty depozytu netto. Zmniejsza to ryzyko związane z AML i kontrowersyjnymi płatnościami krzyżowymi.
5. 2. Korekty wewnętrzne
Każda ręczna regulacja musi posiadać reason_code, ścieżkę audytu i odniesienie do podstawowej działalności.
Korekty nie powinny maskować pogoni za utratą/nadużyciem.
5. 3. Cykle bonusowe
Zaznacz „bonus-driven ND” (depozyt, który aktywował bonus) z flagą. Tworzenie raportów ND z/bez depozytów związanych z bonusem.
6) Model zdarzeń i schemat danych
6. 1. Najważniejsze wydarzenia
„DEPOSIT _ AUTHORISED”, „DEPOSIT _ CAPTURED”, „DEPOSIT _ REFUNDED”
„WITHDRAWAL _ REQUESTED”, „WITHDRAWAL _ PAID”, „WITHDRAWAL _ REJECTED”, „WITHDRAWAL _ CANCELED”
„OBCIĄŻENIE ZWROTNE _ OBCIĄŻONE”, „OBCIĄŻENIE ZWROTNE _ KREDYTOWANE”
„REGULACJA _ ZASTOSOWANA” (ТИ,: ODWRÓCONA, TECH_FIX, FRAUD_CORRECTION ZDRUK. п.)
Wszystkie zdarzenia są idempotentne ('idempotence _ key', 'event _ id'). Obsługa dostawy do DWH za pomocą deduplikacji 'event _ id'.
6. 2. Minidiagram (uproszczony)
payments. transactions (
id, user_id, provider, method, type, status,
amount_original, currency_original,
amount_reporting, reporting_currency, fx_rate_at_settle,
requested_at, settled_at, related_tx_id, reason_code, meta
)
types: DEPOSIT WITHDRAWAL REFUND CHARGEBACK_DEBIT CHARGEBACK_CREDIT ADJUSTMENT status: PENDING AUTHORIZED CAPTURED PAID REJECTED CANCELED REFUNDED SETTLED
Sumy WP uznaje się za agregacje według „typu” i „statusu” z filtrami „tylko rozliczone/płatne/przechwycone, w stosownych przypadkach”.
7) Kontrola jakości danych i uzgadnianie
7. 1. Uzgodnienie z PSP/Acquirer
Codzienne uzgodnienie raportów PSP (plików rozrachunkowych) z „transakcjami”.
Mecze dla 'provider _ ref', kwoty, daty rozliczenia, waluty i opłaty (za P&L).
Niedopasowanie → bilety w Operacjach: „brakujące przechwytywanie”, „podwójny zwrot”, „późna prezentacja”.
7. 2. Przeciwwskazania i idempotencja
Kontrola: wyjątkowość według '(dostawca, provider_tx_id, typ, settle_date)'.
Oddzielny dziennik audytu dla operacji ręcznych („ADJUSTMENT _ APPLIED”).
7. 3. Uczciwość reguł biznesowych
Wyświetlanie 'PAID' bez historii wpłat w wybranej metodzie to czerwona flaga.
Zamknij w czasie 'DEPOSIT _ CAPTURED' → 'WITHDRAWAL _ PAID' za tę samą kwotę - szara flaga (bonus-abuse).
8) Raporty i deski rozdzielcze
8. 1. Podstawowe KPI
"ND _ ogółem" dla danego okresu; " ND _ per _ user ', „ND _ mediana”;
Rozkład ND według kraju, metody, PSP, partnera;
„ND _ 7/30/90” przez kohorty rekrutacyjne;
Cash Conversion Lag: Mediana z „DEPOSIT _ CAPTURED” na „WITHDRAWAL _ PAID”.
8. 2. Segmenty ryzyka
Gracze o wysokim obrocie i wysokim obrocie są kandydatami do weryfikacji źródła środków.
Szybki obrót (depozyt → wypłata) <N godzin - wyzwalacz śledztwa.
8. 3. Samoloty analityczne
Produkt (sport/kasyno/na żywo): gdzie ND jest najbardziej „zdrowe”.
Metody płatności: Awarie ND podczas oszustwa przy użyciu określonej metody.
Kampanie/bonusy: ND-uplift i anulowanie po efekcie.
9) Polityka w zakresie zwalczania nadużyć finansowych i odpowiedzialnej zabawy
Limity depozytowe (dzienne/tygodniowe/miesięczne) - w raportach WP oddzielna metryka zgodności.
Zasady prędkości: n depozytów> X w minutach Y + szybki buforowanie = blok/ręczna kontrola.
Sankcje/PEP/SOF: wzrost WP powyżej progu → obowiązkowe źródło funduszy.
Mullokalizacja: Porównaj geo/metoda/kraj bankowy z krajem KYC.
Self-exclusion: ND po wykluczeniu musi być ściśle 0; wszelkie próby - alarm.
10) Procesy i SLO
SLO obliczania deski rozdzielczej ND: T + 1, gotowość do 09:00 lokalnej TZ obszaru sprawozdawczego.
Incydenty: upuść priorytet P1, jeśli:- brakujące pliki rozliczeniowe PSP,
- duplikaty powodują nieprawidłowy segment ND,
- Rozbieżności masy FX.
- DRP: ponowne przetwarzanie ND poprzez ponowne spożycie zdarzeń w okresie o deterministycznym porządku.
11) Przykłady SQL (szablony)
11. 1. Obliczanie wartości WP według użytkownika i dnia
sql
WITH base AS (
SELECT user_id,
DATE(settled_at) AS d,
SUM(CASE WHEN type='DEPOSIT' AND status IN ('CAPTURED','SETTLED') THEN amount_reporting ELSE 0 END) AS dep,
SUM(CASE WHEN type='WITHDRAWAL' AND status='PAID' THEN amount_reporting ELSE 0 END) AS wd,
SUM(CASE WHEN type='REFUND' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS ref_dep,
SUM(CASE WHEN type='CHARGEBACK_DEBIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_deb,
SUM(CASE WHEN type='CHARGEBACK_CREDIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_cr
FROM dw. transactions_flat
WHERE settled_at >=:from AND settled_at <:to
GROUP BY 1,2
)
SELECT user_id, d,
dep - wd - ref_dep + cb_deb - cb_cr AS nd
FROM base;
11. 2. Flaga szybkich skrętów (nadużycia)
sql
SELECT t_dep. user_id, t_dep. id AS dep_id, t_wd. id AS wd_id,
EXTRACT(EPOCH FROM (t_wd. settled_at - t_dep. settled_at))/3600 AS hours_between,
t_dep. amount_reporting, t_wd. amount_reporting
FROM dw. transactions_flat t_dep
JOIN dw. transactions_flat t_wd
ON t_dep. user_id = t_wd. user_id
AND t_wd. type='WITHDRAWAL' AND t_wd. status='PAID'
AND t_wd. amount_reporting BETWEEN t_dep. amount_reporting0. 9 AND t_dep. amount_reporting1. 1
WHERE t_dep. type='DEPOSIT' AND t_dep. status IN ('CAPTURED','SETTLED')
AND t_wd. settled_at - t_dep. settled_at <= INTERVAL '24 hours';
11. 3. Segmentacja metodą/PSP
sql
SELECT method, provider,
SUM(CASE WHEN type='DEPOSIT' AND status IN ('CAPTURED','SETTLED') THEN amount_reporting ELSE 0 END) AS dep,
SUM(CASE WHEN type='WITHDRAWAL' AND status='PAID' THEN amount_reporting ELSE 0 END) AS wd,
SUM(CASE WHEN type='REFUND' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS ref_dep,
SUM(CASE WHEN type='CHARGEBACK_DEBIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_deb,
SUM(CASE WHEN type='CHARGEBACK_CREDIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS cb_cr,
SUM(CASE WHEN type='DEPOSIT' AND status IN ('CAPTURED','SETTLED') THEN amount_reporting ELSE 0 END)
- SUM(CASE WHEN type='WITHDRAWAL' AND status='PAID' THEN amount_reporting ELSE 0 END)
- SUM(CASE WHEN type='REFUND' AND status='SETTLED' THEN amount_reporting ELSE 0 END)
+ SUM(CASE WHEN type='CHARGEBACK_DEBIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END)
- SUM(CASE WHEN type='CHARGEBACK_CREDIT' AND status='SETTLED' THEN amount_reporting ELSE 0 END) AS nd
FROM dw. transactions_flat
WHERE settled_at BETWEEN:from AND:to
GROUP BY 1,2
ORDER BY nd DESC;
12) Wpisy i wyzwalacze (system operacyjny)
Spike ND na metodzie: drop ND> 30% d/d - sprawdź incydenty i blokady PSP.
Spike wg segmentu ND: wzrost ND> 50% w/w - jest prawdopodobne, że nowy aff. -source lub zresetować schemat.
Wysoki obrót ND-0 - wymuszona kontrola KYC/SoF.
Nieprawidłowy udział zwrotu/obciążenia zwrotnego w ND - audyt łańcucha „depozit → igra → vyvod”.
13) Najlepsze praktyki (krótkie)
1. Przeczytaj ND rozliczając daty i naprawić FX w momencie rozliczenia.
2. Sztywno oddzielić wewnętrzny transfer od pieniędzy gracza.
3. Wszystkie ręczne edycje - z reason_code i audytem.
4. Zasady zwalczania nadużyć finansowych dla szybkich skrętów i metod krzyżowych.
5. Dwa raporty: operacyjny T + 1 oraz zamknięcie finansowe (miesiąc/kwartał).
6. Wersioning logiczny: ND v1/v2 z migracją historycznych sklepów.
14) Częste pytania
P: Czy obalone wyniki się liczą?
Odp.: Nie. Tylko 'WITHDRAWAL _ PAID' oznacza WP.
P: Co zrobić z depozytem, który został autoryzowany, ale nie złapany?
Odp.: Nie włączaj do WP. To nie są prawdziwe wpływy.
P: Jak odzwierciedlić obciążenie zwrotne po dokonanym już wniosku?
Odp.: „CHARGEBACK _ DEBIT” doda negatywny wkład gracza (zasadniczo, platforma traci), ND wzrośnie przez obciążenie, ale końcowy raport finansowy powinien również pokazać stratę/koszt obciążeń zwrotnych.
P: Czy prowizje PSP muszą być odliczane od ND?
Odp.: Nie, ND jest metryką centralną gracza. Prowizje - w P & L.
15) Lista kontrolna wdrażania
- Autobus imprezowy z gwarancją idempotencji i dostawy
- prezentacja „transactions _ flat” z ujednoliconymi typami/statusami
- Normalizacja FX na osiedlu, oryginalne przechowywanie
- Zasady mapowania stanu PSP → statusy
- Codzienne uzgodnienie z PSP i alerty delta
- Deski rozdzielcze ND (ogółem, metodą, segmentem, kohortą)
- Polityka odpowiedzialnej zabawy i uruchomienie SoF oparte na WP
- Dokumentacja wzoru ND v1 i plan ewolucji v2
Podsumowanie
Net Deposits jest centralną metryką „prawdziwych” pieniędzy gracza w systemie. Poprawne ND wymaga ścisłych zasad uznawania (data rozliczenia), dokładnych wielu walutach, idempotencji zdarzeń, regularnego pojednania z PSP i wbudowanych wyzwalaczy zwalczania nadużyć finansowych. Tworzą jeden przewodnik statusu i typologię operacji - a WP stanie się niezawodnym wsparciem zarówno dla finansów, jak i odpowiedzialnej monetyzacji.