基于现金流循环同步周期的异常企业检测方法

前言

本文介绍了现金流研究院团队在进行细分行业现金流数据分析时所采用的指标衡量方法,该方法已应用于「水落实出」系列行业现金流分析课程中。本文围绕现金流循环周期展开,讨论了两种现金流分析指标的衡量方法,来判断企业是否满足行业普遍的周期规律,以及比较各企业与行业基线的差异性,并可进一步应用于异常企业检测。


企业经营的现金循环周期,是指消耗现金取得原材料开始到销售存货并收回现金为止的这段时间。现金循环周期的长短,不仅体现企业的资产管理水平,还会影响企业的盈利能力和偿债能力。

企业经营周期会反映在现金流数据中,在进行企业现金流数据分析时,当所有交易数据混杂在一起时会难以找到清晰的经营周期。因此,在不明显的情况下可以通过统计经营性/投资性/筹资性/内部转账/水/电/税等的分类单项或组合项来更明晰地找到经营周期。通过见知现金流尽调系统的分类标签, 我们已经可以方便地筛选和剥离出现金流的收支,如经营性收支、内部转账、投资性收支、水电税费等。

假设同一细分行业或产业链的企业有着相似的经营周期,归纳后表现形式分以下两种情况:

  • 现金流同步循环周期
  • 部分行业存在会导致经营变化的特定时期(如烟酒销售行业因逢年过节导致的现金流变化),或所属行业存在会导致经营变化的季节性因素,如寒暑期规律(如电影行业、农产品生产及加工行业)。在此类行业内的企业普遍具有类似的波峰波谷时期。

注释:每条线代表一家企业的现金流数值变化。因为所有的周期函数都可由傅里叶变换分解为若干三角函数的和,所以此处以三角函数举例。下同。

  • 现金流异步循环周期
  • 行业内虽然具有类似的生产周期,但不同企业之间存在时间差异(如水泥等建材行业和建筑行业)。虽然此类行业企业的循环周期时间相同,但具体的波峰波谷时期存在差异。

在实际分析时,单一项目的流水变化不一定都能找出类似规律。这时我们同样可以考虑经营性收支,内部转账,投资性收支,水电税费等其他收支,分类后再分月/天/分时段等统计,寻找可能存在的周期性规律。


基于现金流同步周期的异常企业检测方法

以分月统计经营性现金流为例:我们如何基于企业经营性现金流,比较它们是否具有类似的周期规律?如何判断他们是否满足行业的普遍周期规律呢?

图为一家企业经营性现金流的分月收支情况

首先,为了平衡企业经营规模带来的误差,我们选取同行业下具有相近规模的7家企业样本,分别计算其分月流水占全年的比例.如下图所示:

注释:实际分析时可按需分类统计不同经营规模范围的企业,比如将同行业中小微和规模以上企业进行区分。

可以看出这7家公司的线十分杂乱,那么该如何去度量比较它们呢?针对这种情况下的两种业务场景, 我们给出两套度量方法:

  • 方法一:基于概率密度函数(PDF)找出行业内异常企业

基于同行业各企业分月流水统计数据,通过概率密度函数(PDF, Probability Density Function)拟合出每月经营性流水占全年经营性流水的分布规律。

注释:图中以一月流水的概率密度分布为例,红线为预警边界值,绿线为行业基线。可根据行业实际情况与容忍度左右调整红线以选取不同的阈值。


上图中,红线表示该行业企业一月经营性流水应占全年 6~14% ,处于两条红线区间以外的企业为异常,需进一步调查该企业于该月有何特殊行为。


若该企业存在多月异常,那么建议关注该企业于该年度有何特殊行为,分析该企业经营实质是否存在异常。


  • 方法二:基于行业基线与优化距离度量方法(EDM)比较企业与行业、企业间差异,或同企业不同年份间的差异。

通过比较各公司与行业基线的差异,可用于异常企业检测。下面以度量各企业与行业基线的差异为例:

行业基线可由数据分析师根据数据情况与应用场景定义。如同行业各企业分月流水比例的均值,或各月分布峰值(上图中绿线)的加权平均。

记N为特征数(此例中为12个月),{_}, {_}为待比较样本:

1、传统欧式距离度量:

2、优化后的度量模式(EDM, Enhanced Distance Measurement):

(其中超参数 C 由各指标数据数量级确定;设置正常量 K 从而保证 log 有意义。)


实际效果:(C=50, K=1)

若运用传统欧式距离去度量,实际应用中将很难量化定义“差异大”的尺度标准。在此例中,我们判断欧氏距离大于14为差异大(即样本中大部分企业与基线差距小于14),但此标准仅针对该样本有效,且难以判断10, 11, 12, 13是否也可以定义为“差异大”。

注释:两个样本(样本间平方距离196)在传统欧式距离中度量结果为 14,对应优化后的度量模式结果则为 0.9

若运用优化后的度量模式,首先,差异将标准化在[0,1]区间内,我们将有一个相对恒定的异常检测阈值,该方法可以压缩大部分正常数据与行业基线的距离度量结果于0.9以内。此外,相比于相似度度量方法(这里埋个小小的伏笔,我们下次再聊~),该方法可以保留各指标数值大小信息。