Net Deposits:计算和控制
1)什么是Net Deposits,为什么需要它们
Net Deposits(ND)是计入所有"反向"现金流后的净用户投资。度量标准对于:- 单位经济学(ND与LTV,ARPPU,NGR的相关性),
- 负责任的游戏(限制,自我控制,资金来源),
- 风险和合规性(AML/制裁、异常),
- 交易(优先支付和反资产奖金)。
基本想法
玩家贡献了X(deposits),带出了Y(withdrawals)。作为玩家"实际投入的钱",生态系统中剩下的只是净存款,调整了退款,charjbacks,取消和其他技术操作。
2)公式和会计界限
2.1.基本公式(产品级别)
ND = Deposits
− Withdrawals − (successful, paid)
− Refunded Deposits
+ Chargeback Debits
− Chargeback Credits
± Reversal Adjustments
说明:
- Deposits-仅成功归纳(捕获/定位)。没有后续捕获的授权-我们不考虑。
- Withdrawals-仅考虑已付款(付费/定位)。被拒绝/取消的ND申请不会减少。
- Refunded Deposits-向同一来源(same-method)退还押金。
- Chargeback Debits/Credits-净分配效应(退款/退款)。
- Reversal Adjustments-技术校正(例如,从"有缺陷"的钱包中退回,重复的)。
2.2.会计扩展
奖金和Free Bets:不在Deposits中;这些是国内贷款。但是,粗略的场景(用于奖金的押金→即时缓存)必须通过快速的Withdrawals和/或通过防盗校正来降低ND。
PSP佣金:默认情况下不会从ND中减去(ND是"玩家中心"度量)。佣金-在P&L。
Internal Transfer/Cross-Wallet(体育→赌场):ND不会改变(这是平衡内的运动)。
Cancel Withdrawal:取消不会减少ND(毕竟没有发生输出)。
Promotional Cashout/Manual Credit:运营商的现金贷款不会增加ND。
代币/加密:在定居时按法定等效数计数(请参见多货币性)。
Partial/Split Payments:ND增长到实际定位的金额。
2.3.该时期的边界
ND的"切片"变体:- 基于活动的(通过"settled_at"事务)。建议用于财务报表。
- 基于Request(通过"created_at"/"requested_at"):适合快速的产品分析,但不适合进行对账。
3)多重货币性和课程评估
在结算时,所有操作均按路线在报告货币(例如EUR)中绘制。
Фиксируйте: `amount_original`, `currency_original`, `fx_rate_at_settle`, `amount_reporting`.
对于加密:在"settled_at"的选定源上使用加权平均价格(VWAP)。
改变课程时不要高估历史ND:在事件发生时保留实际的FX。
4)ND角色级别
ND_user是特定玩家的净附件。
ND_segment国家/地区,渠道,付款提供商,会员。
ND_cohort-按注册/首次存款日期。
ND_platform是该期间平台的通用ND。
5)政策与例外
5.1.same-method规则&返回源
如果存款A是通过方法M到达的,则最好通过净存款的金额通过M退款。这降低了AML和有争议的交叉付款的风险。
5.2.内部调整
任何手动调整都必须具有reason_code,审核跟踪和主要操作链接。
调整不应掩盖失真/失真。
5.3.奖励周期
标记"bonus-driven ND"(激活奖金的押金)标志。建立ND报告,提供/不提供奖金相关存款。
6)事件模型和数据图
6.1.主要事态发展
`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 и т. п.)
所有事件都是幂等的("idempotency_key","event_id")。通过"event_id"重复数据消除支持DWH中的exactly-once交付。
6.2.迷你电路(简体)
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
ND总数被认为是"类型"和"状态"的聚合,其中过滤器"仅在适用时设置为/paid/captured。"
7)数据质量控制和核对
7.1.与PSP/Acquirer的对账
每日PSP报告(settlement files)与您的"交易"对账。
以"provider_ref",金额,定日日期,货币和fee(对于P&L)进行比赛。
Ops中的不匹配→字幕:"missing capture","double refund","late presentment"。
7.2.反缓冲和幂等
控制:"(provider,provider_tx_id,类型,settle_date)"的唯一性。
手动操作日志的单独审核("ADJUSTMENT_APPLIED")。
7.3.业务规则的完整性
在所选方法中没有存款历史记录的"PAID"输出是红旗。
相同金额的"DEPOSIT_CAPTURED" → "WITHDRAWAL_PAID"是灰色标志(奖励标签)。
8)报告和dashbords
8.1.基本的KPI
该期间的"ND_total";"ND_per_user","ND_median";
按国家,方法,PSP,关联分解ND;
登记队列中的"ND_7/30/90";
Cash Conversion Lag:中位数从"DEPOSIT_CAPTURED"到"WITHDRAWAL_PAID"。
8.2.风险细分
具有"ND≈0"和高营业额的玩家是测试资金来源的候选人。
快速掉头(deposit→withdrawal) <N时钟是调查的触发因素。
8.3.分析平面
产品(体育/赌场/直播):其中ND最为"健康"。
支付方法:ND在特定方法上的交通故障。
活动/奖金:ND-uplift和取消后的效果。
9)反部落政治家和负责任的游戏
存款限额(每日/每周/每月)-在ND报告中以单独的合规度量。
Velocity规则:n个存款>X每Y分钟+快速缓存=块/手动检查。
制裁/PEP/SoF:ND高于门槛→强制性基金来源。
Mullocalization:将地理/方法/银行国家与KYC国家进行比较。
自我释放:排除后的ND必须严格0;任何尝试都是alert。
10)流程和SLO
ND-dashbord: T+1,准备就绪直至09:00本地TZ报告区。
事件:在以下情况下放弃P1优先级:- 错过了PSP设置文件,
- 重复导致段的ND不正确,
- FX的巨大差异。
- DRP:在确定性顺序期间通过re-ingest事件重新处理ND。
11) SQL示例(模板)
11.1.按用户和日期计算ND
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.快速掉头标志(abuse)
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.方法细分/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)Alerta和触发器(操作员)
Spike ND↓方法:ND下降>30% d/d-检查PSP事件和锁定。
Spike ND↑细分市场:ND增长>50% w/w-可能出现新的变形。-源或电路包裹。
高周转ND≈0-强制KYC/SoF检查。
Refund/Chargeback在ND中的异常份额是"depozit→igra→vyvod"链审计。
13)最佳实践(简称)
1.按设置日期计算ND,并在设置时记录FX。
2.硬将内部转移与玩家的钱分开。
3.所有手动编辑都经过reason_code和审核。
4.针对快速掉头和交叉方法的反性别规则。
5.两份报告:运营T+1和财务结算(月度/季度)。
6.逻辑转换:ND v1/v2与历史展示的迁移。
14)常见问题
问:是否考虑取消的调查结果?
答:没有。只有"WITHDRAWAL_PAID"减少了ND。
问:已授权但未扣押的存款该怎么办?
答:不包含在ND中。这不是真正的收入。
Q:在已经得出结论之后,如何反映充电器?
答:"CHARGEBACK_DEBIT"将增加玩家的负面贡献(本质上是平台亏损),ND将增加借记,但最终财务报告也必须显示冲锋队的亏损/支出。
问:是否需要从ND中减去PSP佣金?
答:不,ND是以玩家为中心的指标。佣金-在P&L。
15)实施支票
- 具有等容性和交付保证的事件总线
- 具有统一类型/状态的"transactions_flat"展示柜
- 设置为FX正常化,存储原件
- PSP状态映射规则→您的状态
- 每日与PSP和三角洲的Alerta对账
- Dashbords ND(一般,方法,分段,队列)
- 负责任的游戏策略和基于ND的SoF触发器
- ND v1公式文档和v2进化计划
总结
Net Deposits是系统中"真实"玩家金钱的中心度量标准。正确的ND需要严格的识别规则(定日日期),整洁的多重性,事件幂等,定期与PSP进行对账以及内置的反亲和触发器。形成统一的状态目录和运营类型-ND将成为金融和负责任货币化的可靠支柱。