运用神经网络预测客户流失。包括特征构建及筛选、模型构建及调优、客户分层预测
Keras(https://keras.io/)
因公司ETC业务客户流失严重,自发研究客户流失模式,给运营部门同事提供数据支持
1、特征的构建与选取。现有指标包括客户基本信息(身份证号、注册地址、车辆信息,身份证号可解析出出生日期、性别、省份)客户总消费、消费天数、逾期金额、逾期次数、历史最大及最小连续消费天数、历史最大连续不消费天数、近一月消费额等。
2、模型搭建。接口序贯(Sequential)模型。第一层全连接层,激活函数选取relu;第二隐层全连接层,激活函数选取softsign;输出层激活函数选取sigmoid。损失函数选取binary_crossentropy,激活函数选取adam,学习率为默认值。
3、模型运行与调优。初次运行验证集准确率较低,通过调整激活函数及加入Dropout层,得到76%准确率
4、特征引申及筛选。引申指标包括当前不消费天数是否大于历史最大连续不消费天数、近一月消费额与历史最大30天内消费额的比例、客户历史最大连续逾期天数等。通过主成分分析法剔除关联度较低的指标。提高准确率到96%。
5、客户分层。在实际处理过程中,客户流失时间较长(三个月以上)的基本不会回归,因此针对客户流失天数对客户进行分层,本例中分为三层90天以上、45-90天及45天以下,90天以上不做预测,分别对45-90与45-进行预测,准确率分别为91%与74%
6、进一步分析。在45天以下的客户里面,现有指标已无法对其进行细分,经与领导沟通,对其中部分客户进行回访调查不消费原因,相当一部分客户的业务具有周期性,通常为30天或者半月,分析历史连续不消费天数可印证这一点,另外一部分客户数据量很少,难以区分。因此剔除数据量较少客户(取历史消费天数大于30天),最终预测准确率为86%