“事后达尔文”—— 游戏业务效果评估方法实践

news2024/12/25 9:14:40

作者:vivo 互联网数据分析团队 Luo Yandong、Zhang Lingchao

本文介绍了互联网业务数据效果评估的几种常见问题及方法,并基于分层抽样的逻辑优化出一套可应用于解决用户不均匀的“事后达尔文"分析法,可适用于无法AB测试或人群不均匀的AB测试等场景下的效果评估中,本文会基于实际应用案例,来给大家仔细阐述相关方法模型的思考过程,实现原理,应用结果,希望能够帮助大家,如果能对大家在各自领域中的业务效果评估有所助益的话,那就更棒了!

一、引言

游戏业务作为公司重点的创收团队,为了更好的达成营收结果,需要不定期地开展各类运营活动来促进玩家付费转化、提升玩家付费水平,这就要求我们游戏数据分析师采取科学有效的分析模型,准确洞察分析各类运营策略的价值与收益,及时控制风险与优化后续运营方案。

而在实际的分析工作中,我们通常会碰到各种各样的业务及数据上的问题,逼迫我们不断迭代优化分析模型,产出更有价值更科学有效的结论建议。

如下案例,就是我们曾经碰到的一个典型问题——算是“辛普森悖论”[1]在游戏业务的一个实际体现:受不同月份游戏业务用户付费分布不均匀变化的影响,业务效果评估重要指标利润率(利润/流水),在整体和分游戏类型的场景下的数据表现完全互斥。

近三年来,我们持续地开展业务效果评估,在发现并解决问题的过程中不断总结经验及数据结论,最终优化迭代出“事后达尔文”分析方法论,从而有效解决游戏业务中效果评估的各项困难。

本文将从游戏业务效果评估的诸多问题出发,阐述分析方法的发展历程及数据逻辑原理,以及在游戏业务中具体的解决方案实践,来完整介绍“事后达尔文”的思考过程与应用落地,并展望更多应用场景。

二、游戏业务效果评估常见问题一览

游戏业务效果评估中常见的问题有如下这些难点:

  • 游戏业务受节假日自然因素影响大,如何剔除?比如十一、春节期间玩家自发的付费增长同活动影响的关系?

  • 部分活动存在参与门槛,如何保障研究人群的一致性?比如返利活动中需消费达标才能获取礼券的参与门槛,未参与玩家天然付费能力弱一档的问题。

  • 整体与局部的效果差异的问题,如何解读?比如引言中网游单机利润率下降但整体利润率提升的问题。

  • vivo的游戏营销类活动,一直致力于公平公正,绝对禁止杀熟,因此都需保持统一折扣力度,无法实现AB测试,如何持续优化迭代?

  • 游戏业务中营销活动往往能冲刺短时间的付费增长,但是后期受玩家实际收入能力影响存在回落的风险,如何有效论证活动的长期正向价值?比如双11期间开展的电商活动,明显影响了前一个月及后一个月的用户正常消费水平。

以上诸多难点问题,都衍生于业务的实际运行过程中,需要我们分析师基于一套切实可行的方法论进行解决。

三、效果评估分析方法的发展

3.1 什么是效果评估

业务团队为了提升相关指标,如流水、利润等,而开展的如满减,返利,打折,促销等活动,在一段时间内让玩家、用户更多的参与、消费,来提升对应的指标。

而我们分析师就需要及时的研究清楚,这些业务动作带来了怎样的实质性的业务提升,以及如何形成更多优化空间,这就是效果评估的核心内容与价值。

3.2 效果评估方法的发展阶段

判断业务效果,我们通常会细分很多指标,比如参与率、投入产出比、流水、利润等。但我们最关心的往往是指标增量,这是一个相对概念,核心就在于如何对比。为此,行业内通用的分析方法有如下几种:

1. 时序比对法

