GH GambleHub

Dashbord支付KPI

TL;DR

一个行车记录仪分为三层:漏斗健康(Attempt→Auth→Capture),财务效率(TtW/TtR,Cost/GGR,FX)和基础设施可靠性(Webhook/Latency/Settlement)。秘诀是正确的计算基础,强制性细分(国家×提供者×方法× BIN × ticket_size × risk),阈值SLO和到达走廊时的现成花花公子。

1)对于谁以及我们要解决的问题

首席执行官/通用汽车(每天3-5分钟): "付款转换和收款速度正常?接受资金的成本得到控制?"

Payments/Treasury Head(每小时): "提供商/国家/方法在哪里?即时付款是否有足够的流动性?"

Fraud/Risk(每天): "AR考虑了防冻剂?Abandon на 3DS и Soft declines?»

支持/运营(在线): "什么样的退货和退货ETA?Webhooks挂在哪里?"

Finance/Recon (D+1): "按时结算?佣金和FX是否符合计划?"

2)主要指标和精确定义

2.1个支付漏斗

Attempt-启动付款。
Auth Approved-已批准的授权。
Captured-已成功注销。

公式(基数是事务数,除非另有说明):
  • `AR_gross = Auth_Approved / Auth_Attempted`
  • `AR_net = Captured_Tx / Auth_Attempted`
  • `Capture_Success = Captured_Tx / Capture_Attempted_Tx`
  • `Capture_Latency_p95 = p95(capture_ts - auth_ts)`

2.2调查结果和回报

Payout Success % = Success_Payouts / Attempted_Payouts

TtW p95 = p95(payout_credited_at - payout_initiated_at)

Refund Rate = Refunded_Tx / Captured_Tx

TtR p95 = p95(refund_credit_at - refund_initiated_at)

Refund Error % = Refund_Failed / Refund_Attempted

Refund_to_Source%-返回原始方法的百分比

2.3成本和FX

Cost/Tx = Fee_fixed + AmountFee_pct + FX_Spread

Cost/GGR = ΣCost / GGR

FX Slippage (bps) = (exec_px − mid_px)/mid_px × 10 000

2.4集成的可靠性

Webhook Delivery p95 (сек), Success %

API Latency p95/p99 (auth/capture/refund/payout)

Settlement Timeliness=在此期间进入声明的T+N/所有蹦床的蹦床

2.5 3 DS/摩擦(用于地图)

3DS Challenge Share = Challenge / 3DS_Total

Frictionless Share = Frictionless / 3DS_Total

Abandon on 3DS = 3DS_Started − 3DS_Completed

💡 重要:将操作AR(在防冻剂和用户abandon之后)与"原始"分开是具有不同目标的两个不同的指标。

3)切口和过滤器(最小设置)

Фильтры в шапке: `date range (UTC)`, `country`, `provider`, `method_group`, `BIN`, `device/os`, `ticket_size bucket (≤€50 / €50–200 / >€200)`, `risk_segment`, `kyc_tier`, `new_vs_returning`, `affiliate`.

图表/表格中的必修切口:
  • country×provider, BIN×country, method×provider, device/os, ticket_size.

4)主屏幕标记(布局)

1.KPI的最高标记(昨天/今天,与p7中位数的比较):

`AR_net`, `Capture_Success`, `Payout Success%`, `TtW p95`, `TtR p95`, `Cost/GGR`, `Webhook p95`, `Settlement Timeliness`.

2.Funnel(Attempt→Auth→Capture)具有段选择和故障原因显示(导轨上的ISO/顶部代码)。

3.Heatmap AR通过"乡村×提供者"和单独的BIN heatmap达到最高音量。

4.3 DS面板:Challenge/Frictionless/Abandon+与基准线的比较。

5.Payout & Refund Health: Success%, p95 (TtW/TtR), ошибки, Refund_to_Source %.

6.Cost&FX:方法Cost/GGR,站点FX slippage/fees。

7.集成可靠性:Webhook delivery p95/Success%、API latency p95/p99, Duplicate rate, Report delivery SLA。

8.事件面板:active alertes(参见第8节),failover状态和国库注释(L0, prefund)。

5)SLO和Alertes(走廊)

