基于Python爬虫的客户价值分析外文翻译资料
2022-08-27 10:01:22
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
基于Python爬虫的客户价值分析
刘明,杜玉瑞,徐锡芬
南京科技大学经济与管理学院,南京210094电子邮件:liuming@njust.edu.cn
摘要:客户价值分析是客户关系管理中的一项重要工作。在本文中,我们使用ABC分类,RYM(汇率,频率,货币)模型和K-means聚类方法来分析客户价值。首先,我们使用python语言编译爬虫程序,以从企业的客户信息管理系统收集交易记录的数据。然后,通过使用不同的方法,我们获得了不同的客户分类。测试结果表明,所提出的方法虽然简单易行,但却可以提供建设性的建议以在实践中管理客户价值。
关键词:Python,客户价值,ABC分类,RYM分析,聚类
引言
在大数据时代的背景下,公司营销的重点已从以产品为中心转移到以客户为中心,并且公司逐渐认识到客户和服务的重要性[l]客户关系管理已成为企业的核心问题。客户价值分类是客户关系管理中的关键问题之一,它是决策者优化营销资源分配的重要基础[21]。通过客户分类的结果,管理者可以了解客户的不同价值属性。在分析客户的当前价值和潜在价值的基础上,我们可以根据客户的不同价值将其分为不同的组。通过分析不同客户群的差异价值,制定个性化的营销计划并将客户分类结果应用于企业客户关系管理实践,这是实现最大化公司利润的最终目标的关键方法[3]。
最近,许多学者使用不同的分类方法来挖掘和细分客户数据集,并提供了一些建设性的策略来指导企业实践。例如,Mosavi和Afsar(2018)专注于伊朗的Tejarat银行分支机构,系统地集成了多种数据挖掘技术和管理问题以分析客户价值[4]。Daoud等。(2015)进行了一个案例研究,在电子商务领域应用REM模型和聚类技术,以评估客户的价值,以实现最大的利益和双赢的局面[5]。Lu等。(2018)使用SPSS统计软件直接RFM点模型进行客户细分,然后使用嵌套分类通过REM得分区分客户价值,以设计不同的营销策略
这项工作得到了国家自然科学基金(资助号(No. 71771120)和教育部人文社会科学教育项目资助(No. 17YJA630058)的支持。 |
网上商店客户[61。Ge和Chen(2016)开发了一种用于衡量客户价值的运营指标系统,并提出了一些有效管理客户关系的建议[71。Sarvari等。(2015年)确定了最佳的客户细分方法,并根据新近度,频次推断了相关规则
和货币(RFM)考虑因素以及人口统计因素[81。Chang and Ho(2017)建立了一个用于移动电信客户分析的两层聚类模型,并将其与产品结合使用,以帮助员工实施有效的营销[91。Singh(2015)为每位客户创建了经过风险调整的新近度,频率,货币价值(RARFM)评分,以识别潜在的人口统计特征和行为特征,尽管这些学者已使用相关算法对客户的价值进行分类和计算,他们没有整合不同的客户价值。因此,本文结合python爬虫获取相关数据,然后应用三种客户细分算法来提供更具指导性的管理策略。
随着网络信息的爆炸性增长,我们很难从海量信息中快速准确地获取所需信息。在这种背景下,我们使用python Web爬虫技术,该技术具有自动提取Web信息以编程和爬取客户交易记录所需数据的强大功能。清理客户交易记录后,我们使用ABC分类法和RFM分析模型对客户进行分类,然后根据REM模型的分析结果进行K-means聚类,这是评估各种交易价值的主要依据。顾客。最后,根据测试结果,提出了几种具有不同价值的客户目录营销策略,以实现企业的精准营销。据我们所知,现有的大多数文献都只使用一种相关的分类方法来进行客户价值细分。在这项研究中,我们使用ABC分类,REM模型和K-means聚类在python搜寻器数据的基础上细分客户价值。13根据IRFM模型的分类结果
采用K-均值聚类算法对分类结果进行优化。这使得分类结果更加真实和有益。本文的其余部分安排如下。第2节介绍了数据采集,处理和分析的方法。在第3节中,我们对获取的客户交易记录进行分类和分析。在第4节中,我们讨论了客户价值分类的结果并提出了管理策略。最后,第5节总结了本文。
前提
2.1 Python爬虫
Web爬网程序是一种程序或脚本,可根据某些规则将Intemet上的网页信息下载并将其下载到本地计算机。Web搜寻器需要做两件事。一种是模拟计算机向服务器发起请求。另一种是接受服务器的响应内容,然后解析并提取所需的信息。
Python语言是一种功能强大的开源编程语言,语法简洁明了。它具有强大的网络功能[11]。即使面对大量的信息和数据检索需求,我们也只需要编写一些代码即可有效下载网页。同样,我们可以利用其网页解析库来准确解释各种网页的标签[12],然后就可以实现对所需数据信息的提取和保存。当搜寻器提取网页中所需的信息时,我们可以及时保存数据。
2.2 ABC分类
ABC分类强调区分主要和次要因素。这是一种根据经济或技术的主要特征对事物进行分类的分析方法。它区分关键点和一般要点,从而以不同的方式确定管理模式。
2.3 RFM模型
RFM方法是世界上最成熟且可接受的客户价值分析方法。REM强调通过客户的行为来区分客户。它主要是根据客户购买间隔,购买频率和购买数量计算客户价值的方法。模型中的三个重要指标是R-Recency,F-frequency和M-Momentary。
2.4 K-均值聚类
K-均值聚类是最经典的基于分区的聚类方法,也是最简单,最有效的聚类算法。K-means算法的基本思想是将空间中的k个点聚类为质心,并对最接近它们的对象进行分类。迭代地,将聚类中心的值一一更新,直到获得最佳的聚类结果。它是从数据点到原型的距离,作为优化的目标函数,使用函数极值法来获得迭代运算的调整规则。K均值以欧氏距离作为相似度度量,并使用误差平方和准则函数作为聚类准则函数。
方法
3.1数据收集
本文的目的是基于数据分析来识别客户价值。因此,在与企业沟通我们的数据需求之后,我们能够登录企业网页的后台管理并浏览其客户数据和相关信息。考虑到数据获取的困难,我们使用基于python的网络爬虫技术来编译代码以从网页获取客户交易记录。我们使用python搜寻器程序来搜寻客户交易的相关信息,将数据转换为.xlsx格式并将其直接保存到本地计算机。我们的编程环境是:Python 3.7.0,Windows 7和JetBrains PyCharm 2018.2.2。使用的Python第三方库包括:XLlwt,Beautiful Soup,Selenium,Os和Time。爬网过程的框架如图1所示。具体步骤如下。
步骤l。通过分析网页结构,我们在客户信息页面中搜寻客户信息。
步骤2.对于每个客户记录,我们获得其订单链接,模拟计算机以进入订单信息页面并抓取客户交易记录。
步骤3.转到“订单信息”页面以爬网所有交易记录,直到它是最后一个交易记录为止。第4步。然后,我们返回到客户信息页面,并重复第1步到第3步,直到它是最后一个客户信息记录为止。
步骤5.将交易记录和相应的客户信息保存到excel文件中。
图1.框架或爬网过程
一些关键代码如下所示。
Cyclic crawling of customer information.
while True:
soup = BeautifulSoup(driver.page_source, html.parser);
customer_info= soup.find all(tbody)[0].find_all(lsquo;tdrsquo;);
customer list = [];
for data in customer info:
customer_list. append(data. text) ;
Cyclic crawling of order information.
while True:
soup = BeautifulSoup(driver.page_source, html.parser);
content_o= soup.find all(td, class [orderall, text-r]); data list =[];
for data in content o: data_list. append(data.text);
Data preservation.
Book = xlwt.Workbook(encoding=lsquo;UTF-8rsquo;);
Sheet1 = book.add_sheet(lsquo;sheet1rsquo;,
cell_overwrite_ok=True);
Heads = =[lsquo;customer_numberrsquo;,lsquo;transaction_timersquo;,
lsquo;transaction_amountrsquo;,lsquo;transaction_typersquo;];
for list in list_record:
col = 0;
record_info.extend(list);
for data in record_info:
sheet1.write(row,col,data);
col =1;
row =1;
book.save(lsquo;customers_order.xlsxrsquo;);
我们将执行此爬虫程序7个小时。该程序成功抓取了79291个交易记录。这些记录总结了1600位客户。原始数据收集样本如表1所示。该表包括四个字段:客户编号,交易时间,交易金额和transaction_type。由于记录与客户的隐私有关,因此我们忽略了客户信息,并在第一列中按一定的规则对它们进行了编号。第二列是客户交易发生的日期。时间为2015年10月10日至2018年9月29日。第三列是客户交易金额。第四列是客户交易的类型,包括正常,礼物和退货。
表1 原始客户交易记录
顾客号码 |
交易时间 |
交易金额 |
交易类型 |
10001 |
2015/10/6 |
1798年 |
普通的 |
10002 |
2015/11/26 |
1943年 |
普通的 |
hellip;hellip; |
hellip;hellip; |
hellip;hellip; |
hellip;hellip; |
50320 |
2018/09/19 |
1181 |
普通的 |
3.2日期预处理
通过基本筛选,可以发现交易量中零消耗和负消耗。我们继续观察transaction_type,发现所提到的情况是由“礼物”和“退货”引起的,这些记录没有用,并从我们的数据集中消除了这些,最后,我们得到了74308条记录,并在订单号上添加了维数每个记录按事务处理时间从小到大的顺序排列在表2中。
表2。已处理的客户交易记录
订单号 |
顾客号码 |
交易时间 |
交易金额 |
交易类型 |
00001 |
20279 |
2015/10/1 |
1237 |
普通的 |
00002 |
20035 |
2015/10/1 |
378 |
普通的 |
hellip;hellip; |
hellip;hellip; |
hellip;hellip; |
hellip;hellip; |
hellip;hellip; |
74308 |
40318 |
2018/09/29 |
935 |
普通的 |
3.3数据分析方案设计
通过python语言编程对数据进行爬取并用excel进行清理后,我们可以分析获取的客户交易记录并计算客户价值。我们从两个角度分析数据。一方面,我们使用ABC分类来划分客户。另一方面,我们使用RYM模型计算指标得分,然后根据REM结果使用K-means聚类方法对客户进行分类。分析过程如图2所示。
测试结果
4.1 ABC分类结果
我们主要使用customer_number,总交易量的总金额和客户消费在总营业额中的比例对客户进行分类。根据经验值对ABC分类的主要,次要
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[405921],资料为PDF文档或Word文档,PDF文档可免费转换为Word