Net Deposits: cálculo e controle
1) O que é Net Deposits e o que eles precisam
Net Deposits (ND) é um investimento limpo do usuário em um período que leva em conta todos os fluxos de dinheiro «reversíveis». A métrica é crítica para:- economia unit (correlação ND com LTV, ARPU, NGR),
- jogos responsáveis (limites, autocontrole, fonte de fundos),
- risco e complacência (AML/sanções, anomalias),
- transações (priorização de pagamentos e bônus antiabuse).
Ideia básica
O jogador introduziu X (deposits), tirou Y (withdrawals). Tudo o que resta no ecossistema como «dinheiro realmente depositado» do jogador é o Net Deposits, ajustado para devoluções, charjbacks, cancelamentos e outras operações técnicas.
2) Fórmulas e limites de contabilidade
2. 1. Fórmula básica (nível de produto)
ND = Deposits
− Withdrawals − (successful, paid)
− Refunded Deposits
+ Chargeback Debits
− Chargeback Credits
± Reversal Adjustments
Explicações:
- Deposits - apenas inscritos com sucesso (captured/massled). Autorização sem capture posterior - Não contamos.
- Withdrawals - levamos em conta apenas os pagos (paid/massled). Os pedidos de ND rejeitados/cancelados não diminuem.
- Refunded Deposits - restituições de depósito na mesma origem (same-method).
- Chargeback Debits/Credits é um efeito puro de displicência (cancelamentos/devoluções).
- Reversal Adjustments - Correções técnicas (por exemplo, restituição de carteira «errada», duplicada estritamente).
2. 2. Extensões de contabilidade
Bónus e Free Bets: não são incluídos em Deposits; são empréstimos internos. No entanto, os cenários abuse (depósito por bónus → dinheiro instantâneo) devem reduzir o ND através de rápidos Withdrawals e/ou correções antifraud.
Comissões PSP: por padrão, não são deduzidas de ND (ND - «central de jogo»). Comissões em P & L.
Internal Transfer/Cross-Wallet (Esporte → Casino): ND não muda (este movimento dentro do equilíbrio).
Cancel Withdrawal: cancelamento não reduz ND (pois a conclusão não foi concluída).
Promotional Cashout/Manual Credit: O crédito da operadora não aumenta o ND.
Token/cripto: Conta pelo equivalente fiato no momento do setle (consulte multivalida).
Partial/Split Payments: O ND está crescendo a um valor que é realmente sensled.
2. 3. Limites do período
Opções de corte ND:- Activity-based (por 'massled _ at' transacção). Recomendado para relatórios financeiros.
- Request-based (por 'created _ at '/' requested _ at'): É adequado para análises de alimentos rápidas, mas não para comprimir.
3) Multivalência e avaliação de cursos
Todas as operações são exibidas em reporting currency (por exemplo, EUR) no curso no momento do setle.
Фиксируйте: `amount_original`, `currency_original`, `fx_rate_at_settle`, `amount_reporting`.
Para kripto, use o preço médio ponderado (VWAP) na fonte selecionada em 'massled _ at'.
Não superestimar ND histórico ao mudar de curso: guarde FX real no momento do evento.
4) Níveis de papel ND
ND _ user é um investimento limpo de um jogador específico.
ND _ segment - por países, canais, provedores de pagamento, afiliados.
ND _ cohort - por datas de inscrição/primeiro depósito.
A plataforma ND é uma plataforma ND total por período.
5) Políticas e exceções
5. 1. Regra de same-method & retorno à origem
Se o depósito A veio através do método M, a devolução do depósito é preferida fazer através de M até o valor do depósito. Isso reduz os riscos de AML e pagamentos cruzados em disputa.
5. 2. Ajustes internos
Qualquer ajuste manual deve ter reason _ código, auditoria trail e referência à operação inicial.
Os ajustes não devem mascarar loss-chasing/abuse.
5. 3. Ciclos de bónus
Assinale «bónus-driven ND» (depósito que ativou o bónus) com a bandeira. Construa relatórios de ND s/sem depósitos associados bónus.
6) Modelo de evento e esquema de dados
6. 1. Eventos-chave
`DEPOSIT_AUTHORIZED`, `DEPOSIT_CAPTURED`, `DEPOSIT_REFUNDED`
`WITHDRAWAL_REQUESTED`, `WITHDRAWAL_PAID`, `WITHDRAWAL_REJECTED`, `WITHDRAWAL_CANCELED`
`CHARGEBACK_DEBITED`, `CHARGEBACK_CREDITED`
`ADJUSTMENT_APPLIED` (тип: REVERSAL, TECH_FIX, FRAUD_CORRECTION и т. п.)
Todos os eventos são idempotentes ('idempotency _ key', 'event _ id'). Suporte a remessa exactly-once para o DWH através da dedução por 'event _ id'.
6. 2. Mini-esquema (simplificado)
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
Os resultados de ND são considerados agregados por 'tipo' e 'status', com filtros «apenas setled/paid/captured, onde aplicável».
7) Controle de qualidade de dados e acerto
7. 1. Confecção com PSP/Aquirer
Confecção diária de relatórios PSP com suas 'transmissões'.
Jogos por 'provider _ ref', somas, datas de setle, moedas e fee (para P&L).
As correspondências de tíquetes em Ops são «missing capture», «duplo refund», «late presentment».
7. 2. Anti-bla e idempotação
Controle: exclusividade por '(provider, provider _ tx _ id, tipo, massle _ data)'.
Auditoria individual de operações manuais ('ADJUSTMENT _ APPLIED').
7. 3. Integridade das Regras de Negócios
A saída 'PAID' sem histórico de depósito no método selecionado é uma bandeira vermelha.
A hora mais próxima de 'DEPOSIT _ CAPTURED' n' WITHDRAWAL _ PAID 'no mesmo valor: bandeira cinza (bônus-abuse).
8) Relatórios e dashboards
8. 1. KPI básico
'ND _ total' durante o período; 'ND _ per _ user', 'ND _ median';
A decomposição do ND por país, métodos, PSP, afiliados;
'ND _ 7/30/90' sobre as linhas de inscrição;
Cash Conversion Lag: Mediana de 'DEPOSIT _ CAPTURED' a 'WITHDRAWAL _ PAID'.
8. 2. Segmentos de risco
Jogadores com 'ND≈0' e alta circulação são candidatos a verificar a fonte dos fundos.
Página espelhada rápida (deposit→withdrawal) <N relógio - desencadeia investigação.
8. 3. Planos de análise
Produto (esporte/casino/live): onde o ND é mais «saudável».
Métodos de pagamento: falhas de ND no tráfego de frod em um método específico.
Campanhas/bónus: ND-uplift e pós-efeito é uma divisão.
9) Políticos antifrode e jogos responsáveis
Limites de depósito (daily/week/monthly) - nos relatórios ND, uma métrica de cumprimento.
Regras de Velocity: n depósitos> X em Y minutos + rápido em dinheiro = bloco/verificação manual.
Sanções/PEP/SoF: crescimento de ND acima do limite → Fonte de Funds obrigatório.
Mullocalização: compare geo/método/país bancário com o país KYC.
Self-exclusion: ND após exclusão deve ser estritamente 0; Qualquer tentativa é alert.
10) Processos e SLO
SLO de cálculo ND-dashbord: T + 1, pronto até 09:00 local TZ área de relatórios.
Incidentes - deixar cair a prioridade P1 se:- arquivos setlement PSP omitidos,
- Duplicar leva a um segmento ND inválido,
- divergências em massa FX.
- DRP: Reaprocessamento de ND através de eventos re-ingest durante o período de determinação.
11) Exemplos de SQL (modelos)
11. 1. Cálculo de ND por usuário e dia
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. Bandeira de páginas espelhadas rápidas
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. Segmentação de métodos/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) Alertas e desencadeadores (operacionalização)
Spike ND↓ no método: queda ND> 30% d/d - verificar incidentes PSP e bloqueios.
Spike por segmento: crescimento ND> 50% w/w - provável novo aff. - a fonte ou o esquema foi abraçado.
ND≈0 em alta rotação - Verificação KYC/SoF compulsória.
A participação anormal do Refund/Chargeback na ND é uma auditoria da cadeia «depozit→igra→vyvod».
13) Best pratices (curta)
1. Contar ND em datas setle e fixar FX no momento do setle.
2. Separar severamente internal transfer do dinheiro do jogador.
3. Todas as edições manuais são com reason _ código e áudio.
4. Regras antifrod para viradas rápidas e métodos cruzados.
5. Dois relatórios: T + 1 operacional e encerrador financeiro (mês/trimestre).
6. Versionização da lógica: ND v1/v2 com migração de vitrines históricas.
14) Perguntas frequentes
Q: Levar em conta as conclusões canceladas?
A: Não. Apenas 'WITHDRAWAL _ PAID' reduz o ND.
O que fazer com um depósito autorizado, mas não capturado?
A: Não incluir ND. Não são receitas reais.
Q: Como refletir a marceback depois da conclusão?
A: 'CHARGEBACK _ DEBIT' adicionará a contribuição negativa do jogador (basicamente a plataforma perde), o ND aumentará para o débito, mas o relatório financeiro final também deve mostrar perda/consumo de charjbacks.
É preciso subtrair as comissões PSP do ND?
Não, ND é uma métrica de jogo-central. Comissões em P & L.
15) Folha de cheque de implementação
- Pneu de evento com idimpotência e garantia de entrega
- Vitrine 'transacções _ flat' com tipos/estatais unificados
- Normalização FX em setle, armazenamento de originais
- Regras de maping de estatais PSP → suas estatais
- Confecção diária com PSP e alertas para delta
- Dashboards ND (compartilhados por métodos, segmentos, cômodos)
- Políticas de jogo responsável e desencadeadores SoF baseados em ND
- Documentação de fórmula ND v1 e plano de evolução v2
Currículo
Net Deposits é a métrica central do «real» dinheiro do jogador no sistema. O ND correto requer regras rígidas de reconhecimento (setle-data), multivestência cuidadosa, idempotação de evento, confecção regular com PSP e trigos antifrod incorporados. Crie um guia único de status e tipologia de transações - e o ND será um suporte confiável tanto para as finanças como para a monetização responsável.