地标(针对投资组合/市场进行校准):
  • 'AR_gross'地图3DS2:82-92%(按细分市场);'AR_net' ≥ 80%
  • `Capture_Success` ≥ 98.5%(小时)
  • `Webhook p95` ≤ 3 с, Success ≥ 99.9%
  • `Payout TtW p95` instant ≤ 120 с;(T+1)-每天100% D+1
  • 'Refund TtR p95'卡≤ T+1 b.d.;instant ≤ 60 с
  • `Refund Error %` < 0.3%
  • `Settlement Timeliness` ≥ 99%
  • "成本/GGR"-通过方法定制的目标走廊
Alert触发器:
  • 7天中点"AR_gross↓> 3个百分点"(国家/PSP/BIN)→ P1/P0
  • `Capture_Success < 98%` (час) → P1
  • 'Webhook p 95>5 c'或副本>0 → P1
  • `Payout TtW p95 > SLO` или Success%<99% → P1
  • `Refund Error% > 0.3%` или `Double Refund > 0` → P0
  • `Settlement on-time < 99%` → P1
  • "Cost/GGR"通过P2方法从走廊→出

每位alert都会打开runbook'a(行动/上报/传单)卡。

6)公式和计算基础(详细信息)

所有股票-具有明确的基础:在"denominator"图尔蒂普中指定。
时间-在UTC;p-quantili: PERCENTILE_CONT。

"AR_clean"(运营)="Auth_Approved/( Auth_Attempted − Fraud_Preblocked − Abandon_3DS)"

`Net_Conversion` = `Captured_Tx / Auth_Attempted_Tx`

`Refund_to_Source %` = `Refund_to_Original_Method / Total_Refunds`

"Idle Cash%"(在国库迷你小部件中)="(Balance − Target_Balance )/Balance"

7) UX模式

顶部是KPI,下面是funnel+heatmaps,底部是集成和财务。
带有公式/基数/例外的Tultips(例如"反型后")。
比较线:p7中位数和"昨天"/"上周一"。
按点击进行演练:从heatmap到故障BIN→Issuer→kody表。
RCA的快照:后太平间的"固定"按钮。

8)花花公子(嵌入式动作卡)

Auth drop →切换智能路由,在BIN上提高3DS-challenge,并限制回程。
Webhook延迟→包括计费,冻结自动反射/危险汽车付款,提高等效性。
Payout降解→导轨操纵器,宝藏顶级,VIP优先级。
Settlement延迟→ StressRes,标记为"Suspense",在PSP中升级。
Refund错误/双打→ refund-freeze,和解,坚韧不拔。

(该卡包含支票单和升级联系人。)

9)数据模型(最低限度)


events/payments_flat:
payment_id, user_id, country, provider, method_code, action(deposit/refund/payout),
attempt_ts, auth_status, auth_ts, three_ds(flow, challenge_flag, started_ts, completed_ts),
capture_status, capture_amount, capture_ts, partial_flag,
refund_status, refund_amount, refund_initiated_ts, refund_credit_ts,
payout_status, payout_amount, payout_initiated_ts, payout_credited_ts,
fees_fixed, fees_pct, fx_spread, currency, amount,
risk_segment, kyc_tier, bin, asn, device_os, ticket_bucket

events/webhooks:
provider, event_kind, event_ts, delivered_ts, retries, duplicate_flag, idempotency_key

settlements/reports:
provider, batch_id, settlement_date, amount_settled, currency, fee_amount, status

treasury/pockets (mini-widget):
pocket_id, counterparty, currency, balance, target_balance, low_watermark, updated_at

索引:通过"provider","method_code","country","bin","event_ts"。

10) SQL切片(示例)

10.1漏斗和AR

sql
WITH base AS (
SELECT
DATE_TRUNC('hour', attempt_ts) AS h,
country, provider, method_code,
COUNT() FILTER (WHERE auth_status='ATTEMPTED') AS auth_attempted,
COUNT() FILTER (WHERE auth_status='APPROVED') AS auth_approved,
COUNT() FILTER (WHERE capture_status='CAPTURED') AS captured_tx
FROM payments_flat
WHERE action='deposit'
GROUP BY 1,2,3,4
)
SELECT h, country, provider, method_code,
auth_approved::decimal / NULLIF(auth_attempted,0) AS ar_gross,
captured_tx::decimal / NULLIF(auth_attempted,0)  AS ar_net
FROM base;

