WinUpGo
搜索
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
加密货币赌场 加密赌场 Torrent Gear是您的通用洪流搜索! Torrent Gear

A/B评分规则测试

得分是任何游戏化的核心。玩家行为,参与结构和经济学取决于积分的确切价值(ARPPU,奖金)。下面是一个实际的配方,如何有效测试新的眼镜规则,并确保指标的生长是真实的,而不是人工制品。


1)我们到底要测试什么

规则示例:
  • 根据投注总额:每1欧元投注1分。
  • 按乘数win/bet:分数=⌊乘数× k ⌋,每个出价。
  • 混合动力车:"系列"(连续N旋转)的营业额得分+嘘声,每分钟/每小时的帽子。
  • 任务:执行任务的虚构点(T1...Tn),具有越来越大的复杂性。

假设(示例): ""乘数+cap"模型将提高participation_net和完整率而不会降低Net ARPPU(奖金/奖金之后)。"


2)实验单位和随机化

单位:用户(不是会话,不是设备)。

分布:固定盐分的静态哈希(user_id → bucket);A/B/C所占比例50/50或33/33/33。

分层(建议):payer-status(新支付/重新支付/不支付)、平台、地理位置。

调整:用户在测试过程中总是看到相同的规则。

SRM (Sample Ratio Mismatch)检查:每天检查预期组的实际比例(卡方)。SRM是流量泄漏,过滤错误,错误的信号。


3)度量标准和"眼镜漏斗"

活动和参与

Reach:看到活动者的份额。

Participation_gross:介入/eligible。

Participation_net:开始进步/eligible。

完成:完成/开始。

质量和金钱

ΔDAU/WAU и stickiness (DAU/WAU).
  • Avg Bets per Session, Avg Bet Size.
  • ARPPU (net) = ARPPU − (Prize + Bonus Cost per payer).
  • Avg Deposit, Paying Share.

Net Uplift:(额外收入)−(奖品+奖金+运营+流失)。

花园花园

投诉/技术支持1,000 user,KYC豁免,异常投注模式,RG标志(限制,自我体验)。


4)持续时间、季节性和新颖性

至少有2个完整的业务周期(例如2个星期的时间来捕捉周末)。

考虑新颖效应:前48-72小时的激增。捕获和分析阶段(D0-D2,D3-D7,D8+)。

不要与大型促销相交,或者计划按组进行"等噪音"。


5)采样功率和量(计算示例)

目的:检测平均每位用户眼镜(或Net ARPPU)的Δ差异。

两次t测试的公式(分组均等):
[
n_{\text{na组}}=\frac {2, (z_{1-\alpha/2}+z_{1-\beta})^2,\sigma^2} {\Delta^2}
]

示例:我们要抓住Δ=5分,σ=120,α=0.05(双向),功率为80%(β=0.2)。

(z_{1-α/2}=1{,}96)、(z_{1-β}=0{,}84) →总计2.8 → 平方7.84。

(\sigma^2 = 14,400).

(n =\frac {2\times 7{,}84\times 14400} {25}\approx\frac {225.792} {25}\approx 9.032)。

💡 底线:每个组~ 9,100个用户(具有扑杀和防冻备份)。

6)减少方差: 使测试"便宜"

CUPED:对测试前协变量的回归调整(例如,过去一周的积分/利率)。

协变量:付费标志,营业额的日志转换,活动,平台,地质。

错误聚类:在用户级别(内部重复会话)。


7)干扰和"海峡"

积分规则不仅会影响测试参与者:
  • 社会比较(leadbord通用)→ "spillover"。
  • 通用头奖/联合任务→交叉效果。
解决方案:
  • 按组划分的领导板或隐藏的积分正常化。
  • 按流量/地理群集进行群集随机化(更贵但更清洁)。
  • Per协议(ITT)+敏感分析。

8)Antifrod和Caps统治

眼镜的任何变化都会刺激优化:微观投注,博达和"眼镜场"。

最低限度保护:
  • 每分钟/每小时/每小时和一次下注。
  • 最低利率波动(禁止"理想"序列)。
  • 无头/重复指纹检测,代理。
  • 推迟验证+KYC大奖。
  • 分析:比较"积分/投注"和"积分/分钟"分布,寻找尾巴。

9)事件和数据模式(最低限度)

事件:
  • `session_start {user_id, ts, platform}`
  • `event_view {user_id, event_id, ts}`
  • `event_join {user_id, event_id, ts}`
  • `points_awarded {user_id, event_id, rule_id, amount, source, ts}`
  • `mission_progress {user_id, mission_id, step, value, ts}`
  • `mission_complete {user_id, mission_id, ts}`
  • `bet {user_id, game_id, bet, win, ts}`
  • `deposit {user_id, amount, ts}`
参考书:
  • `rules {rule_id, name, params, caps_minute, caps_hour, caps_day, version}`
  • `assignments {user_id, test_id, group, assigned_at}`

10)用于分析的SQL草图