通过观察活动前后的增长变化,如本周末开展的活动,那我们看本周末的流水去比对上周末的流水,来判断活动的增量;

2. 自然过滤法

受节假日等季节因素影响,本周和上周会有自然变化因素,为了过滤自然因素影响,我们将活动参与人群与未参与人群拆解开,将自然时间变化计算为未参与人群的本周流水比对上周流水的数值,最终按活动增量减去自然变化情况来作为最终增量;

3. AB测试

基于均匀分层情况下的严格AB测试实验,部分游戏/门店开展活动,部分不开展,以不开展活动的部分增长作为自然增长,这样也可以计算出最终的增量。

但是存在如下风险

①无法保证用户均匀分布;

②活动开展较复杂,且存在客诉风险,玩家不易接受,且损失部分活动增量,不利于目标达成。

4. 事后达尔文

集合方法2、3的各自优势,我们将参与活动人群/未参与人群,基于均匀分层的逻辑,按上周末arpu等指标拆解分层,保障对比对象的相对公平,计算各分层内参与人群的增长-自然增长(同分层未参与人群的增长),最终汇总整体结果。

如下示例:

3.3 各方法的优劣对比及适用场景说明

注:“事后达尔文”由数据分析团队成员于2019年研究出相关分析方法,并于2020年整理并取名为“事后达尔文”。

四、“事后达尔文”的分析方法论

在介绍数据方案设计前,先介绍一下“事后达尔文”的分析思路和方法论,帮助大家更好地理解本文。

4.1 确认研究对象

 研究对象分两部分——人群和指标

(1)人群

包含参与活动的人群、未参与活动的人群。参与活动的人群受到活动、季节因素的综合影响;未参与活动的人群主要受季节因素的自然变化影响,如十一前和十一期间的自然付费增长。

(2)研究指标

我们一般选择核心关注的如人均流水ARPU、人均礼券(游戏业务活动核心目标)。其他场景亦可按核心关注指标开展研究,如产品测试场景的点击率等。

4.2 分人群时间对比

 基于我们的研究人群(参与活动与未参与活动的人群),在活动前、活动期的研究指标(流水、利润)表现情况,如下图:

其中:

C1=A*(A4-A3*(B4/B3)); 

C2=A*(A2-A1*(B2/B1));

因通常情况下,主动参与我们活动的玩家会有更积极主动的活跃、付费等行为特征,导致玩家A、B人群并不符合均匀分布的特征,故B玩家人群的自然季节因素变化无法完全代表A玩家人群的自然变化,最终导致无法完全科学合理的体现出活动玩法对A人群的增量。

4.3 人群均匀分层对比

我们为保障玩家人群B的自然变化能反映A玩家人群的水平,在核心研究的指标逻辑下,将A、B玩家人群做均匀的拆分,参考游戏业务活动中,按照活动前人均付费水平拆分(其他场景也可基于其核心指标拆分,如点击率分发效率等)。

其中:

C1=A*(A4-A3*(B4/B3)); 

C2=A*(A2-A1*(B2/B1));

C=sum(C1:Cn);D=sum(D1:Dn);

为保障以上分析结果真的均匀,我们会对每一分组做相应的验证,如上初始人群差异,若人群差异绝对值>=5%,则判断置信度不足,对应分组人群活动影响不单独做评估。

4.4 结果评估

基于以上分层逻辑后,我们即可得到对应置信分组下,参与人群的指标变化率,未参与人群的指标变化率,二者相减即得到活动策略影响的增量变化(可正可负),汇总之后,即可得到整体增量变化,即为整体的活动影响。

特别说明

  1. 通常情况下,置信度不足的分组人群,如果相关人群/流水比重过大,无法忽略影响的话(如超过10%),则会按照置信分组的总增量变化率来作为该分组的增量测算,此处仅供参考;

  2. 参与活动人群规模较未参与差距过于悬殊,如<1:10的情况下,可考虑对B人群以抽样的方式来实现以上的效果。

