运营商客户流失率分析
目录
- 1.数据集说明
- 2.分析思路
- 3.数据预处理
- 3.数据分析及可视化
- 3.1.总体流失率分析
- 3.2.用户属性分析
- 3.3.服务属性分析
- 3.4.合同属性分析
- 4.高流失率用户画像
- 5.结论和建议
1.数据集说明
每一行代表一个客户,每一列包含列元数据中描述的客户属性。原始数据包含7043行(客户)和21列(特性)。
字段 | 字段 | 字段说明 |
---|---|---|
customerID: | 用户ID | 身份标识 |
gender | 性别 | (male,female ) |
SeniorCitizen | 是否老年人 | (0, 1 ) |
Partner | 是否有伴侣 | (No, Yes ) |
Dependents | 是否有抚养人 | (No, Yes ) |
tenure | 客户入网时长(月) | (连续值 0-72 ) |
PhoneService | 是否有电话服务 | (Yes, No) |
MultipleLines | 是否有多线服务 | (Yes, No, No phone service) |
InternetService | 客户互联网服务提供商 | (No, DSL数字网络,fiber optic光纤网络 ) |
OnlineSecurity | 是否有在线安全 | (Yes, No, No internet service) |
OnlineBackup | 是否在线备份 | (Yes, No, No internet service) |
DeviceProtection | 设备保护策略 | (Yes, No, No internet service) |
TechSupport | 技术支持 | (Yes, No, No internet service) |
StreamingTV | 在线电视 | (Yes, No, No internet service) |
StreamingMovies | 在线电影 | (Yes, No, No internet service) |
Contract | 合同 | (month-to-month, two year, One year) |
PaperlessBilling | 无纸账单 | (Yes, No) |
PaymentMethod | 支付方式 | (Electronic check, Mailed check, Bank transfer (automatic), Credit card (automatic)) |
MonthlyCharges | 每月服务费 | (连续值) |
TotalCharges | 总话费 | (连续值) |
Churn | 流失标签 | (No, Yes) |
2.分析思路
寻找与流失率有关的特征,进一步分析这些特征如何影响流失率,刻画高流失率用户画像,对高流失率用户提供建议。
3.数据预处理
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from datetime import datetime%matplotlib inline
plt.style.use('ggplot')
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
df = pd.read_csv('电信运营商客户数据集.csv')
df.head()
customerID | gender | SeniorCitizen | Partner | Dependents | tenure | PhoneService | MultipleLines | InternetService | OnlineSecurity | ... | DeviceProtection | TechSupport | StreamingTV | StreamingMovies | Contract | PaperlessBilling | PaymentMethod | MonthlyCharges | TotalCharges | Churn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 7590-VHVEG | Female | 0 | Yes | No | 1 | No | No phone service | DSL | No | ... | No | No | No | No | Month-to-month | Yes | Electronic check | 29.85 | 29.85 | No |
1 | 5575-GNVDE | Male | 0 | No | No | 34 | Yes | No | DSL | Yes | ... | Yes | No | No | No | One year | No | Mailed check | 56.95 | 1889.5 | No |
2 | 3668-QPYBK | Male | 0 | No | No | 2 | Yes | No | DSL | Yes | ... | No | No | No | No | Month-to-month | Yes | Mailed check | 53.85 | 108.15 | Yes |
3 | 7795-CFOCW | Male | 0 | No | No | 45 | No | No phone service | DSL | Yes | ... | Yes | Yes | No | No | One year | No | Bank transfer (automatic) | 42.30 | 1840.75 | No |
4 | 9237-HQITU | Female | 0 | No | No | 2 | Yes | No | Fiber optic | No | ... | No | No | No | No | Month-to-month | Yes | Electronic check | 70.70 | 151.65 | Yes |
5 rows × 21 columns
#查看数据信息
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7043 entries, 0 to 7042
Data columns (total 21 columns):# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 customerID 7043 non-null object 1 gender 7043 non-null object 2 SeniorCitizen 7043 non-null int64 3 Partner 7043 non-null object 4 Dependents 7043 non-null object 5 tenure 7043 non-null int64 6 PhoneService 7043 non-null object 7 MultipleLines 7043 non-null object 8 InternetService 7043 non-null object 9 OnlineSecurity 7043 non-null object 10 OnlineBackup 7043 non-null object 11 DeviceProtection 7043 non-null object 12 TechSupport 7043 non-null object 13 StreamingTV 7043 non-null object 14 StreamingMovies 7043 non-null object 15 Contract 7043 non-null object 16 PaperlessBilling 7043 non-null object 17 PaymentMethod 7043 non-null object 18 MonthlyCharges 7043 non-null float6419 TotalCharges 7043 non-null object 20 Churn 7043 non-null object
dtypes: float64(1), int64(2), object(18)
memory usage: 1.1+ MB
没有数据缺失。
#是否有重复数据
sum(df.duplicated())
0
sum(df.customerID.duplicated())
0
一共有7043名用户的数据。
#将TotalCharges(总消费额)转换为浮点型,错误充为nan值
df['TotalCharges'] = pd.to_numeric( df['TotalCharges'],errors= 'coerce' )
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7043 entries, 0 to 7042
Data columns (total 21 columns):# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 customerID 7043 non-null object 1 gender 7043 non-null object 2 SeniorCitizen 7043 non-null int64 3 Partner 7043 non-null object 4 Dependents 7043 non-null object 5 tenure 7043 non-null int64 6 PhoneService 7043 non-null object 7 MultipleLines 7043 non-null object 8 InternetService 7043 non-null object 9 OnlineSecurity 7043 non-null object 10 OnlineBackup 7043 non-null object 11 DeviceProtection 7043 non-null object 12 TechSupport 7043 non-null object 13 StreamingTV 7043 non-null object 14 StreamingMovies 7043 non-null object 15 Contract 7043 non-null object 16 PaperlessBilling 7043 non-null object 17 PaymentMethod 7043 non-null object 18 MonthlyCharges 7043 non-null float6419 TotalCharges 7032 non-null float6420 Churn 7043 non-null object
dtypes: float64(2), int64(2), object(17)
memory usage: 1.1+ MB
TotalCharges(总消费额)有缺失值。
df[df.TotalCharges.isin([np.NaN])]
customerID | gender | SeniorCitizen | Partner | Dependents | tenure | PhoneService | MultipleLines | InternetService | OnlineSecurity | ... | DeviceProtection | TechSupport | StreamingTV | StreamingMovies | Contract | PaperlessBilling | PaymentMethod | MonthlyCharges | TotalCharges | Churn | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
488 | 4472-LVYGI | Female | 0 | Yes | Yes | 0 | No | No phone service | DSL | Yes | ... | Yes | Yes | Yes | No | Two year | Yes | Bank transfer (automatic) | 52.55 | NaN | No |
753 | 3115-CZMZD | Male | 0 | No | Yes | 0 | Yes | No | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | Two year | No | Mailed check | 20.25 | NaN | No |
936 | 5709-LVOEQ | Female | 0 | Yes | Yes | 0 | Yes | No | DSL | Yes | ... | Yes | No | Yes | Yes | Two year | No | Mailed check | 80.85 | NaN | No |
1082 | 4367-NUYAO | Male | 0 | Yes | Yes | 0 | Yes | Yes | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | Two year | No | Mailed check | 25.75 | NaN | No |
1340 | 1371-DWPAZ | Female | 0 | Yes | Yes | 0 | No | No phone service | DSL | Yes | ... | Yes | Yes | Yes | No | Two year | No | Credit card (automatic) | 56.05 | NaN | No |
3331 | 7644-OMVMY | Male | 0 | Yes | Yes | 0 | Yes | No | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | Two year | No | Mailed check | 19.85 | NaN | No |
3826 | 3213-VVOLG | Male | 0 | Yes | Yes | 0 | Yes | Yes | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | Two year | No | Mailed check | 25.35 | NaN | No |
4380 | 2520-SGTTA | Female | 0 | Yes | Yes | 0 | Yes | No | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | Two year | No | Mailed check | 20.00 | NaN | No |
5218 | 2923-ARZLG | Male | 0 | Yes | Yes | 0 | Yes | No | No | No internet service | ... | No internet service | No internet service | No internet service | No internet service | One year | Yes | Mailed check | 19.70 | NaN | No |
6670 | 4075-WKNIU | Female | 0 | Yes | Yes | 0 | Yes | Yes | DSL | No | ... | Yes | Yes | Yes | No | Two year | No | Mailed check | 73.35 | NaN | No |
6754 | 2775-SEFEE | Male | 0 | No | Yes | 0 | Yes | Yes | DSL | Yes | ... | No | Yes | No | No | Two year | Yes | Bank transfer (automatic) | 61.90 | NaN | No |
11 rows × 21 columns
总消费额缺失的用户,入网时长为0,但显示没有流失,可能是数据记录错误,也可能是免费合约。没有分析意义,应该剔除。
df.dropna(inplace = True)
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 7032 entries, 0 to 7042
Data columns (total 21 columns):# Column Non-Null Count Dtype
--- ------ -------------- ----- 0 customerID 7032 non-null object 1 gender 7032 non-null object 2 SeniorCitizen 7032 non-null int64 3 Partner 7032 non-null object 4 Dependents 7032 non-null object 5 tenure 7032 non-null int64 6 PhoneService 7032 non-null object 7 MultipleLines 7032 non-null object 8 InternetService 7032 non-null object 9 OnlineSecurity 7032 non-null object 10 OnlineBackup 7032 non-null object 11 DeviceProtection 7032 non-null object 12 TechSupport 7032 non-null object 13 StreamingTV 7032 non-null object 14 StreamingMovies 7032 non-null object 15 Contract 7032 non-null object 16 PaperlessBilling 7032 non-null object 17 PaymentMethod 7032 non-null object 18 MonthlyCharges 7032 non-null float6419 TotalCharges 7032 non-null float6420 Churn 7032 non-null object
dtypes: float64(2), int64(2), object(17)
memory usage: 1.2+ MB
df.describe()
SeniorCitizen | tenure | MonthlyCharges | TotalCharges | |
---|---|---|---|---|
count | 7032.000000 | 7032.000000 | 7032.000000 | 7032.000000 |
mean | 0.162400 | 32.421786 | 64.798208 | 2283.300441 |
std | 0.368844 | 24.545260 | 30.085974 | 2266.771362 |
min | 0.000000 | 1.000000 | 18.250000 | 18.800000 |
25% | 0.000000 | 9.000000 | 35.587500 | 401.450000 |
50% | 0.000000 | 29.000000 | 70.350000 | 1397.475000 |
75% | 0.000000 | 55.000000 | 89.862500 | 3794.737500 |
max | 1.000000 | 72.000000 | 118.750000 | 8684.800000 |
目前还有7032个客户信息。
3.数据分析及可视化
3.1.总体流失率分析
plt.figure(figsize = (12,6))
plt.subplot(121)
plt.pie(df['Churn'].value_counts(),labels=df['Churn'].value_counts().index,autopct='%1.2f%%',explode=(0.1,0))
plt.title('用户流失和非流失占比')plt.subplot(122)
x, y = df['Churn'].value_counts().index, df['Churn'].value_counts().values
plt.bar(x, y, width=0.35)
plt.title('用户流失和非流失人数')
for a,b in zip(x,y):plt.text(a, b-0.3,'%.3f'%b, ha = 'center',va = 'bottom',fontsize=15)
流失人数为1869人,占比26.58%。
3.2.用户属性分析
性别、是否老年人、是否有伴侣、是否有抚养人、入网时长与流失率的关系
df.iloc[:,1:5].columns
Index(['gender', 'SeniorCitizen', 'Partner', 'Dependents'], dtype='object')
def churn_rate(data,column): #流失率函数df1 = data[data[column] == data[column].unique()[0]]df2 = data[data[column] == data[column].unique()[1]]df_Churn1 = len(df1.query('Churn == "Yes"'))/len(df1)df_Churn2 = len(df2.query('Churn == "Yes"'))/len(df2)p = plt.bar( [data[column].unique()[0],data[column].unique()[1]],[df_Churn1,df_Churn2])plt.ylabel('流失率')return plt
plt.figure(figsize = (12,8))
plt.subplot(221)
churn_rate(df,'gender')
plt.title('性别与流失率')plt.subplot(222)
churn_rate(df,'SeniorCitizen')
plt.title('年龄与流失率')
plt.xticks([0,1],['非老年人','老年人'])plt.subplot(223)
churn_rate(df,'Partner')
plt.title('伴侣与流失率')
plt.xticks([0,1],['有伴侣','无伴侣'])plt.subplot(224)
churn_rate(df,'Dependents')
plt.title('抚养人与流失率')
plt.xticks([0,1],['无抚养人','有抚养人'])
([<matplotlib.axis.XTick at 0x1ae1c0b7148>,<matplotlib.axis.XTick at 0x1ae1c0ac248>],<a list of 2 Text xticklabel objects>)
性别与流失率无关。
老年用户比非老年用户流失率高,流失率分别为42%,24%。
无伴侣用户比有伴侣用户流失率高,流失率分别为34%,20%。
无抚养人用户比有抚养人用户的流失率高,流失率分别为32%,16%。
#入网时长与流失率
plt.figure(figsize = (12,6))
df.query('Churn == "Yes"').tenure.plot(kind = 'kde')
plt.title('不同入网时长的流失密度图')
plt.xlabel('入网时长')
plt.ylabel('密度')
plt.axvline(3,color = 'b')
plt.axvline(6,color = 'b')
plt.axvline(16,color = 'b')
plt.text(1,0.01,3,fontsize=15)
plt.text(7,0.01,6,fontsize=15)
plt.text(17,0.01,16,fontsize=15)
入网6个月内的用户流失概率最高,其中入网三个月的用户流失概率达到峰值。总体来看,入网时间越长,流失概率越小。
入网第3个月是用户流失的高发期,在前15个月内,提高用户入网时长,对于降低流失率作用显著。建议通过一些策略将用户入网时间提高到3-6个月以后,比如三个月优惠期、入网满三个月发放优惠或奖励等。
3.3.服务属性分析
是否有电话服务(Yes, No)
是否有多线服务(Yes, No, No phone service)
客户互联网服务提供商 (No, DSL数字网络,fiber optic光纤网络)
是否有在线安全(Yes, No, No internet service)
是否在线备份(Yes, No, No internet service)
设备保护策略(Yes, No, No internet service)
技术支持(Yes, No, No internet service)
在线电视(Yes, No, No internet service)
在线电影(Yes, No, No internet service)
df.iloc[:,6:15].columns
Index(['PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity','OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV','StreamingMovies'],dtype='object')
#互联网服务提供商与流失率
def service_churn_rate(data,column):service = pd.DataFrame(data.groupby([column,'Churn']).customerID.count())service_sum = service.groupby(column).customerID.transform(sum) service_churn_rate1 = (service['customerID']/service_sum).xs('Yes',level = 1)return service_churn_rate1plt.figure(figsize = (8,4))
service_churn_rate(df,'InternetService').plot(kind = 'bar')
plt.title('互联网服务提供商与流失率')
plt.xticks([0,1,2],['No','DSL数字网络','光纤网络'])
数字网络和光纤网络的用户流失率分别为0.19、0.42,没有互联网服务的用户流失率为0.07。
可以看出没有互联网服务的用户,其流失率远低于有互联网服务的用户;数字网络DSL的流失率高于光纤网络。
column = list(df.iloc[:,6:15].columns)
column.remove('InternetService')
other_service_churn = pd.Series()
for i in column:a = service_churn_rate(df,i)other_service_churn = pd.concat([other_service_churn,a],axis =1)other_service_churn = other_service_churn.drop(0,axis = 1)
other_service_churn.columns = ['电话服务','多线服务','在线安全','在线备份','设备保护策略','技术支持','在线电视','在线电影']
other_service_churn
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:3: DeprecationWarning: The default dtype for empty Series will be 'object' instead of 'float64' in a future version. Specify a dtype explicitly to silence this warning.This is separate from the ipykernel package so we can avoid doing imports until
电话服务 | 多线服务 | 在线安全 | 在线备份 | 设备保护策略 | 技术支持 | 在线电视 | 在线电影 | |
---|---|---|---|---|---|---|---|---|
No | 0.250000 | 0.250812 | 0.417787 | 0.399417 | 0.391403 | 0.416475 | 0.335351 | 0.337289 |
Yes | 0.267475 | 0.286485 | 0.146402 | 0.215670 | 0.225393 | 0.151961 | 0.301147 | 0.299524 |
No phone service | NaN | 0.250000 | NaN | NaN | NaN | NaN | NaN | NaN |
No internet service | NaN | NaN | 0.074342 | 0.074342 | 0.074342 | 0.074342 | 0.074342 | 0.074342 |
#其他服务与流失率 =
plt.rcParams['xtick.labelsize']=18
plt.rcParams['axes.labelsize'] = 25
plt.rcParams['axes.titlesize'] = 20other_service_churn.T.plot(kind = 'bar',figsize = (18,8),)
plt.title('其他服务与流失率')
plt.ylabel('流失率')
电话服务、多线服务、在线电视、在线电影与流失率关系不大。
没有互联网服务的用户流失率在0.07左右,远低于有互联网服务的用户。
在线安全、在线备份、设备保护策略、在线技术支持与流失率关系较大。在这四个服务中,有服务的用户流失低于没有服务的用户,没有这四个服务的用户流失率均在0.4左右,其中开通在线安全和技术支持的用户流失率最低。
虽然没有互联网服务的用户流失率低,但由于开通服务能得到更多收益,应该使用户在开通服务的前提下减少流失率。
3.4.合同属性分析
合同期 (month-to-month, two year, One year)
无纸账单(Yes, No)
支付方式(Electronic check电子支付, Mailed check邮件支付, Bank transfer (automatic)银行自动转账, Credit card (automatic)信用卡自动支付)
每月服务费
总消费额
plt.rcParams['xtick.labelsize']=15
plt.rcParams['axes.labelsize'] = 12
plt.rcParams['axes.titlesize'] = 16
plt.figure(figsize = (18,14))plt.subplot(221)
service_churn_rate(df,'Contract').plot(kind = 'bar')
plt.title('合同期与流失率')
plt.xticks([0,1,2],['每月到期续签','一年','两年'])plt.subplot(222)
service_churn_rate(df,'PaperlessBilling').plot(kind = 'bar')
plt.title('有纸账单与流失率')
plt.xticks([0,1],['有纸账单','无纸账单'])plt.subplot(212)
service_churn_rate(df,'PaymentMethod').plot(kind = 'bar')
plt.title('支付方式与流失率')
plt.xticks([0,1,2,3],['银行自动转账','信用卡自动支付','电子支付','邮件支付'])
合同期、有纸账单、支付方式均对流失率有影响。
合同期越短,流失率越高。每月到期续签的流失率达到0.4,远高于一年期和两年期的用户。
电子账单的流失率(0.33)高于有纸账单(0.17)。
电子支付的流失率高于其他支付方式。电子支付的流失率是0.48,其他支付方式的流失率在0.15-0.2之间。
#支付费用与流失率
plt.figure(figsize = (12,12))
plt.subplot(221)
df.query('Churn == "Yes"').MonthlyCharges.plot(kind = 'kde')
plt.title('不同月服务费的流失密度图')
plt.xlabel('每月服务费')
plt.ylabel('密度')
plt.axvline(80,color = 'b')
plt.axvline(60,color = 'b')
plt.axvline(118,color = 'b')
plt.text(82,0.01,80,fontsize=15)
plt.text(62,0.01,60,fontsize=15)
plt.text(120,0.01,118,fontsize=15)
plt.subplot(222)
df.query('MonthlyCharges > 100').query('Churn == "Yes"').MonthlyCharges.plot(kind = 'kde')
plt.title('月费>100的流失密度图')plt.subplot(212)
df.query('Churn == "Yes"').TotalCharges.plot(kind = 'kde')
plt.title('不同总消费额的流失密度图')
plt.xlabel('总消费额')
plt.ylabel('密度')
plt.axvline(250,color = 'b')
plt.text(270,0.0001,250,fontsize=15)
月费在18-118之间。月费70-100的用户流失概率较高,60以下的用户流失概率较低,80达到峰值。对于月费小于80的用户,提高月费会增加流失概率,尤其是月费在60-80的用户;对于月费大于80的用户,提高月费会降低流失概率,尤其是月费大于100的用户。
总消费额在18-8700之间。总消费额为250的用户流失概率最高,大于或小于250的流失概率迅速减小,总消费额在2000以上的流失概率较小。一般来说,总消费越高,表明留存时间越长,流失概率也就越小。
4.高流失率用户画像
5.结论和建议
老年人、无伴侣、无抚养人的用户流失率更高,建议针对这部分用户的特点,制定专属套餐,推荐合理的套餐组合。
总体来看,入网时间越长,流失概率越小。入网第3个月是用户流失的高发期,在前15个月内,提高用户入网时长,对于降低流失率作用显著。建议通过一些策略将用户入网时间提高到3-6个月以后,比如三个月优惠期、入网满三个月发放优惠或奖励等。
数字网络DSL的流失率高于光纤网络。建议对数字网络用户情况和服务作进一步分析,以确定具体原因。
没有互联网服务的用户流失率在0.07左右,远低于有互联网服务的用户。虽然没有互联网服务的用户流失率低,但由于开通服务能得到更多收益,应该在用户开通服务的前提下,减少流失率。
在线安全、在线备份、设备保护策略、在线技术支持与流失率关系较大。在这四个服务中,有服务的用户流失低于没有服务的用户,其中开通在线安全和技术支持的用户流失率最低。对于有互联网服务的用户,建议让其开通在线安全或技术支持服务,可降低60%左右的流失概率。
合同期越短,流失率越高;电子账单的流失率高于有纸账单;电子支付的流失率高于其他支付方式。延长用户合同期有利于降低流失率,建议通过优惠吸引用户签订一年期、两年期,比如前几个月减免、赠送其他服务等。
月费70-100的用户流失概率较高,60以下的用户流失概率较低,80达到峰值。对于月费小于80的用户,提高月费会增加流失概率,尤其是60-80的用户应该谨慎提高其月费;对于月费大于80的用户,提高月费会降低流失概率,尤其是大于100的用户增加其月费,或增加服务,可以降低流失概率。
运营商客户流失率分析相关推荐
- 机器学习案例:运营商客户流失的数据分析 #数据去重#数据分组整合#缺失值处理#相关性分析#样本平衡#决策树、随机森林、逻辑回归
运营商客户流失分析 - 飞桨AI Studio 目录 1 数据预处理 1.1 数据集去重 1.2 数据集分组整合 1.3 缺失值处理 1.4 相关性分析 2 样本平衡 3 相关性分析 4 构建模型 4 ...
- 【Paper Note】基于决策树算法的电信运营商客户流失预测
1.引言 随着互联网业务的速发展,移动业务市场的客户流失预警成为每一个电信运营商重点关注的内容,在商务智能与机器学习快速发展的当下,运用数据挖掘的方法,实现对电信客户的挽留.转化.精准营销越来越彰显其 ...
- 通信运营商客户流失预测
通信运营商客户流失预测 一.背景 客户流失是电信行业最重要的服务方面之一.客户流失的广义说法是因为客户自己或运营商违反服务协议而终止客户服务的行为. 然而,客户流失的最主要和最常见的原因是由于客户对运 ...
- 运营商客户流失分析和预测--数据分析项目
背景 关于用户留存有这样一个观点,如果将用户流失率降低5%,公司利润将提升25%-85%.如今高居不下的获客成本让电信运营商遭遇"天花板",甚至陷入获客难的窘境.随着市场饱和度上升 ...
- 支持向量机 实战电信运营商 -客户流失预警
python 里面zip() 函数的用法 subplot2grid 分析与准备数据-开会与讨论 4.1.1 加载数据集 Step.1 通过pandas来导入csv:查看一下数据的基本情况,可以看到, ...
- 运营商客户流失预警建模与精准挽留
客户流失属于流程类的项目 客户流失分析建模 功能实现框架流程 spass,spark,都可以做评估分类 相对来说,提高查全率 选分类
- 一文看懂机器学习流程(客户流失率预测)
点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 定义问题 客户流失率问题是电信运营商面临得一项重要课题,也是一个较为流行的案例.根据测算, ...
- 【关于实施携号转网后运营商控流失营服体系的探讨】
关于运营商控流失营服体系的探讨 携号转网及实施后的现状分析 控流失营服体系 流失关键因素监控 抱怨管理与服务补救 流失挽留 提升转化成本 智慧营服体系 携号转网及实施后的现状分析 携号转网,也称作号码 ...
- SaaS企业如何降低客户流失率?
续费率是SaaS企业的生命线,如何把续费率/续约率持续提升是所有SaaS公司一同面临的挑战,随着疫情的到来,企业支出缩紧,裁员等现象对本就不理想的续费指标更是雪上加霜,以客户为中心几乎是所有人挂在嘴边 ...
最新文章
- PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath settin
- Java并发编程基础与实战
- MSSQL SERVER 2005 数学函数
- 我为什么觉得数据产品经理更吃香了?
- extern C的作用
- 启动数据库报错(2)控制文件丢失
- linux 关掉蓝牙自动,如何在Ubuntu 14.04中默认关闭蓝牙,蓝牙
- 斐波那契数列 在实际问题上的变种
- c语言 at指令,学渣求指教,如何识别字符串中的AT命令并逐个输出,求程序!!!...
- perl中替换文本一例
- 1月31日 资源网站(素材模板)
- 浏览器提取已安装扩展教程
- 数据治理将遇到哪些问题
- 我的天!你竟然没有在SpringBoot中使用过异步请求和异步调用...
- [ 安装 ] Hadoop安装步骤!
- 过来康康,一起来学VScode插件
- matlab与焓湿图,湿空气性质与焓湿图应用
- VMware虚拟机安装MAC OS原版系统,轻松体验苹果操作系统
- qq华夏服务器状态,最国产!QQ华夏199组服务器皆“国名”
- 快速减肥的30种方法