为什么做客户流失模型分析?

1、企业再发展新用户成本很高

2、客户的流失会给企业造成很大的损失,一个老客户的价值相当于三个新客户的价值

3、客户的流失不仅给企业带来经济上的损失,同时也给企业的名誉和口碑造成伤害

三步快速客户流失模型分析!

1、使用Python分析并处理客户流失数据集

2、选用逻辑斯蒂回归(logistic regression)简单建模

3、最后使用拟合模型来进行客户流失预测

案例参考Clinton W. Brownley《Foundations for Analytics with Python》

数据地址https://raw.githubusercontent.com/EricChiang/churn/master/data/churn.csv

处理客户流失数据集

客户流失数据集是一个记录电信公司现有的和曾经的客户的数据文件,有1个输出变量和20个输入变量。

输出变量是一个布尔型变量,表示客户是否已经流失。

输入变量是客户的电话计划和通话行为的特征,包括状态、账户时间、区号、电话号码、是否有国际通话计划、是否有语音信箱、语音信箱消息数量、白天通话时长、白天通话次数、白天通话费用、傍晚通话时长、傍晚通话次数、傍晚通话费用、夜间通话时长、夜间通话次数、夜间通话费用、国际通话时长、国际通话次数、国际通话费用和客户服务通话次数。

创建一个新列churn01,并使用numpy的where函数根据churn这一列中的值用1或0来填充它。churn这一列中的值不是True就是False,所以如果churn中的值是True,那么churn01中的值就是1,如果churn中的值是False,那么churn01中的值就是 0。

输出处理好的数据:

选用逻辑斯蒂回归简单建模

在这个数据集中,因变量是一个二值变量,表示客户是否已经流失。因变量是一个二值变量,所以需要将预测值限制在0和1之间,逻辑斯蒂回归可以满足这个要求。逻辑斯蒂回归通过使用逻辑函数(或称逻辑斯蒂函数)的反函数估计概率的方式来测量自变量和二值型因变量之间的关系。

对客户服务通话次数这部分数据进行了摘要分析,先按照一个新变量 total_charges 中的值使用等宽分箱法将数据分成 5 个组,然后为每个分组计算 5 个统计量:总数、最小值、均值、最大值和标准差。创建一个新变量total_charges,表示白天、傍晚、夜间和国际通话费用的总和。

churn['total_charges'] = churn['day_charge'] + churn['eve_charge'] + \churn['night_charge'] + churn['intl_charge']dependent_variable = churn['churn01']independent_variables = churn[['account_length', 'custserv_calls', 'total_charges']]independent_variables_with_constant = sm.add_constant(independent_variables, prepend=True)logit_model = sm.Logit(dependent_variable, independent_variables_with_constant).fit()print(logit_model.summary2())# print("\nQuantities you can extract from the result:\n%s" % dir(logit_model))print("\nCoefficients:\n%s" % logit_model.params)print("\nCoefficient Std Errors:\n%s" % logit_model.bse)

建模结果如下:

new_observations = churn.loc[churn.index.isin(range(16)), independent_variables.columns]new_observations_with_constant = sm.add_constant(new_observations, prepend=True)y_predicted = logit_model.predict(new_observations_with_constant)y_predicted_rounded = [round(score, 2) for score in y_predicted]print(y_predicted_rounded)

预测结果如下:

变量 y_predicted中包含着16个预测值。为了使输出更简单易懂,可以将预测值保留两位小数。

客户流失预测模型python_教你用Python快速上手构建客户流失模型分析相关推荐

  1. Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型

    Python使用sklearn构建lasso回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录

  2. Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型

    Python使用sklearn构建ElasticNet回归模型并指定样本权重:即构建带样本权重(sample_weight)的回归模型 目录

  3. 2 Python快速上手

    2 快速上手 课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能. 课程概要: 初识编码(密码本) 编程初体验 输出 初识数据类型 变量 注释 输入 条件语句 1.编码(密码 ...

  4. python快速上手 让繁琐工作自动化 英文版_入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码...

    入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. ...

  5. 客户流失预测模型python_使用python进行客户流失案例分析

    1 商业理解流失客户是指那些曾经使用过产品或服务,由于对产品失去兴趣等种种原因,不再使用产品或服务的顾客. 电信服务公司经常使用客户流失分析和客户流失率作为他们的关键业务指标之一,因为留住一个老客户的 ...

  6. 重点客户销售数据分析python_药品销售数据分析--python

    一.数据分析的目的 数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程. 本篇文章中,假设以朝阳医院2018年销售数据为例,目的是了 ...

  7. 重点客户销售数据分析python_项目实战 | 使用python分析销售数据

    数据分析的步骤为(5步): 提出问题->理解数据->数据清洗->构建模型->数据可视化 一.提出问题 1.问题概览 从销售数据中分析以下业务指标: 1)月均消费次数 2)月均消 ...

  8. 教你用 Python 快速批量转换 HEIC 文件

    点击上方 "AirPython",选择 "加为星标" 第一时间关注 Python 原创干货! 1. 前言 大家好,我是安果! 最近打算做一批日历给亲朋好友,但是 ...

  9. 教你用 Python 快速获取行业板块股,辅助价值投资!

    大家好,我是菜鸟哥! 本篇文章,我们来聊聊如何根据「 行业板块 」辅助我们进行价值投资. # 1. 行业板块 行业板块与概念股在定义上还是有很大区别的. 一般来说,概念板块的风险更大,基于某个消息被短 ...

最新文章

  1. aspx 与 ashx cs
  2. 通过负载均衡器+域名实现容灾切换-(3)浏览器的DNS缓存过程
  3. ThinkPHP6项目基操(8.多应用模式)
  4. SecSolar:为代码“捉虫”,让你能更专心写代码
  5. 25岁什么都不会进入软件测试晚吗?别让假努力毁了你...
  6. csv java 科学计数法_javaweb开发页面数字过长显示科学计数法的问题
  7. 【C++】C++中substr的用法
  8. HFSS阵列天线设计与仿真3
  9. Windows安全加固
  10. 0.5mm的焊锡丝能吃多大电流_【高考必备】高考物理5大类型的实验要点整理,考前一定要看!...
  11. 2021年年总结:你无法让每个人都满意,甚至是大多数人。
  12. MySQL的三层架构(连接认证、解析优化和存储引擎)
  13. 电脑突然复制粘贴不了
  14. 拉普拉斯矩阵(Laplacian matrix)及其变体
  15. 容斥定理与鸽巢定理(抽屉定理)
  16. CentOS /Linux 开放80、8080端口或者开放某个端口
  17. 关系型数据库表之间的联系[关系]详解
  18. 基于微信小程序投票评选系统设计与实现开题答辩PPT
  19. java下载m3u8视频,解密并合并ts(二)
  20. 【现代货币银行学】信用和利率(上)

热门文章

  1. 【北亚数据恢复】误操作分区损坏导致SqlServer数据库数据丢失的数据恢复案例
  2. java geometry mysql_Java Geometry空间几何数据的处理应用
  3. Vue2+Node.js前后端分离项目部署到云服务器
  4. 基于深度学习的2D图像目标检测
  5. lsmod,insmod
  6. Git使用时无.ssh目录:/.ssh: No such file or directory
  7. 支付系统-概念与架构
  8. ANSYS渡槽槽身动水压力的施加(2)——U型渡槽
  9. 条码标签设计软件Nicelabel使用方法
  10. linux 无法使用pstree命令