徐明,商振东
国网浙江常山县供电有限公司,浙江 衢州 324200
摘要:电费是供电企业收入的主要来源,是供电企业经济效益的最终体现。由于内外部诸多因素共同影响,特别是2020年初疫情的发生,电费回收难已经直接影响到国家电网的利益。本文运用大数据分析方法,例如层次分析法、随机森林等构建了疫情形势下电力客户欠费风险指数,详细并定量地描述了在新形势下企业客户的欠费风险,并且用聚类的方法细致分析了企业欠费的来源和成因,为供电公司的电费回收提供风险预警。
关键词:客户欠费风险;层次分析法;随机森林;疫情;客户分群
A combined model for identifying payment default risk and a method for clustering defaulting customers
Abstract: Electricity charge is the main source of the income of power supply companies, and it is the final measurement of the economic benefits of power supply companies. Due to the joint influence of many internal and external factors, especially the occurrence of the epidemic situation in the early 2020, the difficulty of electricity payment recovery has directly affected the interests of the State Grid. This paper uses big data analysis methods, such as AHP, Random Forest, to construct a risk model of customers defaulting payment under epidemic situation. The risk of enterprise customers owing charges under the new situation is described and quantified in details, and the sources and causes of enterprise defaulting payment are analyzed in detail by using clustering method, which provides early warning for electricity charge recovery.
0 引言
在电力经营中, 由于长期采用“先用电, 后付费”的交易规则, 电力商品不能像其他商品那样实行“一手交钱一手交货”的现场等价交换原则, 因此, 无法完全避免客户拖欠甚至逃避缴纳电费的现象, 从而使供电企业承担着不能及时或根本无法回收电费的经营风险。
疫情期间,电网公司为助力企业复工复产,推出了多项临时性电价扶持政策,如欠费不停电和疫情期间不收取电费违约金等。但部分客户利用政策故意拖欠电费或因经营不善无力按时缴纳电费,反映在浙江省衢州供电公司的具体数据上: 用户平均缴费时长较2019年同期的2.75天上升至3.06天,欠费用户的数量较2019年同期1127户上升至1192户。部分用电企业契约精神的缺失,正在加剧着供电公司的经营风险。
在这样的背景下,本文基于供电公司的内部数据和政府信用平台数据,用大数据的分析方法例如层次分析法和随机森林构建企业客户欠费风险指数模型,识别高风险客户,分析欠费风险背后的根因,从而进一步完善电费回收制度,提升管理水平。
1 数据处理
本次建模用到的数据包括衢州供电公司内部的电力数据和衢州政府信用平台数据。其中电力数据基于浙电云平台,为部分企业客户(809个)2018年1月至2020年5月的户名、立户日期、电费缴纳金额、欠费记录、用电量、报装容量等数据(2020年头3个月的欠费记录因为系统变化的原因取不到),衢州政府信用平台数据是衢州市部分企业2018年至2019年的司法、税务、工商、征信等信息,具体为连续经营年限、企业是否正常纳税、公司是否有不动产权、红名单信息、行政处罚信息等。字段清单如下表1所示。
.png)
浙电云平台抽取的809个企业的数据和政府信用平台获取的504个企业的数据通过企业代码进行连接,生成454个企业的数据宽表。模型需要预测和评价的是疫情开始后的2020年4-5月份是否有欠费的发生,所以生成4-5月份是否欠费标识(1/0),此外要衍生的变量还有开户时长、单位用电的费率、2018-2019总欠费次数、2018-2019月均用电量等。衍生完变量之后要对有缺失值的变量进行填充,例如欠费次数和运行年限用零来填充,单位用电的费率用中值来填充。
2 算法模型
本文采用AHP层次分析法构建企业欠费风险评估模型,模型基于电力、政府信用评价等多维数据,采用专家法和熵权法相结合的方法确定指标的权重。为了避免单一算法造成的结果偏差,利用随机森林分类算法计算企业欠费的概率并对层次分析法的计算结果进行加权融合,以此得到更加客观、合理的企业缴费风险评估结果。
2.1层次分析法模型
层次分析法(Analytic Hierarchy Process, AHP)是一种定性和定量相结合的、系统的、层次化的分析方法。层次分析法根据问题的性质和要达到的总目标,将问题分解为不同的组成因素,并按照因素间的相互关联影响以及隶属关系将因素按不同的层次聚集组合,形成一个多层次的分析结构模型。
依据层次分析法,构建企业欠费风险指标体系如下图1所示。
本指标体系包括企业管理、经营情况、用电历史、企业信用风险4个一级指标,前三个一级指标是从供电公司获得的内部数据中提炼的,第四个一级指标包含的都是从政府信用平台获取的数据。其中,企业管理又分为缴费方式和历史欠费记录两个二级指标,显然缴费方式和欠费情况和企业的管理有关,企业的经营情况仅有运行容量一个指标,企业的用电历史分为忠诚度(开户时长)和贡献度(月均用电量),政府信用评价指标涵盖了企业经营稳定性、企业资产、社会良好记录、司法领域信用等4项二级指标。这个指标体系实际上是由政府提供的企业信用信息和企业的用电信息两部分组成的,它较好地反映了企业欠费风险的状况。此外所有指标数据的获取都以2019年年底为截至时间,因此我们能以疫情发生前的企业状况来预估疫情发生后的企业欠费风险。
在计算模型输出时需要对所有指标进行归一化,有些指标如月均用电量和运行容量,少数企业的取值非常大,造成归一化后大部分企业的指标值很小接近于零,所以模型的输出值偏小。采用取对数的方法使各指标不存在少数的极大值,这样模型输出的分布较均衡。
2.2 随机森林模型
除了层次分析法模型外,本文还用多种方法构建分类模型来预测企业在疫情期间欠费的概率。建模的时间窗口如下图所示,用2018-2019时间段的供电公司内部数据和政府信用平台数据来预测2020年4-5月是否有欠费的发生。2020年1-3月的欠费记录因为系统变更原因无法获取,由于疫情从2020年1月底开始,2020年4-5月的欠费记录基本反映了疫情开始后企业的电费缴费情况。
.png)
把454个数据按70/30分为训练集和验证集,用逻辑回归、随机森林、BP神经网络、XGBoost、SVM、KNN等算法来训练分类模型,得到的模型精度情况如下:
可见随机森林模型在验证集上的准确率最高,模型效果最好。在机器学习中,随机森林是集成算法的一种,它利用Bootstrap生成多个样本并形成一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林算法的输出有一个属性是feature_importance_,意思是特征重要性,它的原理是选定一个特征M,在所有OOB样本的特征M上人为添加噪声,再测试模型在OOB上的判断精确率,相比没有噪声时下降了多少,下降得多就表示该特征重要。排名前10的变量如下表所示,其中排名第六和第七的是代表缴费方式和企业地域的哑变量。欠缴费次数排在首尾,表明历史的欠费情况和未来是否欠费密切相关,开户年限排在第二位,表明老客户的风险较新客户低,企业单位用电的费率排在第三位,它代表企业管理用电的好坏。
2.3 加权模型
把随机森林模型输出的概率值和层次分析法确立模型的输出加权处理,得到最终的欠费风险指数:
.png)
在验证集上,随机森林模型的分类精确度是88.32%,AHP模型的分类精确度为83.21%,加权指数模型的精度为89.05%(阈值为50),这表明加权模型比原先的随机森林模型应更稳定和准确。加权模型的混淆矩阵如下,
从混淆矩阵得出的命中率为78.57%,对应的查全率为47.83%,说明这是一个可以应用于实际的模型,因为模型的命中率比较高。
2.4 欠费客户分群
本文为了探究疫情期间有欠费行为的企业的特征,用聚类算法对疫情期间有欠费行为的样本(78个)进行分群。用于聚类的变量有用电增长率(疫情期间相对于正常时段的电量增长)、运行容量、疫情期间月均用电量、企业单位用电的费率、非疫情期间是否欠费(2018-2019)、缴费方式。由于这些变量中后两个是分类变量,其余是连续型变量,聚类时采用K-prototype算法,K-prototype算法是从K-means和K-modes算法发展而来的。
K-means算法有2个核心问题:1.度量记录之间的相关性的计算公式,一般采用欧式距离。2.更新簇内质心的方法,此处采用平均值法,即means。
K-modes算法可以看作是k-means算法在非数值属性集合上的版本。它的具体算法步骤如下:1.度量记录之间的相关性D的计算公式是比较两记录之间所有属性,如属性不同则给D加1,如相同则不加,所以D越大,记录间的不相关程度越强;2.更新modes,使用一个簇的每个属性出现频率最大的那个属性值作为代表簇的属性值;3.类似k-means,调整每条记录所属的簇。
K-Prototype算法是结合K-Means与K-modes算法,针对混合属性的,解决2个核心问题如下:1.度量具有混合属性的方法是,数值属性采用K-means方法得到P1,分类属性采用K-modes方法P2,那么D=P1+a*P2,a是权重。如果觉得分类属性重要,则增加a,否则减少a,a=0时即只有数值属性 2.更新一个簇的中心的方法,方法是结合K-Means与K-modes的更新。K-Prototype算法的目标函数是:
.png)
用K-Prototype聚类算法把疫情期间欠费的样本分为2个群体,聚类中心如下表4所示。
.png)
第一类大约一半的企业非疫情时期没有欠费,从用电增长率可以看出企业用电在疫情期间显著下降,很可能是疫情造成企业不景气并导致企业欠费,这类企业的运行容量和月均用电量均较大,企业的单位用电费率较低,多用金融机构银行柜台代收的缴费方式。第二类的企业在非疫情期间有欠费记录,疫情期间的用电量并未下降,这些企业可能是因为信用不好而继续欠费。这类企业的运行容量和月均用电量较低,企业的单位用电费率较高,揭示企业的用电管理并非最佳。 疫情期间欠费的客户大多采用银行柜台代收的缴费方式或缴费方式不明,而并非金融机构代扣等自动付款方式,这暗中揭示着客户的欠费风险。对这两类客户可以采取不同的电费回收策略,最终减少供电公司的电费损失。
3 结论
本文用层次分析法和随机森林构筑了基于电力内部数据和政府信用数据的客户欠费风险指数模型,它能够帮助供电公司精准定位风险客户,实现电费风险的提前预防。本文继而对疫情期间欠费的客户进行聚类分析,找出客户欠费的根因。欠费风险模型和聚类模型可以辅助供电公司超前落实高风险客户催费“一户一策”,在丰富电费回收管控手段的同时,还可以为信用较好的客户提供帮扶周转金、贷款等服务,降低客户的欠费风险和资金压力。
本文所述的模型在经过本地化以后,可以在各供电公司推广使用。应用的方法是每月跑一次模型,对模型的输出进行滚动更新,以此对近期的欠费风险做出合理的预警。
作者简介:
徐明(1981),男(汉族),浙江衢州人,学士,主要研究方向:电力大数据和电力营销;商振东(1986),男(汉族),山东济南人,学士,主要研究方向:电力大数据和电力营销。