中国是世界第二大保险市场,但在保险密度上与世界平均水平仍有明显差距
保险行业2018年保费规模为38万亿,同比增长不足4%,过去“短平快“的发展模式已经不能适应新时代的行业发展需求,行业及用户长期存在难以解决的痛点,限制了行业发展发展环境。
互联网经济的发展,为保险行业带来了增量市场,同时随着网民规模的扩大,用户的行为习惯已发生转变,这些都需要互联网的方式进行触达。
保险科技:当前沿科技不断应用于保险行业,互联网保险的概念将会与保险科技概念高度融合。
中国保险市场持续高速增长。根据银保监会数据,2011~2018年,全国保费收入从1.4万亿增长至3.8万亿,年复合增长率17.2%。2014年,中国保费收入突破2万亿,成为全球仅次于美国、日本的第三大新兴保险市场市场;2016年,中国整体保费收入突破3万亿,超过日本,成为全球第二大保险市场;2019年,中国保费收入有望突破4万亿。
发展现状
受保险行业结构转型时期影响,互联网保险整体发展受阻,2018年行业保费收入为1889亿元,较去年基本持平,不同险种发展呈现分化格局,其中健康险增长迅猛,2018年同比增长108%,主要由短期医疗险驱动
供给端专业互联网保险公司增长迅速,但过高的固定成本及渠道费用使得其盈利问题凸显,加发展现状强自营渠道建设及科技输出是未来的破局方法,渠道端形成第三方平台为主,官网为辅的格局,第三方平台逐渐发展出B2C、B2A、B2B2C等多种创新业务模式。
互联网保险不仅仅局限于渠道创新,其核心优势同样体现在产品设计的创新和服务体验的提升竟合格局:随着入局企业増增多,流量争夺更加激烈,最终保险公司与第三方平台深度合作将成为常态发展趋势
发展趋势
随着入局企业增多,流量争夺更加激烈,最终保险公司与第三方平台深度合作将成为常态。发展趋势
当前沿科技不断应用于保险行业,互联网保险的概念将会与保险科技概念高度融合。
衡量指标
业务目标
数据分析
分析流程框架
导入数据
df=pd.read_csv(r'data.csv',sep=',',header=0)
df.shape
(5000000,50)
数据探索性分析
描述性统计
在我们正式建模型之前,我们需要对我们的数据进行描述性统计,这样我们就能知道整个数据的大致分布是什么样的,做到心里有数,然后能够数据大致的全貌有一定的了解。
type_0=df.dtypes
type_0.to_excel('original.xlsx')
#将KBM_INDV_ID的int64转化为object
df['KBM_INDV_ID']=df['KBM_INDV_ID'].astype('object')
describe=df.describe().T
type(describe)
describe.to_excel('../output/describe_var.xlsx')
#引入画图模块
plt.subplot(1,2,1)
sns.countplot(x='N2NCY',hue='resp_flag',data=df);#设置x,y以及颜色控制的变量,以及画图的数据
plt.xlabel('N2NCY');
plt.ylabel('Frequency');
#了解因变量的分布
Resp_count=df['KBM_INDV_ID'].groupby(df['resp_flag']).count()
print(Resp_count)
str(round(Resp_count[1]/len(df)*100,2))+str('%')#查看购买了
从这个图片我们可以看到,买了保险的用户和未买保险的人所处县的情况。
NextStep:
#检查是否有缺失的行
df.shape[0]-df.dropna().shape[0]###
#检查是否有缺失的列
len(df.columns)-df.dropna(axis=1).shape[1]#626
NA=df.isnull().sum()
print('orginalNA=',NA)
NA=NA.reset_index()
NA.columns=['Var','NA_count']
NA=NA[NA.NA_count>0].reset_index(drop=True)
print(NA)
NA.to_excel('../output/var_incl_na.xls',index=False)
####处理缺失值
var_char_na=[]
#我们对连续型数据进行中位数填补,然后对离散型数据进行特殊值填补,我们这里利用的是N
foriinrange(len(NA)):
ifNA['NA_count'][i]/len(df)>0.75orlen(df[NA['Var'][i]].unique())<=2:
deldf[NA['Var'][i]]
elifdf[NA['Var'][i]].dtypes!="object":
#填充缺失值-中位数
for_na_value=df[NA['Var'][i]].quantile(0.5)
#for_na_value
df[NA['Var'][i]]=df[NA['Var'][i]].fillna(for_na_value)
elifdf[NA['Var'][i]].dtypes=="object"andlen(df[NA['Var'][i]].unique())<=3:
df[NA['Var'][i]]=df[NA['Var'][i]].fillna('N',inplace=True)
else:
var_char_na.append(NA['Var'][i])
var_char_na
处理分类型变量
#DropVariablesthatarenotnecessary
drop_list=['STATE_NAME','KBM_INDV_ID']
forvarindrop_list:
deldf[var]
##检查数据集中数值型变量和字符型变量
var_num=[]
var_char_uniq2=[]
var_char_mul=[]
forvarinlist(df):
ifdf[var].dtypes=="object"andlen(df[var].unique())>2:
var_char_mul.append(var)
elifdf[var].dtypes!="object":
var_num.append(var)
var_char_uniq2.append(var)
##处理多值型字符变量
forvarinvar_char_mul:
temp=pd.get_dummies(df[var],prefix=var,prefix_sep='_')
print(temp)
forvar2inlist(temp):
ifvar2in'_nan':
deltemp[var2]
df=pd.concat([df,temp],axis=1)
deltemp
len(df.columns)##88
df.head(5)
df.to_excel('../output/data.xls',index=False)
##处理二值型的字符变量
fromsklearn.preprocessingimportLabelEncoder
definteger_encode(var):
values=np.array(df[var])
label_encoder=LabelEncoder()
df[var]=label_encoder.fit_transform(values)
forvarinvar_char_uniq2:
iflen(df[var].unique())<2:
else:integer_encode(var)
建模
#引用sklearn模块
fromsklearnimporttree
fromsklearn.model_selectionimporttrain_test_split
fromsklearn.metricsimportclassification_report
#fromsklearnimportcross_validation,metrics
fromsklearnimportmetrics
fromsklearn.model_selectionimportcross_val_score
#fromsklearn.grid_searchimportGridSearchCV
fromsklearn.model_selectionimportGridSearchCV
rcParams['figure.figsize']=12,4
##在模型样本内将数据集7:3分,70%用来建模,30%用来测试
features=list(df.columns[1:])
X=df[features]
y=df['resp_flag']
#将数据集7:3分,70%用来建模,30%用来测试
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.3)
clf=tree.DecisionTreeClassifier()
param_test={'min_samples_leaf':list(range(1000,6000,100)),'min_samples_split':list(range(4000,6000,100))}
gsearch=GridSearchCV(estimator=clf,
param_grid=param_test,scoring='roc_auc',n_jobs=1,iid=False,cv=5)
gsearch.fit(X_train,y_train)
#gsearch.grid_scores_,gsearch.best_params_,gsearch.best_score_
gsearch.cv_results_,gsearch.best_params_,gsearch.best_score_
验证输出结果
clf=tree.DecisionTreeClassifier(
class_weight=None,
criterion='gini',
max_features=None,
max_leaf_nodes=8,
min_samples_leaf=2000,
min_samples_split=5000,
min_weight_fraction_leaf=0.0,
splitter='best')
results=modelfit(clf,X_train,y_train,X_test,y_test)
importos
importpydotplus
fromIPython.displayimportImage
fromsklearn.externals.siximportStringIO
#os.environ["PATH"]+=os.pathsep+'C:/Users/yacao/Downloads/graphviz-2.38/release/bin'
dot_data=StringIO()
out_file=dot_data)
输出规则
if(df['meda'][i]<=56.5):
if(df['age'][i]<=70.5):
if(df['c210hva'][i]<=312.5):
if(df['ilor'][i]<=10.5):
temp=11
segment.append(temp)
temp=12
temp=8
if(df['tins'][i]<=5.5):
temp=9
temp=10
if(df['pdpe'][i]<=46.5):
if(df['MOBPLUS_M'][i]<=0.5):
temp=13
temp=14
temp=4
业务应用
第一类:
第二类:
这一类人群,是区域内常住的高端小区的用户。这些人群也同样是我们需要重点进行保险营销的对象。
除此之外,我们还可以做什么呢?
了解客户需求
开发新的保险产品
数据分析咨询请扫描二维码
在当今以数据为导向的商业环境中,数据分析师的角色变得越来越重要。无论是揭示消费者行为的趋势,还是优化企业运营的效率,数据...
金融数学是一门充满挑战和机遇的专业,它将数学、统计学和金融学的知识有机结合,旨在培养能够运用数学和统计方法解决复杂金融市...
在信息时代的浪潮中,大数据已成为推动创新的重要力量。无论是在商业、医疗、金融,还是在日常生活中,大数据扮演的角色都愈发举...
随着大数据技术的迅猛发展,数据已经成为现代商业、科技乃至生活各个方面的重要资产。大数据专业的毕业生在这一变革背景下,拥有...
在快速演变的数字时代,数据分析已成为多个行业的核心驱动力。无论你是刚刚踏入数据分析领域,还是寻求进一步发展的专业人士,理...
Python作为一种通用编程语言,以其简单易学、功能强大等特点,成为众多领域的核心技术驱动者。无论是初学者还是有经验的编程人员...
在当今数据驱动的世界中,数据分析已成为许多行业的基础。无论是商业决策,产品开发,还是市场策略优化,数据分析都扮演着至关重...
数据分析作为现代商业和研究领域不可或缺的一部分,吸引了越来越多的初学者。然而,自学数据分析的过程中,初学者常常会遇到许多...
在当今的数据驱动世界中,机器学习方法在数据挖掘与分析中扮演着核心角色。这些方法通过从数据中学习模式和规律来构建模型,实现...
随着数据在各个行业的重要性日益增加,数据分析师在商业和技术领域的角色变得至关重要。其核心职责之一便是通过数据可视化,将复...
数据分析师的职责不仅仅局限于解析数据和得出结论,更在于将这些复杂的信息转换为清晰、易懂且具有影响力的沟通。良好的沟通能力...
数字化转型是企业提升竞争力和实现可持续发展的关键路径。面对快速变化的市场环境,以及技术的飞速发展,企业在数字化转型过程中...
CDA数据分析师认证:CDA认证分为三个等级:LevelⅠ、LevelⅡ和LevelⅢ,每个等级的报考条件如下:Le...
自学数据分析可能是一条充满挑战却又令人兴奋的道路。随着数据在现代社会中的重要性日益增长,掌握数据分析技能不仅能提升你的就...
数据挖掘与分析在金融行业的使用在当今快速发展的金融行业中,数据挖掘与分析的应用愈发重要,成为驱动行业变革和提升竞争力的...
学习数据挖掘需要掌握哪些技能数据挖掘是一个不断发展的领域,它结合了统计学、计算机科学和领域专业知识,旨在从数据中提取有...
统计学作为一门基于数据的学科,其广泛的应用领域和多样的职业选择,使得毕业生拥有丰厚的就业前景。无论是在政府还是企业,统计...