APP下载

电子商务视角下O2O平台优惠券发放效果预测

2019-05-23黄正

商场现代化 2019年5期
关键词:用户画像

摘 要:在“互联网+”的迅猛发展时代,O2O消费成为一种吸引眼球的新模式,催生了优惠券吸引客户的营销方式。精准投放是提高优惠券使用率和节约营销成本的重要手段。本文结合Python的pandas、sk-learn等库,使用特征衍生方法提取用户及商铺的关键特征构建用户画像,建立梯度下降法分类SGDClassifier模型预测用户对相应商铺的优惠券使用情况进行概率预测,设定阈值规则对相应用户进行优惠券发放。

关键词:优惠券发放;特征衍生;分类模型;用户画像

一、背景介绍

随着移动手机网络的发展,各行各业都进入“互联网+”的高速发展时代,其中O2O(Online to Offline)线上到线下消费模式成为一种全新的营销方式。O2O行业通过移动互联网关联数亿级消费者,各种手机APP记录了超过百亿条用户每天的行为和位置记录,因此也给大数据研究在商业化运营上的应用带来一个契机。在O2O(Online to Offline)中重要营销的手段之一是应用优惠券吸引新客户以及盘活老用户促进用户消费。

在用户的角度来说,对大多数用户进行优惠券随机投放,既无法达到预期的效果,相反也会对用户的生活进行干扰。站在商家的角度,滥发优惠券在营销成本和品牌声誉上均会造成巨大的损失。在这种情形下,个性化投放不仅使得消费者得到了优惠,而且提高了商家的营销能力,同时也是提升优惠券核销率的重要方式。

二、logistic分类模型及AUC的介绍

SGDClassifier分类器是具有SGD训练的线性分类器(SVM,逻辑回归),该估计器利用随机梯度下降(SGD)学习实现正则化线性模型:以此估计每个样本的损失梯度,并且沿着减小强度计划(即学习速率)的方式更新模型。SGD允许使用minibatch(在线/核心外)学习。为了使用默认学习速率计划获得最佳结果,数据应具有零均值和单位方差。此实现适用于表示为要素的密集或稀疏浮点值数组的数据。它适合的模型可以用损耗参数控制。

在用于大型数据时,可以获得极高的训练速度,然而有时候数据集非常巨大以致无法加载到内存中,针对这种情况,scikit_learn提供了SGDClassifier类供用户选择。SGDClassifier类背后的概念就是随机梯度算法,基于随机梯度下降的感知、逻辑斯蒂回归以及支持向量机模型建立分类器。

AUC是一个模型评价指标,用于二分类模型的评价,对于二分类模型,还有很多其他评价指标,比如:logloss、accuracy、precision。AUC通常比accuracy常用,因为机器学习的模型对分类问题的预测结果都是概率。如果要计算accuracy,需要先把概率转化成类别,这就需要手动设置一个阈值,对一个样本的预测概率高于这个预测,就把这个样本放进一个类别里面,低于这个阈值,放进另一个类别里面。所以这个阈值很大程度上影响了accuracy的计算。而使用AUC则可以避免将预测概率转化成类别。

三、描述性统计分析及建模

1.数据说明

我们采用的是阿里云天池数据集中的O2O优惠券数据集,数据的字段描述如下,表1为用户线下消费和优惠券领取行为表。其中的内容是客户在2016年1月至2016年6月期间线上线下购买行为。我们的任务目标是预测客户利用2016年7月领取优惠券后15天期限内的使用情况,判断是否发放优惠券广告。本文使用上述数据,建立分类模型后,继续预测在15天的规定时间内商铺的优惠券是否会被用户使用。判断预测使用情况准确的指标是对于2016年7月的用户数据是否在投放优惠券后发生购买行为的平均AUC的大小。

2.数据读取以及关于单字段数据分析

使用Python读取表1的数据作为训练数据集,该数据框中有17554884行数据,其中有5个字符型字段,2个整数型字段。再利用pandas库对各字段进行数据清洗工作。

(1)用户编号User_id和距离Merchant_id字段

User_id是数据集的主键编号,是唯一对应每一个用户的。因此可以据此统计用户的相关属性,进一步可以拓展为用户画像。我们对用户出现的次数进行统计和可视化分析,再结合“重度用户”这个概念。结合图1的结果可知,我们可以得到有1次记录的用户、有2-3次记录的用户、4-10次记录、10-20次记录、分别占总用户的44%、41%、30.7%、19.4%、3.8%和1.3%,这确实符合常规现象。

类似User_id可视化处理方法,Merchant_id表示商铺编号,我们对商铺出现的次数进行统计和可视化分析。结合可视化的结果,可以得到商家出现次数小于10、大于10小于等于50次数、大于50小于等于500、超过500次的分别占总商家数的33.1%、42.1%、21.7%、3.2%。出现次数在10与50之间的商家最多。

(2)折扣率Discount_rate和距离Distance字段

在折扣率Discount_rate的初始字段中有许多不同形式的字符串数据类型如:Y:X,这种表示不够直观,我们将其转化为更容易理解的折扣的形式用百分比表示。按照字符串经验结合优惠券,我们可以用1-X/Y的形式进行数据转换为折扣率,按照这种方式可以得到折扣率的统计结果。由图2可知,没有打折的优惠券(即没有优惠)占比最大,打折的优惠券的折扣率大致集中分布在0.5至0.98之间,其中9折优惠券最多,8.3折第二。