五、实际分析案例

5.1 某年端午活动数据效果分析

5.1.1 背景信息:

端午期间开展了充值不同档位可领取不同礼品的活动,如100元档、1000元档、4000元档等。(非实际案例)

5.1.2 前置分析:

  1. 主动参与的玩家,有较强的充值能力和欲望,对应效果研究需排除过滤这种充值能力上的差异;

  2. 活动面向全体玩家,无法开展ABtest,也不一定适宜差异化策略;

  3. 游戏充值玩家存在活动期大幅拉收,活动后消费降级的风险,所以整体研究中需考虑活动中+活动后的总体增量情况;

  4. 有活动曝光的用户内部仍有较大差异,未参与活动(即未领奖)用户表明这些用户对本次礼包活动没有兴趣,本身付费倾向较低,而参与活动用户则有较强付费意愿。

5.1.3 分析结果:

  1. 整体有无曝光对比:从整体看,有活动曝光用户的付费提升显著高于无曝光用户,且在低付费档位的提升效应更为显著;

  2. 有曝光用户内部对比:有活动曝光但无领奖用户本身为游戏的低付费意愿用户,因此后向付费甚至不及无曝光用户,而活动对参与的用户有明显的付费刺激作用。

5.2 某年游戏预约版本效果分析 

5.2.1 背景信息:

(1)受国家版号政策的紧缩,游戏业务的稳定增长体现在老游戏的持续迭代上,而其拉新、回流、留存的节点,都围绕在重大版本更新节点上。所以我们有产品通过版本更新功能,提前将游戏新的玩法/内容/活动传递给用户,以提升游戏节点表现。

(2)我们vivo的版本预约已做了有段时间,但始终没有一个较为严谨的实验对比和数据分析,验证做这件事为平台带来的增量价值。故我们使用“事后达尔文”的分析方法对其展开了相应研究。

版本页面样式参考如下:

5.2.2 前置分析思考:

  1. 预约与非预约用户,除了在预约行为上存在差异,还存在版本信息感知上的差异,主要体现在活跃频次上,需要逐步进行对比分析;

  2. 中心灰度放量提供了是否感知版本信息的两类人群对比,但灰度本身对用户的中心版本、手机性能和中心使用行为有要求,导致灰度用户在游戏内的活跃付费天然优于非灰度用户。

5.2.3 分析结果:

  1. 版本信息感知价值:提前感知版本信息的用户在版本更新后向付费有提升,总体付费约高于无版本预约感知用户6%,且在高活跃天频下付费与无感知用户拉开差距;

  2. 主动预约行为的价值:版本更新后预约用户付费相比仅感知无预约用户,其提升更为明显。

六、总结和展望

对于游戏业务效果评估中面临的各类问题,我们借鉴过往经验,经过不断尝试和探索,基于用户分层的逻辑,拆解用户,将保持同一核心特征的用户放在一个水平线上进行对比,开发出“事后达尔文”的解决方案,并在解决游戏业务效果评估中取得长期较好效果。我们近期也有在推动大数据将相关的分析方法模型,结合游戏业务用户运营的实际特点,进行模型线上化,届时将更加快速便捷的完成活动策略的效果评估,给到业务方更及时有效的支持。

本文希望能让大家更了解游戏业务分析工作的实践情况,能对大家不同业务的分析评估工作有一些直观的参考价值。当然,方案中的具体模型细节、风险排查等无法完完全全的写出,也由衷欢迎感兴趣的朋友们和笔者一起探讨交流,谢谢大家!

参考文献:

  1. 赵焕光、章勤琼、王迪著《真理相遇统计》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VCO的设计

理想振荡器只有电感和电容&#xff0c;会一直振荡下去。但是实际的振荡器存在一定的寄生电阻并联在RC两端&#xff0c;会使振幅变小。因此需要RC旁边再并联一个负电阻以此来抵消寄生电阻的影响。一般会选择负阻提供的能量为寄生电阻能量的的2-3倍。如果负阻跟RC并联&#xff0c…

