电信用户流失数据分析及总结

一、项目介绍

随着市场饱和度的上升,电信运营商亟待增加用户粘性,延长用户生命周期。本项目主要对某电信服务商的用户基础数据进行分析以及预测,探索对用户流失有深刻影响的相关指标,帮助服务商制定有针对性的用户挽留计划,提高用户留存率。

二、技术工具

本项目以jupyter notebook为平台,以Python语言为基础,采用pandas进行数据整理和统计分析,用matplotlib、seaborn进行可视化呈现,scikit-learn的LogisticRegression建模预测。

目的:找出用户流失原因,降低流失率,增加用户粘性,延长用户生命周期。

构建用户画像分析,了解客户人群特点:

1.根据数据样本中的性别、老年人以及家庭信息等维度综合分析客户都有哪些群体?根据群体特征可以给产品或运营提出哪些建议?

2.对各业务的人群订购情况展开分析:了解各业务线下的客户群体, 并根据分析客户群体与业务的相关性业务营收能力分析:客户价值及创利能力分析

3.分析案例中的流失状况,并拟合模型,预测客户的流失状况:分析流失的影响因素有哪些?流失的客户群体有哪些?构建模型

数据来源:Kaggle

三、数据清理,分析及可视化

3.1 数据的理解和清洗,类型的转化

理解数据:该数据及集合一共有21个字段,7043条数据。电信用户流失数据分析及总结_第1张图片
数据集反映了客户四个方面的信息:
1.用户流失指标
(churn)

2.用户个人信息(CustomerIDgender,SeniorCitizen,Partner,Dependents)

3.用户账户信息(tenure,Contract,PaperlessBilling,PaymentMethod,MonthlyCharges,TotalCharges)

4.用户订阅服务信息(PhoneService,MultipleLines,InternetService,OnlineSecurity,OnlineBackup, DeviceProtection,Techsupport,StreamingTV,StreamingMovie)

#导入python的相关库并导入数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import os
sns.set(style = 'darkgrid',font_scale = 1.5)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
os.chdir(r'C:\Users\86131\Desktop\数据分析文件\电信用户流失')

df= pd.read_csv('WA_Fn-UseC_-Telco-Customer-Churn.csv',encoding = 'ISO-8859-1',dtype = str)
#查看数据情况
df.info()
#数据完整,没有缺失值。数据类型均为object类型

# 查看每一列的数据取值
for x in df.columns:
    test = df.loc[:,x].value_counts()
print('{0}的行数是:{1}'.format(x,test.sum()))
print('{0}的数据类型是:{1}'.format(x,df[x].dtypes))
print('{0}的内容是:\n{1}\n'.format(x,test))

#各字段的null值数量
df.isnull().sum()

#各字段缺失率
df.apply(lambda x:sum(x.isnull())/len(x))

# #冗余值处理
df.drop_duplicates()
# 将TotalCharges 总消费额的数据类型转为浮点型数据
# df['TotalCharges'].astype(float)

#检查TotalCharges列
df['TotalCharges'].isnull().count()
#无缺失值

#TotalCharge字段存在空字符串
df['TotalCharges'] = df['TotalCharges'].replace(' ',).astype(float)

#也转化一下另外三个字段MonthlyCharges,tenure,SeniorCitizen
df

你可能感兴趣的:(python,数据分析)