对距离distance字段也进行数据可视化,从結果可以发现,Distance为0占总数的2/5以上,可以发现有一个不是数字的类型,对于这种空缺值可以使用数字-1替代,也可以把数字类型转化为字符串类型。

我们在折扣率Discount_rate和距离distance字段的基础上继续衍生折扣券相关的特征discount_rate,discount_man,discount_jian,discount_type。

(3)领取优惠券日期Date_received和使用优惠券日期Date字段

这两个字段均为时间类型字段,是非常重要的字段,为之后给训练数据集和验证数据集打标签起到了至关重要的作用。我们使用Python的matplotlib包对数据进行可视化分析。

我们从可视化结果发现优惠券的发放集中在春节期间,可是其消费的比例却并不高,因此可以知道这与我们想象中的特定节假日购物热情随之增高很多还是有一定出入,节日特征的选择需要慎重。这种现象结合复合字段应该进一步讨论,决定当天的优惠券折扣率是否应该提高。

对于优惠券领取时间Date_received字段,我们可以利用Python函数衍生出使用星期weekday这个字段,因为该字段是有7个类别,对其进行SKlearn库的One-Hot编码。结合该字段继续衍生是否在周末领取weekday_type这个字段。

(4)对数据进行标注

我们将数据根据Date_received和Date字段增加y字段,该字段为[-1,1,0].赋值的方式为:

3.利用SGDClassifier模型建立分类模型

在上面的工作中,提取了折扣discount、距离distance、日期weekday类的初始特征,本文使用SGDClassifier模型建立分类模型。先对数据集进行训练集和验证集的划分,用20160101-20160515的数据作为train集,20160515-20160615作为valid集。

我们通过python流水线pipeline函数将数据归一化StandardScaler和One-hot处理,并使用K折交叉验证评估模型性能。我们利用Python中的AUC函数对表1中的每个coupon预测的结果计算AUC,再对所有的coupon做平均,模型一的平均AUC为0.5323。

在此基础上,我们设计需要继续提取用户user的进行特征衍生,比如:每个用户领取的优惠券数、购买商品的次数、使用优惠券购买的次数、每个用户到商铺购买的次数以及用户最近距离、最大距离、均值距离、中位数距离等。整理好数据特征后,将关于用户UserID的特征添加进模型,将其命名为模型二,使用SGDClassifier模型建立分类模型,对数据集进行训练集和验证集的划分,用20160101-20160515的数据作为train集,20160515-20160615作为valid集。我们通过流水线pipeline将数据归一化StandardScaler,并使用K折交叉验证评估模型性能。我们利用Python中的AUC函数对表1中的每个coupon预测的结果计算AUC,再对所有的coupon做平均,模型一的平均AUC为0.59716。添加上用户User的各特征之后,AUC提高了6%。

根据这种思路,我们继续对商户merchantID特征进行提取,衍生出商户相关特征如:商铺的发放优惠券数量、已发放优惠券购买的数量、使用优惠券购买的数量,商铺销售最近距离、最大距离、均值距离、中位数距离等。重复上面的建模步骤,对数据进行训练集和验证集的划分,再利用AUC函数对表1中的每个coupon预测的结果计算AUC,再对所有的coupon做平均,模型一的平均AUC为0.6024。添加上用户User的各特征之后,AUC提高了1%。

在使用2016年6月15日之前的历史数据,建立的最终预测模型对表1中的用户编号对应商铺领取优惠券在2016年6月15日至2016年7月使用的概率,我们输出表1优惠券使用概率的结果。从表中可以发现,在概率值都不是很大,我们选取0.1为阈值,对其进行划分。大于该阈值,进行优惠券的发放。否则,不进行优惠券发放。通过这种方式达到节约营销成本和减少对用户无效投放以及信息干扰。

四、结束语

目前随着个性化推荐等服务在电子商务包括O2O产业的日益普及,电商企业需要为客户提供的服務也逐渐朝个性化、精细化方向转变。如何应用好数据挖掘技术结合用户和商铺的大数据解决电商平台用户持续购买问题已经成为一个重要的研究方向。本文以O2O平台提供的优惠券使用数据,研究和拓展了用户和商铺的关键特征,建立分类模型并对未来时间段内是否使用进行概率预测,模型拟合的结果较好,达到了期待的预测效果。

参考文献:

[1]李运.机器学习算法在数据挖掘中的应用.北京邮电大学硕士论文[J],2015.

[2]scikit-learn中文手册[M].https://scikit-learn.org/stable/modules/ sgd.html#sgd.

[3]SebatianRaschka.python机器学习[M].机械工业出版社,2017.

[4]小小丘.来源:知乎,链接:https://www.zhihu.com/question/398 40928/answer/84906286.

[5]李航.统计学习方法[M].清华大学出版社,2012.3.

作者简介:黄正(1993- ),男,安徽省安庆市人,广西师范大学,硕士,研究方向:应用统计

猜你喜欢

用户画像
基于数据分析高校学生自画像的初探
分析用户画像在企业精准营销中的应用方式
基于用户画像的数字原住民社会化媒体采纳意愿的阶段性分析
基于大数据技术的广电用户收视行为建模
基于大数据的电商活动页面设计策略研究
用户画像在内容推送中的研究与应用
贝叶斯网络在用户画像构建中的研究
把声音的魅力发挥到极致
移动用户画像构建研究
基于微博的大数据用户画像与精准营销