游晋峰
(晋中师范高等专科学校 数理科学系,山西 晋中 030600)
在零售业中,会员能持续不断地为零售运营商带来稳定的销售额和利润,同时为运营商制定策略提供数据支持.零售业通过促销等活动来吸收新会员,并尽可能地提高会员的忠诚度.而发展新会员的投入比较大,所以运营商一般会采取措施来维系现有会员,完善画像描绘,加强精细化管理,定期推送产品和服务,以期得到更好的发展.
本文以2018年全国大学生数学建模竞赛C题“大型百货商场会员画像描绘”为背景,首先对题目所给数据观察和清洗后,对数据进行了分析,并在此基础上建立了基于RFM的商场会员购买力评价模型、基于RFM的客户促销参与模型、基于Apriori算法的连带销售方案,为大型百货商场的会员销售数据分析提供了可行的办法.
题目给出了某大型百货商场会员的相关信息,有:会员信息数据(194 761条)、近几年的销售流水表(1 015 366条)、会员消费明细表(911 702条)、商品信息表(24 170条).
通过分析发现,所给信息中存在不完整的、含噪声的数据,利用Excel中的定位条件功能中的空值选项删除有空值的记录,删除了信息不完整的记录和信息错误的记录.然后,利用Acess数据库中的查询功能,通过搜索相同关键字:会员卡号,建立了含有会员卡号、消费产生时间、商品编号、销售数量、商品售价、消费金额、商品名称、此次消费的会员积分、收银机号、单据号、柜组编码、柜组名称等信息的数据表.
对该数据表分析发现:
1.随着年龄的增加,会员的消费次数、消费总金额、最高消费金额和最低消费金额等数据呈泊松分布.出生在1964-1983年之间的人群消费水平较高,年龄在1954-1964,1983-1993年之间的次之,其他年龄段的相对最低,接近于0.说明,年龄在35-54岁的人群相对来说时最具消费潜力人群.
2.女性的各项消费都远远高于男性,其中人数比为3.6∶1,消费总数量比为7.61,消费总金额比为6.41,消费频率比为7.81.说明,女性的消费水平远远高于男性的消费水平.
3.利用Excel数据透视表中的求最值功能,计算出每个会员的最近一次消费时间在2015-01-01~2018-01-03之间.其中,会员的最近一次消费时间指某个会员消费明细表中会员消费产生的最后一次时间.
4.会员第一次消费的时间在2015-01-01-2018-01-03之间.和会员最近一次消费时间比较,可以知道,每天不仅有新会员的持续加入,也有老会员的睡眠甚至流失.
5.会员最大的消费次数为3 303次,最小为1次.其中,消费次数在1~2的会员数占总会员的31.15%.消费次数在100以上的会员数占总会员数的1.86%.消费次数在3-100的会员数占总会员数的66.99%,这部分人群可作为重点关注人群.
6.消费总额约为6亿元,人均消费金额为18 642元,单次平均消费水平为1 348.9元.其中:
1)消费金额为负数的会员有9人,说明该用户曾有过退货行为或参加了积分进行换商品活动.
2)消费金额为0的会员有49人,说明这些用户是老用户,不购买新产品,只参加积分兑换活动,或者近一年以内没有进行购物,为流失会员.
3)消费金额在5万以上的会员占总数的8.2%.
4)消费金额在0~5万之间的会员占总人数的91.76%.
综合上述分析,说明该商场的会员消费水平处于中低水平.
根据上述分析的最近一次消费时间(R)、消费次数(F)、消费金额(M),建立基于RFM[1]的购买力评价模型.具体步骤如下:
2.1.1 第一步:建立会员购买力的隶属分类表
首先将R,F,M每个方向定义为高、低两个挡;然后根据会员整体的消费情况,找出R,F,M的中值,高于中值就是高,低于中值就是低,这样就是2×2×2=8种会员分类.
具体如下表1.
表1 会员购买力的隶属分类表
2.1.2 第二步:提取R,F,M三个维度的数据
从数据表中提取会员卡号、最近一次消费时间R、消费次数F、消费金额数据M等数据,建立二维数据表格,见表2.由于有32 165条数据记录,此处只截取了前20条记录进行展示.
表2 部分会员的RFM值
2.1.3 第三步:分析R,F,M的数据散点图,得到它们的分档标准
首先分别分析R,F,M三个维度的数据散点分布,得到了如图1~3.
然后根据散点图得到R,F,M三个数据指标的分档区间标准.
图1 最近一次消费时间R的数据散点图
根据图1,按照R值时反向值,即R值越大会员价值越低,将最近一次消费时间R分为如下5个档:
R=1=[2017-07-17,2018-01-03],R=2=[2016-11-19,2017-07-17],R=3=[2016-03-24,2016-11-19].
R=4=[2015-09-26,2016-03-24],R=5=[2014-11-30,2015-01-01]
说明,图2是对消费次数F降序排列后做出的散点图.
根据图2,按照F值时正向值,即F值越大会员价值越高,将消费次数F分为如下5个档:F=1=[0,40],F=2=[40,140],F=3=[140,340],F=4=[340,500],F=5=[500,900].
图2 消费次数F的数据散点图图3 消费金额数据M的数据散点图
根据图3,按照M值时正向值,即M值越大会员价值越高,将消费金额数据M分为如下5个档:M=1=[0,80 000],M=2=[80 000,240 000].
M=3=[240 000,440 000],M=4=[440 000,840 000],M=5=[840 000,1750 000].
2.1.4 第四步:根据分档标准计算R,F,M的分档值
具体操作:
在Excel中写入if语句,然后进行格式填充:
计算R对应分档值的语句为:
E2=if(B2>2014-11-30,5,if(B2>2015-09-26,4,if(B2>2016-03-24,3,if(B2>2016-11-19,2,1)))).
语句解释:
如果B2大于2014-11-30,则A1会员对应的R值=5,否则进入下一个if判断;
如果B2大于2015-09-26,则A1会员对应的R值=4,否则进入下一个if判断;
如果B2大于2016-03-24,则A1会员对应的R值=3,否则进入下一个if判断;
如果B2大于2016-11-19,则A1会员对应的R值=2,否则进入下一个if盘点.
类似地,计算F对应分档值的语句为:
F2= if(C2>500,5,if(C2>340,4,if(C2>140,3,if(C2>40,2,1))))
计算M对应分档值的语句为:
G2==if(D2>840 000,5,if(D2>440 000,4,if(D2>240 000,3,if(D2>80 000,2,1))))
2.1.5 第五步:计算R,F,M分档值的平均值
利用Excel中写入average(E1∶E32165),average(F1∶F32165),average(G1∶G32165)分别求得R,F,M分档值的平均值,分别为:2016-11-06、13.82、18 642.98.
2.1.6 第六步:将R,F,M分档值与平均值比较,得到R,F,M的高低值
将每个会员的R,F,M分档值与平均值比较,高于平均值则标记为高,低于平均值则标记为低.具体操作语句为:
R高低值的判断:H2=if(F2<2016-11-06,“低”,“高”);
F高低值的判断:I2=if(G2<13.82,“低”,“高”);
M高低值的判断:J2=if(H2<18 642.98,“低”,“高”).
2.1.7 第七步:将每个会员的R,F,M值与会员购买力隶属分类表比较,得出会员所属类别,得出会员的购买力
K2=if(AND(H2=“高”,I2=“高”,J2=“高”),“重要价值用户”,
if(AND(H2=“高”,I2=“低”,J2=“高”),“重要发展用户”,
if(AND(H2=“低”,I2=“高”,J2=“高”),“重要保持用户”,
if(AND(H2=“低”,I2=“低”,J2=“高”),“重要挽留用户”,
if(AND(H2=“高”,I2=“高”,J2=“低”),“一般价值用户”,
if(AND(H2=“高”,I2=“低”,J2=“低”),“一般发展用户”,
if(AND(H2=“低”,I2=“高”,J2=“低”),“一般保持用户”,“一般挽留用户”))))))).
为验证模型的可行性,随机抽样选取了20个会员的消费记录,进行了计算.20个会员的抽样计算结果见表3.
表3 根据分档标准确定的R,F,M的分档值、高低值及会员所属类别
根据陈明亮的研究[2],选取消费金额和利润两个变量来表征会员发展水平.但是基于问题一的分析,发现会员消费产生的时间dtime分布能更好地反映会员生命周期曲线.
首先,统计出不同会员在2015-01-01~2018-01-03期间的消费次数.
其次,做出其消费时间的散点图.
最后,利用状态曲线图中点的稠密度判断会员的状态.
在上述分析的基础上,知道会员生命周期分为考察期、形成期、稳定期、退化期.而一个生命周期中处于稳定期的会员可视为活跃会员,处于其他时期的会员为非活跃会员.这样,非活跃会员包括普通的消费者、新生会员、即将流失的会员.换句话说,活跃会员为在3个月内有消费记录的会员,除此之外都统称为非活跃会员.而这些会员中,某些顾客可能不会积极参与促销活动,如流失会员.故会员若由非活跃状态转为活跃状态,需要积极参与促销活动.
根据成希瑶[6]的研究,建立基于RFM的客户促销参与模型,将积极参与促销活动的客户区分出来,从而确定非活跃会员的激活率.
具体操作步骤如下:
会员促销参与得分RS的计算公式为:
RS=Rscore×WR+Fscore×WF+Mscore×WM
其中,Rscore,Fscore,Mscore分别为按照客户最近一次消费时间、消费频率、消费金额划分的等级得分,WR,WF,WM分别这三个指标的权重系数.这三个指标的权重系数可先利用层次分析法计算出一个理论值,然后通过实际销售数据对其进行调整和修正.
由此得到,
Step1:分析会员的购买喜好分析会员对不同商品的喜好程度;
Step2:定义喜好程度的阈值;
Step3:由喜好程度向会员推荐相应产品.
考虑商品的连带率[7,8],提出基于Apriori算法的连带销售方案制定的办法,具体如下:
Step1:分析销售数据库中同一销售单据的商品集合;
Step2:统计每种商品集合的支持度计数;
Step3:找出满足最小支持度计数的商品集合;
Step4:由集合产生关联规则;
Step5:计算关联规则的支持度计数和置信度;
Step6:找出满足最小支持度和最小置信度的关联规则.
即由此产生的关联规则即为连带消费产品,可进行捆绑销售或适当安排摆放增加销售量.
本文首先分析了会员的消费特征.由于题目数据量大,且没有相应的后台服务器做支撑,故抽样选取了部分代表性的数据,进行了数据的分析,并对部分模型进行了验证.
1)对于2.1.5节中R,F,M分档值的平均值计算,还可以考虑二八法则,即20%的会员创造了80%的收益.所以,可以将这个临界点作为每个会员R,F,M比较的对象.
2)对于题目中的问题2、3、4,本文只给出了模型,并没有进行验证.