你好,我是邬凡奇,欢迎阅读我的博客,这是一篇基于手游行业的效果评价模型实战,数据全部来自真实生产环境,如果有疑问,可以给我留言
一、为什么要进行活动效果评价
在手游行业中,活动是提高用户参与度,加大用户粘性,提升收入的重要手段,而衡量活动效果的方式则多种多样,通常与活动的目标有关;如有的活动目标在于提高活跃,则活跃相关指标是评价这个活动效果的重要手段。对活动效果进行评价,得到评分,可以快速感知活动是否起了作用,在历史活动中处于什么位置,是否达到预期;
二、如何评价
本文采用标准差系数权重法,以本次活动为例进行活动效果的评价;以下是评价模型构建过程
1、评价指标选择
游戏的活动最终目的无非是两个:提升人气,提升收入
故本次评价指标选择了人气和收入的指标,分别是:
新增、活跃、流水、ARPU、付费率、转换老用户付费人数、转换老用户付费金额
其中:转换老用户付费的定义是,活动前已经是我们的免费用户,且用户生命周期>15天,在活动中进行了付费
2、对指标进行归一化
通常的归一化方法是使用Z=(x-μ)/标准差 ,此处也采用这个方法
x-数据值
μ-指标均值
补充归一化的意义:不同指标的单位,度量不同,要进行统一的计算,需要将其整理我相同量纲下的数据
3、计算指标的权重
step1:计算各指标的平均值、标准差
step2:得到离散系数:V=标准差/平均值
step3:权重系数=V/ΣV
step4:带入权重系数,计算最终的活动评分
4、为什么用标准差系数权重法确定权重?
原因是:标准差体现了数据的波动程度;在活动数据中,数据波动程度越大,说明受到活动的影响越大,因此需要更多的权重,以衡量活动的影响;
(此处可以用信息熵去衡量信息的含量,信息熵越大,信息越多,则权重应该越高)
三、开始实操吧
step1:获取源数据
sql从数据库中取出本年度历次活动的相关指标数据如下
经过和运营的同学讨论,由于游戏开服至今,活跃量、流水、付款人数等绝对值都受到时间周期的影响(如寒暑假),为了消除这种影响,我将数据指标换成活动开始后7天的:【次留率、付费活跃占比、付费率、ARPU、ARRPU、转换老用户数、转换老用户付费金额】;
为什么这么做呢?
1、时间长度统一限定为活动开始7天,避免有些活动时间长,累计的转换老用户数/金额较多,影响评价
2、其余指标均为比值,受到时间周期影响,绝对值指标有高有低,但比值结果可以客观反映指标高低
step2:进行模型计算
def get_active_score(_sheet_name):
#读取数据
data_source=get_data_source(_sheet_name)[['活动名称','开始时间','次留率','付费活跃占比'