剖析float相加产生精度损失的原因

float相加产生精度损失的原因 一、什么是float类型及其特点1.1、float类型的定义和使用方法1.2、float类型的特点&#xff0c;包括精度限制 二、为什么会出现float相加精度损失2.1、计算机二进制存储浮点数的方式2.2、浮点数运算中的舍入误差2.3、累加多个小数时的误差累积 三、…

kali中Metasploit基本使用方法

1.kali启动postgresql并设置开机自启动 systemctl start postgresql.servicesystemctl enable postgresql.service2.kali启动Metasploit 方式一:应用程序 -> 漏洞利用工具集 -> Metasploit framework 方式二: msfconsole 3. Metasploit常用命令 connect 命令 连接远程主…

Qt信号槽之connect介绍(上)

关于Qt信号槽中connect与disconnect介绍 首先我们要知道&#xff0c;如果想要使用Qt中的信号槽机制&#xff0c; 那么必须继承QObject类&#xff0c;因为QObject类中包含了信号槽的一系列操作&#xff0c;今天我们来讲解的是信号与槽怎么建立连接以及断开连接。 一、connect …

在windows server上用Mosquitto软件创建MQTT服务器

今天下午捣鼓了半天&#xff0c;在云服务器上面创建了个MQTT服务器&#xff0c;然后用MQTTX软件进行了测试。过程记录如下&#xff1a; 1、下载mosquitto软件&#xff0c;链接如下图&#xff1a; 2、下载完成后安装&#xff0c;一直点下一步下一步就好了。 3、在安装路径下&am…

快速捡回使用workbench控制mysql创建数据库的基本步凑

首先如果&#xff0c;不想要在原来已经建好的数据库下建立数据表&#xff0c;可以新建数据库。 具体操作步凑如下&#xff1a; 选择后如下所示&#xff1a; 有现成的创建代码的话&#xff0c;就直接复制执行现成的创建代码即可&#xff0c;如果没有现成的创建代码的话&#xff…

Java设计模式之单例模式-【懒汉式与饿汉式】

1、单例&#xff0c;模式 单例模式属于创建型模式的一种&#xff0c;应用于保证一个类仅有一个实例的场景下&#xff0c;并且提供了一个访问它的全局方法 单例模式的特点&#xff1a;从系统启动到终止&#xff0c;整个过程只会产生一个实例。单例模式常用写法&#xff1a;懒汉…

STM32设置为I2C从机模式

STM32设置为I2C从机模式 目录 STM32设置为I2C从机模式前言1 硬件连接2 软件编程3 运行测试3.1 I2C连续写入3.1 I2C连续读取3.1 I2C单次读写测试 4 总结 前言 STM32的I2C作为主机的情况相信很多同学都用过&#xff0c;网上也有很多教程&#xff0c;但是作为从设备使用的例子应该…

【C++ 程序设计】第 9 章:函数模板与类模板

目录 一、函数模板 &#xff08;1&#xff09;函数模板的概念 &#xff08;2&#xff09;函数模板的示例 &#xff08;3&#xff09;函数或函数模板调用语句的匹配顺序 二、类模板 &#xff08;1&#xff09;类模板概念 &#xff08;2&#xff09;类模板示例 &…

阵列模式综合第三部分:深度学习(附源码)

一、前言 这个例子展示了如何设计和训练卷积神经网络&#xff08;CNN&#xff09;来计算产生所需模式的元素权重。 二、介绍 模式合成是阵列处理中的一个重要课题。阵列权重有助于塑造传感器阵列的波束图案&#xff0c;以匹配所需图案。传统上&#xff0c;由于空间信号处理和频…

SSL工作原理

