背景:研究用户的历史付费行为,对付费用户购买的道具进行研究,发现道具之间的关联性,方便运营根据道具的关联性进行活动推广。
数据源:2016年3月28日——2016年4月4日一个自然周的付费数据。
数据字段:付费次数、付费人数、付费金额及占比、道具名称。
研究对象:2016年3月28日——2016年4月4日一个自然周的付费用户群。
一、数据探索
(1)购买次数
购买一次的用户比例在74%,购买二次的用户占比在16%,只有10%左右的用户付费次数在三次以上。
图中可以看出,付费1次用户的付费金额占比在47%左右,付费二次用户的付费金额占比在23%附近,付费2次以上的用户付费金额占比在30%左右(其中三次付费占比在12%)。
(2)道具分析(TOP15)
可以看出:60钻石、双倍杨桃、3000杨桃购买的次数在所有道具购买中占比最大,分别为:24.41%、17.63%、16.70%(合计:58.74%)。
可以看出:60钻石、双倍杨桃、3000杨桃购买的人数在所有道具购买人数中占比最大,分别为:29.72%、26.38%、22.55%(合计:78.65%)。
可以看出:双倍杨桃的付费金额在道具中的收入占比最大(28.75%),其次是60钻石(11.93%),3000杨桃、刀刃、VIP等的占比相近。
二、数据说话
从上面数据中看出,用户付费行为习惯有如下特点:
(1)购买一次数用户占比最大,购买二次的次之。
(2)购买一次的用户对收入贡献最大,也是产品收入的中间力量。
(3)从购买的道具角度来看: 60钻石、双倍杨桃、3000杨桃这三个道具是最受欢迎的道具,购买的人数、次数也是最多的。
(4)从购买的金额来看:双倍杨桃的购买金额最多,远远高出了其余的道具的金额,但60钻石、双倍杨桃、3000杨桃的购买数量是最多的,这样可以看出道具的价格差距比较明显。
总上:为了提高收入,可以想办法让购买一次的用户再次去消费,降低一次消费用户的比例,提高二次消费用户的比例。提供用户的付费次数,进一步可以提高付费用户对游戏的忠诚度,从而可以提供付费用户的活跃度,降低付费用户的流失率(流失成本偏大)。利用道具之间的关联性,我们可以给购买了道具A的用户推荐购买率最大的道具B,这是道具的角度的出发的,粒度比较细。
三、道具关联性分析
概述:利用数据挖掘的关联分析方法,我们可以知道道具之间的关联性(每条规则都有相应的概率大小),但最后的规则并不一定有真正的意义和价值,对于规则的合理性需要业务侧进行甄别和判别,每条规则都有相应的概率来支撑,概率越大,规则的真实性越可靠。
原理(可以不看,举例作为了解):
关联分析是一种在大规模数据集中寻找有趣关系的任务。这种关系表现为两种形式:
1.频繁项集(frequency item sets):经常同时出现的一些元素的集合。
2.关联规则(association rules): 意味着两种(或者多个)元素之间存在很强的关系。
下面举例来说明上面的两个概念:
表1 一个来自Hole Foods天食品店的简单交易清单 | |
交易号码 | 商品 |
0 | 豆奶, 莴苣 |
1 | 莴苣,尿布,葡萄酒,甜菜 |
2 | 莴苣,尿布,葡萄酒,橙汁 |
3 | 莴苣,豆奶,尿布,葡萄酒 |
4 | 莴苣,豆奶,尿布,橙汁 |
频繁项集是指经常出现在一起的元素的集合,上表中的集合 {葡萄酒,尿布,豆奶} 就是频繁项集的一个例子。同样可以找到如 “尿布 –> 葡萄酒”的关联规则,意味着如果有人买了尿布,就很可能也会买葡萄酒。使用频繁项集和关联规则,商家可以更好地理解顾客的消费行为,所以大部分关联规则分析示例来自零售业。
要回答上面的问题,最重要的是理解两个概念:支持度和可信度。
支持度:一个项集的支持度(support)为包含该项集的记录占总记录的比例。从表1 可以看出 项集 {豆奶} 的支持度为 : 4/5; 而在 5 条交易记录中 3 条包含 {豆奶,尿布},因此 {豆奶,尿布} 的支持度为 :3/5.
可信度或置信度(confidence):是针对一条诸如{尿布}–>{葡萄酒}的关联规则来定义的,这条规则的可信度被定义为:“ 支持度({尿布,葡萄酒}) / 支持度({尿布})”。在表1 中可以发现 {尿布,葡萄酒} 的支持度是 :3/5, {尿布} 的支持度为 :4/5, 所以关联规则 “尿布 –> 葡萄酒”的可信度为 :3/4 = 0.75, 意思是对于所有包含 “尿布”的记录中,该关联规则对其中的 75% 记录都适用。
算法应用:
环境:linux+python。
参数:支持度(minSupport)、置信度(minConf)。
参数说明:minSupport、minConf参数的大小关系到最终关联规则的结果数目,参数值越大,规则越严格,由于上面用户购买的次数可知,购买一次的用户占比在70%以上,这就是会说,有70%以上的用户只购买了一个道具,这样的话:支持度(minSupport)的值不可能很大(低于10%),如果太大的话最后不会出现频繁项集,然后就不会出现最终的关联规则。从而:我们可以让支持度(minSupport)的值小些,让置信度(minConf)的值大些,来得到最后的关联规则。
(1)minSupport=0.05,minConf=0.2。
规则(购买了道具A会购买道具B)概率(置信度)
VIP—–>双倍杨桃0.510088377522
说明:这里支持度取的为5%,置信度为20%,最后得到了一条规则,即:用户购买了VIP还会购买双倍杨桃的可能性大小。然后我们调小minSupport的值得到下面结果。
(2)minSupport=0.01,minConf=0.2。
规则概率(置信度)
125钻石—->60钻石 0.708544303797
VIP—–>双倍杨桃 0.510088377522
300钻石—–>60钻石 0.429424709211
节日礼包—->刀刃 0.334025758205
神秘礼包—->刀刃 0.334025758205
300钻石—–>125钻石 0.295504558315
125钻石—–>300钻石 0.29746835443
12000杨桃—>刀刃 0.290452499408
300钻石—->刀刃 0.230430682175
300钻石—–>125钻石、60钻石 0.246463376297
125钻石—–>300钻石、60钻石 0.248101265823
结果可以看到最终的关联规则数目比较多,概率的大小也不一样,但VIP—–>双倍杨桃这条规则是一直存在的。
总结:
根据数据挖掘的关联规则我们可以得到购买道具的一些关联规则,我们可以根据最终得到的规则来进行活动的推广,从而降低一次付费用户的比例,提升二次或者多次付费的比例,进一步提高收入。这里我们研究的是一个自然周的数据,我们也可以对自然月的数据进行研究。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。