1、信息记录材料 2023 年 7 月 第 24 卷第 7 期基于 Python 的电商客户价值细分研究梁 琛1,马天鸣2(1 上海震旦职业学院有限公司 上海 201908)(2 上海工程技术大学电子电气工程学院 上海 201620)【摘摘要要】各大互联网平台产生的海量的商品成交数据隐藏着巨大的商业价值,如何对这些数据进行分析,从而构建出精准的用户画像,洞察客户需求,对于企业的发展是至关重要的。一些电商企业由于没有做好用户的分类,对所有用户使用相同的销售策略,导致销量惨淡,为解决该问题,现使用 Python 通过 RFM 模型来分析各用户的最小时间间隔、消费频率、消费金额,对用户进行分类,再根据不
2、同用户的特性,提出有针对性的销售策略,从而提升企业的竞争力。【关关键键词词】P Py yt th ho on n;R RF FM M 模模型型;数数据据分分析析【中中图图分分类类号号】TP279 【文文献献标标识识码码】A 【文文章章编编号号】1009-5624(2023)07-0239-040 引言在竞争日益激烈的电商领域,越来越多的卖家意识到了客户关系管理的重要性。客户关系管理是电商企业洞悉客户实际需求并对商品或服务进行改进以提升客户体验的过程1。掌握客户需求能够帮助商家提高商品转化率,是企业保持旺盛生命力的内在驱动力。为了更好地实施客户关系管理,向不同的客户提供差异化的服务和商品,卖家需
3、要对客户进行细分。RFM 模型是衡量客户价值,划分客户类型的重要工具。数据分析是根据分析目标,使用一定的工具和方法,有针对性地对数据进行收集、加工整理、分析、展现,总结出数据背后的规律和所反映问题的过程。商务数据分析需要结合内、外部数据深度剖析商业问题,基于具体的商业场景和逻辑,把数据作为原始材料,对其进行结构化处理,并通过数据来洞察商业问题,为企业战略及商业决策提供数据支持2。本文使用 Python 对跨境电商平台的商品销售数据进行数据清洗、整理等预处理操作以获取含有 RFM 的用户数据,根据 RFM 的阈值对用户进行分类并实现类别数据的可视化,最后,通过数据分析得出相关结论,以便商家制定有
4、针对性的营销策略。1 相关技术介绍1.1 Python 语言Python 是目前较为活跃的一种高级编程语言3,其语法简洁清晰、代码易读、可扩展性好、第三方库强大且所有使用都是免费的4,因此,它在数据分析、网络爬虫、自动化测试、人工智能等众多领域有着广泛的运用5。通过数据分析实现数据化运营和变革是电子商务企业立足当下和未来的有效手段,而开展电子商务数据分析需要借助程序设计语言,由于 Python 的诸多优势,故选择 Python 作为电商客户价值分类研究的开发语言。1.2 RFM 模型RFM 模型是一个传统的数据分析模型,根据某个客户最近一次消费、消费频率和消费金额 3 个指标来描述客户价值,实
5、现对客户的分类,能较为客观地描绘顾客的轮廓。其中,R 是指用户最近一次消费时间间隔,F 为消费频率,M 指用户一段时间内的消费金额6。把 R、F、M 的价值高低作为坐标轴,可以将用户划分为 8 个类型7,如图 1 所示。根据 RFM 模型的分类,可以进一步对不同价值的用户使用差异化的运营策略,获取并保留关键性用户,针对价值高的客户量身定制促销策略。图 1 RFM 客户价值象限分类1.3 客户价值分类流程国内某跨境电商平台主营食品等商品,从 2020 到2021 年间,为提高营业额,平台虽然进行了广告投放以及电子邮件、电话、短信等营销活动,但是收效甚微。现基于RFM 模型,对用户的商品销售数据进
6、行处理,从而完成对用户的分类,再根据不同用户群体的特性,为公司制定有针对性的营销策略。商品销售数据包括订单号、邮编、商品描述、数量、发货日期、价格、用户 ID 和国家这几项。对932信息记录材料 2023 年 7 月 第 24 卷第 7 期于获取到的电商客户交易记录首先进行数据清洗和整理,然后计算出 RFM 的阈值,标记 RFM 的高低值并划分 8 大用户群体,最后生成直观的图表,实现数据可视化,为后续制定差异化营销策略打下基础。电商客户价值分类流程见图 2。图 2 电商客户价值分类流程图2 数据预处理为使原始数据满足分析的需求,应对其进行预处理操作以获取含有 RFM 的用户数据,数据预处理可
7、以分为数据清洗和数据整理两个步骤8。2.1 数据清洗数据清洗包括检查是否存在缺失值、重复值、异常值9,并删除那些没有分析价值的数据。2.1.1 缺失值清洗采集到的商品销售数据中可能会存在一些空值,需要对其进行缺失值的处理。导入 pandas 库,使用 info 函数来查看数据的非空值数量,若非空值数量小于数据总量,则用 isna 方法来查找缺失值,返回缺失数据用 True 来表示。由于缺失值占总数据的比重较低,将有空值的商品销售数据删除后不会影响后续数据分析,故使用 dropna(subset)来删除缺失值。2.1.2 重复值清洗商品销售数据中如果出现重复值会对之后的数据分析形 成 干 扰,因
8、 此 需 要 对 其 进 行 去 重 处 理,现 使 用duplicated 方法来查找重复数据,并用 drop_duplicates 函数删除重复数据,以保证每条商品销售记录的唯一性。2.1.3 异常值清洗使用 describe 函数查看数据的描述性统计信息,检查商品销售数据的最大值或者最小值是否符合常识以及业务要求。当商品的数量或者价格出现负值时则为异常情况,需要对其进行清洗。筛选出数量或者价格大于 0 的数据,即可过滤异常值,为后续数据分析打下基础。2.2 数据整理对初始数据进行清理后,还需对其进行整理以获取含有 RFM 的用户数据。数据整理的步骤包括计算商品总额、保留计算 RFM 所需
9、数据和计算出 R、F、M 的值。2.2.1 计算商品总额在数据表格中新增一个“总金额”的列,用于计算每个商品的消费总额,商品总额值计算方式为商品数与商品价格的乘积。2.2.2 保留计算 RFM 所需数据将订单号和用户 ID 组合为一个列表,再将该列表传入 groupby 函数进行分组,同时对“发货日期”“总金额”列数据进行处理,使用 agg 方法。其中,函数中的参数 as_index 决定分组后的数据是否带行索引。默认情况下,该参数的值为 True,即不含自带的行索引。这里将参数 as_index 设置为 False,目的是为了方便后面对数据的提取计算。分完组后,再使用 agg 方法提取“发货
10、日期”列的最大值,以及“总金额”列的总和,即可提取 RFM 所需的数据。2.2.3 计算 R、F、M 的值计算 R 值前,设定一个当前时间,再将每个订单的发货时间与当前时间进行对比后,提取具体的天数差。发货时间与当前时间可以通过 to_datetime 函数转化为日期格式后,再通过减法运算会返回一个带有时间差的 Series 对象。调用 Series 对象的 dt.days 属性来提取天数信息。新建“时间间隔”列来存储该天数信息。按“用户 ID”分组后,获取“时间间隔”列的最小值、“订单号”列的数量以及“总金额”列的总和,这三项分别对应 R、F、M 的值。3 数据分析在获取含有 RFM 的用户
11、数据后,需要基于该模型,对用户进行分类10。用户划分的步骤可以分为计算 RFM的阈值、标记 RFM 的高低值和标记用户类型。3.1 计算 RFM 的阈值根据实际业务的需求出发,如果直接通过平均值或中位数进行阈值的划分不够客观,因为不同的客户对于电话推送优惠活动的反应各不相同,在服务资源有限的情况下,需要对用户人群进行调整。因此,可以选择更加灵活的阈值计算方式,其流程为:划分区间、标记分数、计算平042信息记录材料 2023 年 7 月 第 24 卷第 7 期均值。3.1.1 划分区间需要将数据进行排序,绘制出 R 值、F 值和 M 值的折线图。现以 R 值为例,从 R 值折线图中可以看出不同时
12、间间隔的分布情况,以此来划分区间,如图 3 所示。图 3 每个用户对应的 R 值折线图图 3 呈现了不同 R 值所对应的累加用户数,其中 y 轴代表累加的用户数,x 轴代表每个用户对应的 R 值。这是一个累加曲线,曲线越陡峭,表示该段曲线对应人数相对集中;曲线越平缓,表示人数相对分散。曲线大约以 400 d 为界限,400 d 之前的曲线相对陡峭,说明人数主要集中在这一段,而 400 d 后的曲线相对平缓,甚至接近直线,说明这一段人数相对分散。大于400 d 的数据,即最近一次购买时间都超过一年,用户再次购买商品的可能性很低,可将他们整体分成一类。小于400 d 的数据可均匀地以 100 为单
13、位,进行区间划分。3.1.2 标记分数为数据新建一个“R 评分”列,将“时间间隔”列的数据依次评分后写入到“R 评分”列。同理,新建一个“F 评分”和“M 评分”列,分别将“总次数”和“总金额”列写入到“F 评分”和“M 评分”列中。3.1.3 计算平均值在完成了 R、F、M 的分数标记后,使用 mean 函数可以计算 R、F、M 评分的平均值,从而得到各值的阈值。3.2 标记 RFM 的高低值将获得的阈值与 RFM 分数进行比较,高于阈值记为“高”,低于阈值记为“低”,高低值可以用 1 和 0 表示。从R、F、M 的分数与阈值对比后得到的返回值可以获悉:每个分数与阈值进行对比可以得到一个布尔
14、值,而布尔值有一个乘法运算:当布尔值为 True 时,与 1 相乘会得到 1;当布尔值为 False 时,与 1 相乘会得到 0。将 R 评分、F 评分、M 评分的 数据分别与对应的平均数做比较,从而完成RFM 的高低值标记。3.3 标记用户类型在完成了 R、F、M 高低值的标记,需要 RF 评分进行拼接,与用户分类规则表进行对比,即可得出用户属于哪种类别。由于 RFM 值评分列的单个数据均为整数型,所以需要对数据类型进行转换才能完成拼接操作,现使用astype 方法将对应列的数据转换为字符串类型。此时,数据已经由 3 个数字组成,其中 1 代表着高价值,0 代表着低价值。为了将数字替换为价值
15、的高低,可以使用 replace方法对数据进行批量替换。现已为数据标记上用户类型并按客户类型分组,统计用户的数量,最终显示的数据虽然可以看到八大用户类型的频数分布,但数据的呈现不够直观,还需要进一步对用户类型的具体占比和分布进行可视化展现。4 数据可视化4.1 数据展现查看不同类型用户的数量分布,可以通过柱状图来展现。将用户类型作为 x 轴,用户类型对应的数量作为 y轴,能直观地看到各类型用户的分布情况,如图 4 所示。图 4 各类型用户的分布柱状图将用户类型作为标签,用户类型对应的数量作为数据计算占比,这样能直观地看到各类型用户的占比情况,如图 5 所示。4.2 结论分析从柱状图和饼图可以发
16、现,一般发展用户和一般挽留用户的人数较多。对于一般发展用户较多的情况,问题可能在于一般发展用户后续的复购转化不足,可以多通过短信、平台142信息记录材料 2023 年 7 月 第 24 卷第 7 期图 5 各类用户占比饼图网站等渠道,在一般发展用户首购后的一段时间内能领取复购券等策略,将这类用户转化为更高价值的用户类型。对于一般挽留用户较多的情况,问题可能在于平台的产品竞争力或者服务不足。可以多对比竞品公司的产品,对自身的产品进行提升。同时,也可以采取赠送优惠券的策略并收集用户对平台产品以及服务的评价。5 结语客户是电商平台发展的重要战略资源,因此需要对客户进行有效的分类管理并通过适当的营销方
17、式来刺激消费,为企业带来更多收益。本文以电商平台的消费者行为数据为研究样本,以 RFM 模型和 Python 数据分析为研究手段,对不同价值的客户进行细分。首先对原始数据进行预处理,再计算 RFM 的阈值,标记 RFM 的高低值和用户类型,实现数据可视化,然后通过数据分析采取相对应的客户管理策略来挖掘客户价值,实现企业利润最大化。【参考文献】1 施文幸,曹诗韵.基于萤火虫 K-means 聚类的电力用户画像构建和应用J.计算机系统应用,2021,30(8):281-287.2 何伟,张良均.Python 商务数据分析与实战M.北京:人民邮电出版社,2022.3 贾俊平.数据分析基础:Pytho
18、n 实现M.北京:中国人民大学出版社,2022.4 李琴,李宇航,定会.基于 Python 的电商产品评论数据分析方法探讨J.信息记录材料,2022,23(5):82-84.5 尹红丽.Python 科学计算、数据处理与分析M.北京:人民邮电出版社,2023.6 师奥,翔张洁.基于改进 RFM 模型的电商用户价值分类的研究J.计算机技术与发展,2022,32(12):123-128.7 陈东清,叶翀,黄章树.基于熵权法改进 RFM 模型的电商客户价值细分研究J.西安电子科技大学学报(社会科学版),2020,30(2):39-45.8 冯艳茹.基于 Python 的网络爬虫系统的设计与实现J.电脑与信息技术,2021,29(6):47-50.9 于学斗,柏晓钰.基于 Python 的城市天气数据爬虫程序分析J.办公自动化,2022,27(7):9-13.10 许雪晶,林辰玮.基于 RFM 的电商数据客户价值细分实例研究J.长春师范大学学报,2021,40(4):60-69.基金项 目:2022 年 上 海 震 旦 职 业 学 院 校 级 科 研 创 新 项 目(SHZD2022011);国家自然科学基金资助项目“802.11p 标准下DSRC 抑制车间信道衰落技术研究”(61601296)。作者简介:梁琛(1987),女,上海,硕士,工程师,研究方向:数据分析。242