给您最好的
阿里云优惠券!

机器AI学习之从发优惠券入门篇

作者注:了让更多不了解的机器学习的研发同学可以通过本文对机器学习有基本认识,部分细节部分采取了跳过和省略。在本文后会提供参考资料供读者深入学习。

每逢电商活动日,各大电商系统都要通过发放优惠券,以此来刺激用户消费。在电商企业进行优惠券发放运营活动中,如何保证发放的优惠券被消费掉,亦或是保证通过发放优惠券可以刺激用户消费,是一门学问。

在电商发展早期,运营方案往往是通过运营团队拍脑袋制定的。随着电商平台的发展,数据量增加,运营团队再去拍脑袋决定优惠券如何分发会带来很繁重的工作量且运营效果不佳。于是,运营团队会根据数据分析师做的数据分析报表来决定发优惠券的策略。当数据量激增的时候,数据分析师的工作量也剧增,这个时候,需要利用机器来智能化总结规律,制定优惠券分发策略。

通过让机器智能化总结规律和制定优惠优惠券分发策略,本质上就是一个机器AI学习问题。

我们一起来看看优惠券分发场景涉及的数据(这里采用阿里云天池比赛公开数据)

Table1: 用户线下消费和优惠券领取行为表名 train_offline_stage2

Description

Merchant_id

优惠券ID:null表示无优惠券消费,此时Discount_rate和Date_received字段无意义

Discount_rate

优惠率:x \in [0,1]代表折扣率;x:y表示满x减y。单位是元

user经常活动的地点离该merchant的最近门店距离是x*500米(如果是连锁店,则取最近的一家门店),x\in[0,10];null表示无此信息,0表示低于500米,10表示大于5公里;

Date_received

领取优惠券日期

消费日期:如果Date=null & Coupon_id != null,该记录表示领取优惠券但没有使用,即负样本;如果Date!=null &  Coupon_id = null,则表示普通消费日期;如果Date!=null &  Coupon_id != null,则表示用优惠券消费日期,即正样本;

Table2: 用户线上点击/消费和优惠券领取行为表名 train_online_stage2

Description

Merchant_id

优惠券ID:null表示无优惠券消费,此时Discount_rate和Date_received字段无意义。“fixed”表示该交易是限时低价活动。

Discount_rate

优惠率:x \in [0,1]代表折扣率;x:y表示满x减y;“fixed”表示低价限时优惠;

Date_received

领取优惠券日期

消费日期:如果Date=null & Coupon_id != null,该记录表示领取优惠券但没有使用;如果Date!=null &  Coupon_id = null,则表示普通消费日期;如果Date!=null &  Coupon_id != null,则表示用优惠券消费日期;

这里面涉及到两类数据,一类是 User_id,Merchant_id,Date等离散数据,一类是优惠率,距离等数值特征。

将Table1和Table2以User_id和Merchant_id为key合并成宽表Table3

我们这里假设y为是否使用优惠券的概率,我们用一个朴素公式来表示y的表达式

这里表示为第i行数据是否使用优惠券,是第i行第j列数据, ,代表,的权重,其实就是我们想让机器学习出来的东西,因为知道了权重,就可以根据权重和对应的x,计算出y。

数值特征中,优惠率和距离不属于同一量纲,优惠率的数值范围为[0,1],距离是xxx米,所以需要量纲统一,通过Z-score normalization可以使用量纲统一,也就是就是数据统一衡量化。

当量纲统一之后,数值特征都缩放到了[-1,1]这样的区间,这时候我们会发现一个问题,离散数据如何引入,离散数据我们会采用ont-hot编码将其离散化。

one-hot编码如下,假设该类别有三种属性:专科、本科、研究生及以上。我们用001,010,100,来表示三个属性,也就是说如果某类离散数据有N种情况,则用N位二进制串表示,第X种情况的时候,第X位为1,其他位为0。

这样我们就将所有数据数值化了,紧接着我们发现一个问题y的取值范围是整个实数集,而我们需要y值在[0,1],这时候我们采用一个神奇的公式来变换。

我们设使用优惠券的概率为score,有

就是使用优惠券的概率,我们可以根据进行优惠券发放决策。这就是利用简单的机器学习方法来进行智能化运营。

通过上述的例子,我们可以发现无论是优惠券投放还是广发投放,都是通过用户的离散特征数据进行统一数据化,以此量衡量用户使用的概率,也就是我们俗称的趋势分析。人工智能AI的样本数据越多,那么得出的趋势分析结论则越精确,而这个通过逐步引入样本,最终不断修正模式和结论的过程,也就是我们俗称的数据回归。

正如google的ALPHA人工智能一般,从1.0到2.0不断的进步优化,其背后是不断的样本与算法模型的迭代,随着时间的推移,相应人工智能AI的将不断进化改变原来传统的领域。

参考资料:

1.Z-scorenormalization

%E6%A8%99%E6%BA%96%E5%88%86%E6%95%B8

2.本文提到的机器学习部分可以参考《统计学习方法》李航著的第六章来补充理解。