SSL 是一个安全协议&#xff0c;它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议&#xff08;HTTP&#xff09;使用 SSL 来实现安全的通信。 在客户端与服务器间传输的数据是通过使用对称算法&#xff08;如 DES 或 RC4&#xff09;进行加密的。公…

使用ZenDAS进行Gompertz趋势分析

某项目做了18次测试&#xff0c;每次测试发现的缺陷个数如下表所示&#xff1a; 测试序号 发现缺陷数 1 60 2 96 3 157 4 191 5 155 6 106 7 64 8 335 9 92 10 196 11 109 12 133 13 166 14 129 15 16 16 30 17 19 18 5 对上述的数据在Z…

IPv6手工隧道配置与验证实验

IPv6手工隧道配置与验证实验 【实验目的】 熟悉IPv6手工隧道的概念。 掌握IPv6和IPv4共存的实现方法。 掌握IPv6手工隧道的配置。 验证配置。 【实验拓扑】 实验拓扑如下图所示。 实验拓扑 设备参数如表所示。 设备参数表 设备 接口 IPv6地址 子网掩码位数 默认网…

中间件-netty(1)

netty 前言篇 文章目录 一、IO基础篇1.概念1.1 阻塞(Block)和非阻塞(Non-Block)1.2 同步(Synchronization)和异步(Asynchronous)1.3 BIO 与 NIO 对比1.3.1 面向流与面向缓冲1.3.2 阻塞与非阻塞1.3.3 选择器的问世 2.NIO 和 BIO 如何影响应用程序的设计2.1 API调用2.2 数据处理2…

蓝桥杯专题-试题版-【操作格子】【查找整数】【分解质因数】【高精度加法】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Spring FrameWork从入门到NB -三级缓存解决循环依赖内幕 (二)

开始用上一篇文章讲到的Spring依赖注入的步骤&#xff0c;用两个例子来推导一下整个过程&#xff0c;举例子有助于了解真相。 先用一个最简单的例子&#xff1a;没有依赖的单例bean的创建。 推导过程是需要上一篇文章的步骤的&#xff0c;要参照步骤一步一步来。 无依赖的单…

Linux内核代码60%都是驱动?驱动代码不会造成内核臃肿吗?

为什么内核中驱动占比最高 一、前言二、Linux中避免内核臃肿的措施2.1 交叉编译及SDK包的裁剪2.2 设备树2.3 模块化2.4 硬件抽象层 三、嵌入式Linux的裁剪四、总结 一、前言 今天逛知乎看到这么一个问题&#xff1a;为什么Linux内核代码60%都是驱动? 如果每支持新的设备就加入…

【设计模式】Java设计模式——模板方法模式(Template Pattern)

文章目录 1. 介绍1.1 定义1.2 作用 2. 模式结构2.1 UML类图2.2 模式组成 3. 代码实例3.1 背景3.2 应用 4. 优点5. 缺点6. 应用场景 1. 介绍 1.1 定义 模板方法模式(Template Pattern)&#xff0c;又叫模板模式&#xff0c;它属于行为型模式模板方法模式定义一个模板结构&…

Apikit 自学日记:版本管理

功能入口&#xff1a;API管理应用 / 选中某个项目 / 项目管理菜单 / 项目版本管理 项目版本管理功能模块提供对项目级别的版本管理&#xff0c;可新增、删除、对比项目级版本。在创建项目版本号的时候会对整个项目的部分模块数据进行快照保存。可用于每次迭代发布打全局版本号…

ESP32设备驱动-TMF8801激光测距传感器驱动

TMF8801激光测距传感器驱动 文章目录 TMF8801激光测距传感器驱动1、TMF8801介绍2、硬件准备3、软件准备4、驱动实现1、TMF8801介绍 TMF8801 是一款真正的直接飞行时间 (ToF) 传感器系统,采用单一模块化封装,通过亚纳秒光脉冲和抗锯齿“秒表”方法测量往返时间,提供高精度深度…