SRM验证(按组分布):
sql
SELECT group, COUNT() AS users
FROM assignments
WHERE test_id =:test
GROUP BY group;
-进一步的卡方与预期份额
分组Participation/Completion:
sql
WITH eligible AS (
SELECT user_id FROM users
WHERE last_active_at >=:start - INTERVAL '14 day'
), joined AS (
SELECT DISTINCT user_id FROM event_join
WHERE event_id =:event AND ts BETWEEN:start AND:end
), started AS (
SELECT DISTINCT user_id FROM mission_progress
WHERE ts BETWEEN:start AND:end AND mission_id IN (:missions)
), completed AS (
SELECT DISTINCT user_id FROM mission_complete
WHERE ts BETWEEN:start AND:end AND mission_id IN (:missions)
)
SELECT a.group,  COUNT(DISTINCT j.user_id)::float/COUNT(DISTINCT e.user_id) AS participation_gross,  COUNT(DISTINCT s.user_id)::float/COUNT(DISTINCT e.user_id) AS participation_net,  COUNT(DISTINCT c.user_id)::float/NULLIF(COUNT(DISTINCT s.user_id),0) AS completion
FROM eligible e
JOIN assignments a USING (user_id)
LEFT JOIN joined j USING (user_id)
LEFT JOIN started s USING (user_id)
LEFT JOIN completed c USING (user_id)
WHERE a.test_id =:test
GROUP BY a.group;
Net ARPPU和奖金/奖金成本:
sql
WITH payors AS (
SELECT DISTINCT user_id FROM payments
WHERE ts BETWEEN:start AND:end
), rev AS (
SELECT user_id, SUM(ggr) AS ggr
FROM revenue
WHERE ts BETWEEN:start AND:end
GROUP BY user_id
), costs AS (
SELECT user_id, SUM(prize + bonus) AS cost
FROM promo_costs
WHERE ts BETWEEN:start AND:end
GROUP BY user_id
)
SELECT a.group,  AVG(COALESCE(r.ggr,0) - COALESCE(c.cost,0)) FILTER (WHERE p.user_id IS NOT NULL) AS net_arppu
FROM assignments a
LEFT JOIN payors p USING (user_id)
LEFT JOIN rev r USING (user_id)
LEFT JOIN costs c USING (user_id)
WHERE a.test_id =:test
GROUP BY a.group;
CUPED(示例):
sql
-pre_value:面试前的分数/收入;value:在测试期间
SELECT group,    AVG(value - theta pre_value) AS cuped_mean
FROM (
SELECT a.group, x.user_id, x.value, x.pre_value,     (SELECT COVAR_SAMP(value, pre_value)/VAR_SAMP(pre_value)
FROM x) AS theta
FROM assignments a
JOIN x ON x.user_id = a.user_id
WHERE a.test_id =:test
) t
GROUP BY group;

11)私人效应和异质性

检查HET效果:
  • 初学者vs核心,低价值vs高价值,不同的平台/地质。
  • 有时,新的眼镜配方"点燃"中核心而不改变鲸鱼是正确的结果。
  • 进行分段注册以避免捕获"p-hacking"。

12)频繁陷阱

1.所有群体的共同领导层→干涉。

2.在测试期间更改奖品结构→不可比性。

3.微量投注眼镜的农场→不有效的uplift。

4.ETL中的SRM和"浮动滤波器"→偏移分数。

5.依靠"陷入困境"的ARPPU而不扣除奖金/奖金。

6.由于没有正确的一致统计数据的流动而导致的早期停止。


13)Bayes vs频率和顺序解决方案

框架:可以使用贝叶斯方法(后周期度量差,概率"B优于A"),尤其是在时间监控中。

小心:眼镜规则的bandites在确认的uplift之后是合适的--在操作阶段,在初级验证中。


14)负责任的游戏和合规性

透明规则和帽子:玩家必须了解如何获得积分。

活动和存款限制,"暂停"和RG线索。

没有隐藏的游戏风格的"罚款"。


15)迷你桉例(合成)

上下文:每周活动,A="每1个投注的积分",B="乘数分数win/bet, cap=50/投注"。

规模:2 × 10 000个用户,按支付状态分层。SRM-c。

结果是:
  • Participation_net: A 17,3% → B 22,1% (+4,8 п.п.).
  • Completion: A 38,9% → B 44,0% (+5,1 п.п.).
  • Net ARPPU:Prize+Bonus per payer的41.2 → B欧元43.5(+2.3欧元)≈ 6.4欧元(未变)。
  • 投诉/1k:不变;frod-flag ↓0,3 p.p.以牺牲帽子为代价。
  • 结论:规则B是获胜者;我们使用奖品的"长尾巴"进行缩放,并保留帽子。

16) A/B按积分排列的发射清单

  • 单位=用户,粘贴分配,分层。
  • 分开的领导板/正常化以消除干扰。
  • 清晰的帽子在眼镜,反机器人信号,KYC主要奖牌获得者。
  • 假设和指标的预记录(初级/次级/guardrails)。
  • 电力和持续时间计划,季节性考虑在内。
  • CUPED/协变量连接,引导线SRM-alert。
[] Дашборд «Reach → Participation → Progress → Completion → Value».
  • 报告:奖金/奖金后的现金内化,后效应的尾巴。

计分规则是一种行为杠杆。通过正确设计的A/B测试(没有SRM,带有防冻剂和协变量),可以安全地增加参与,完善和Net ARPPU,同时保持玩家信心和战役经济性。

× 按游戏搜索
请输入至少 3 个字符以开始搜索。