银行定期存款产品目标客户的确定——基于逻辑回归(建模前分析)

一、得到数据集:

银行定期存款产品营销研究变量:
Age:年龄;job:工作类型(行政人员,管理人员,保姆,企业家,学生,蓝领,个体户,技师,退休,服务人员,失业,未知);marital:婚姻状况(已婚,离婚,单身);education:教育水平(初等,中等,高等,未知);default:信用违约(是,否);balance:平均年收支余额;housing:住房贷款(是,否);loan:个人贷款(是,否);contact:联系沟通类型(电话,收集,未知);day:本月最后联系日;month:本年最后联系月(1-12);duration:最后一次联系持续的时间(秒);campaign:本次活动期间联系的客户数量;pdays:在以前的活动中客户最后一次被联系到现在的天数;previous:这次活动之前联系的客户数量;poutcome:以前营销活动的结果(未知,其他,失败,成功);response:客户是否投资定期存款(是,否)。
 

二、业务分析:
大众营销是将一个营销方案应用到所有客户身上,一对一营销则是集中对一个客户进行营销,而对细分市场的营销则介于大众营销和一对一营销之间。
我们的目标是找到具有正向终身价值的客户,或者说是找到终身价值达到我们期望的客户,然后进行客户关系的维护,也就是目标营销。
管理者总是希望预测管理者对促销活动和价格变化的反映,希望预测消费者将在何时何地购买产品,并希望确定哪些是能够帮助公司实现销售收入超过销售和支持成本的优质客户。根据解释变量划分消费群体(聚类),以进行精准营销;或者在制定好方案的情况下,预测那些客户会购买产品(分类),或者是将顾客购买产品可能性从高到低进行排序,基于有限的资金选择客户进行营销。
对于从事直接营销的公司而言,成本也可能与各个单个客户相关联。这些成本包括邮寄费、电话费以及其他直接营销活动产生的成本。而对于从事非直接营销的公司或未对单个客户进行成本记录的公司而言,则采用一般成本估算对客户的终身价值进行估算。

细分变量(解释变量)的种类归纳起来主要有地理环境因素,人口统计因素,消费心理因素,消费行为因素,消费收益因素,这样,就有了地理细分,人口细分,心理细分,行为细分,收益细分这五种细分市场的基本形式。在企业对企业的目标营销中,常用的解释变量包括企业规模、行业领域以及地理位置。在目标营销中,无论是企业对消费者还是企业对企业,解释变量都可以源自我们了解到的有关客户的任何事物,包括以往与客户发生的销售和支持历史记录。
如果目标不是进行聚类这种无监督的学习,而是进行分类或者是回归这种有监督的学习来预测响应变量,就要对响应变量进行挑选,若响应变量为连续型变量(销售价格,销售数量,销售成本,客户终身价值),可用回归分析进行预测。如果是进行分类(客户购买与否,客户是否会推荐本公司产品)可以使用的模型就比较多了,包括决策树,广义线性模型,支持向量机,神经网络,贝叶斯分类(根据变量之间是否有相关关系又分为:朴素贝叶斯分类器,半朴素贝叶斯分类器,贝叶斯网络)。
这里附一张算法选择图:

三、处理流程分析:
这里选择根据以往对客户的电话销售的记录,将客户对定期存款产品的敏感度也就是对产品产生反应的概率大小进行排序,基于有限的营销成本,选取一个截止点,对截止点之上的客户进行精准营销。选取的模型为逻辑回归。
逻辑回归使用注意事项:
逻辑回归是一种广义线性模型,线性模型的鲁棒性很差,易受异常值的影响;
需要考虑特征之间的相关性,处理多重共线性的问题;
Python中的逻辑回归模型不能自主处理缺失值,需要对缺失值进行处理;
由于逻辑回归是对概率进行建模,所以对样本量要求比较严格;

然后是数据预处理(数据清洗,数据转换,数据规约,数据集成):
数据清洗详细细节参见这两篇文章:

数据预处理_数据清理(缺失值、噪声等详细处理)

数据预处理—-(数据探索、数据清理、数据集成、数据规约、数据变换)

1.    数据去重,处理缺失值,噪声,离群点,异常值。
由于这里是用的是线性模型,线性模型对噪声很敏感,建模之前一定要去除异常值。
2.维规约:特征选择和特征提取。本次项目的特征数量较小,基于领域知识挑选出特征子集,一共有8 个特征入选
得到的数据集中一共有17个特征,其中的pdays有取值-1,代表这次活动没有联系过的客户,我们将这部分客户选出来,对这部分客户进行建模,以确定需要联系的客户。
用挑选出的特征子集进行研究,先进行探索性分析,对于连续变量观察比较客户响应和不响应的分布,连续变量之间是否有相关性(散布图矩阵),对分类变量观察客户响应与否在变量的每个取值处占的比例情况。

数据预处理和探索性分析结束后,进入正式的建模过程:

Python里面有专门的建立逻辑回归模型的算法,直接调用即可。
算法会自动将分类变量转变为哑变量,自动为线性模型加上截距项,将分类变量取值转变为数值型分两种情况,如果分类变量取值之间没有序关系,直接转变为哑变量,如果分类变量之间有序关系(比如:初等,中等,高等)可以将其转换为具有大小关系的数值(比如:初等:1,中等:2,高等:3),但是这种取值的序关系Python的逻辑回归算法是识别不出来的,也就是会在模型中多出来一个变量(由于自由度的关系,只引入初等,中等,高等三个变量中的两个),(我们费了很多时间进行维规约,现在通过变量的处理又使维度变大了……),这个目前只能通过肉眼识别,逐个分析特征。

模型建立之后,要进行模型泛化误差的估计,我们这里的任务并不完全等同于分类,我们想要的结果是输出客户购买定期存款产品的可能性,而不是对新样本进行分类(是要对现有客户进行营销,而不是对新客户),所以我们并没有进行训练集和检验集的划分,客户在以前活动中产品的购买与否作为我们参考对模型的评估,选择概率截止点,认为大于此截止点的客户会购买产品,产生混淆矩阵,并用曲线评估截止点的划分质量。

截止点的选取要以利润最大化为标准,这里使用提升图进行分析。

我的下一篇文章将会详细介绍分析的流程。

猜你喜欢

转载自blog.csdn.net/weixin_42144636/article/details/81673198