10.2 Webhook SLA

sql
SELECT
DATE_TRUNC('hour', event_ts) AS h, provider,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (delivered_ts - event_ts))) AS wb_p95_sec,
AVG(CASE WHEN retries=0 AND NOT duplicate_flag THEN 1 ELSE 0 END) AS wb_success
FROM webhooks
GROUP BY 1,2;

10.3 Refund & Payout Health

sql
SELECT
DATE_TRUNC('day', COALESCE(refund_initiated_ts, payout_initiated_ts)) d,
method_code, provider,
COUNT() FILTER (WHERE refund_status='ATTEMPTED') AS refund_attempted,
COUNT() FILTER (WHERE refund_status='SUCCESS')  AS refund_success,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (refund_credit_ts - refund_initiated_ts))) AS ttr_p95_sec,
COUNT() FILTER (WHERE payout_status='ATTEMPTED') AS payout_attempted,
COUNT() FILTER (WHERE payout_status='SUCCESS')  AS payout_success,
PERCENTILE_CONT(0. 95) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (payout_credited_ts - payout_initiated_ts))) AS ttw_p95_sec
FROM payments_flat
GROUP BY 1,2,3;

10.4 Cost/GGR

sql
SELECT
DATE_TRUNC('day', capture_ts) d,
method_code, provider,
SUM(fees_fixed + amountfees_pct + fx_spread) AS total_cost,
SUM(capture_amount) AS total_captured,
(SUM(fees_fixed + amountfees_pct + fx_spread) / NULLIF(SUM(total_captured),0)) AS cost_to_captured
FROM payments_flat
WHERE capture_status='CAPTURED'
GROUP BY 1,2,3;

11)附加屏幕

BIN Drilldown: AR/decline-codes, 3 DS摩擦,latency by发行人。
Provider Scorecard: SLA 度量、事件、积分、成本/GGR。
Treasury Snapshot:L0/L1残留物,预基金,StressRes,TtF补给。

Recon View: 定居时间,Aging非缝制蹦床,Fee accuracy.

12)数据质量i治理

具有转换的KPI字典(公式/基数/例外)。
单个TZ=UTC,p分量仅为CONT。
事件和Webhook的偶然性。
Tolerans 的时间/金额/FX政策(用于对账/潜伏期)。
CI中的数据测试:非空除数基数,时间戳单调性,空分数。

13)实施: 支票单

  • 定义了KPI/公式/基数并记录在字典中。
  • 对事件/注册表进行配置和规范化。
  • 建造了"payments_flat","webhooks","settlements","treasury"店面。
  • 实施了heatmaps,funnel,latency,payout/refund panels。
  • 设置了SLO和Alerta急流;与花花公子有关。
  • 访问角色:C级(只读摘要),Ops/Fraud (drill-down)。
  • 每周提供商QBR基于Provider Scorecard。
  • UAT测试集:演示dataset,p-quantiles验证,基数正确性,alerts。

14)常见错误

基地的混合("attempt"与"capture")→错误的结论。
没有"ticket_size"分段→扭曲的AR图像。
3 DS上的abandon忽略→提供商的"夸大"问题。
缺少webhook duplicates控制→双重动作。
不完整的settlement/Fees展示→ 无法评估成本/GGR。
没有SLO和花花公子,行车记录仪就变成了"无动于衷的展示柜"。

总结

Dashboard支付KPI是一种操作工具,而不仅仅是图形。它连接漏斗,金钱和基础设施,依靠清晰的公式和细分,产生自动信号,并立即提出行动。结果:上AR_net,走廊中的TtW/TtR,受控制的Cost/GGR,事件迅速本地化,并且与提供商的对话基于数字。

Contact

联系我们

如需任何咨询或支持,请随时联系我们。我们随时准备提供帮助!

Telegram
@Gamble_GC
开始集成

Email — 必填。Telegram 或 WhatsApp — 可选

您的姓名 可选
Email 可选
主题 可选
消息内容 可选
Telegram 可选
@
如果填写 Telegram,我们也会在 Telegram 回复您。
WhatsApp 可选
格式:+国家代码 + 号码(例如:+86XXXXXXXXX)。

点击按钮即表示您同意数据处理。