摘要:本文围绕 307 维风险指标字典如何接入企业真实数据展开,重点讲清三层数据(结构化指标、时序数据、关联拓扑)的接入方式,以及资金流红线 #17/#86 从"悬空"到"实算"的落地、行业适用性守卫如何避免跨行业误报、引擎 B 如何用真实标签越喂越准。同时诚实标注了 5 条待接入指标和 9 条已知边界,强调"看不见,好过假装看见"——接上真实数据,指标才从"手册"变成"镜子"。
上篇文章我预告了"《120 维指标的实操配置:怎么接到你的真实数据》"。
先交底:那个"120"是个早期口径——今天这本字典已经长到307 维、引擎63 条可跑指标了。
但预告的核心问题没变:这些指标,到底怎么接上你公司的真实账?
上篇发出去,有人后台问我一句话,特别扎心:
"指标是有了,可我公司的真实数据怎么喂进去?总不能手填 307 个格子吧?"
对,不能手填,也不该手填。这篇就讲透这件事——怎么用"数据接口"而不是"人工搬运",让那 307 个指标真正看见你的账。
一张图讲清全文:你的三类数据怎么流进风险模型,红线怎么被点亮。
一、为什么"接上真实数据"才是分水岭
指标字典本质是一套规则,真实数据才是燃料。没接数据,它只是一份写得很专业的 Excel 清单,跟税法手册没两样。
账面包装 C 的教训:它的发票、税负单看都"正常"。但"增值税收入 vs 所得税收入差 36.7%"这条红线——只有同时接了你的两张申报表,模型才能算出来。不接数据,这条线永远沉睡,你永远"看起来合规"。
反常识:很多人以为"模型说你低风险"就等于安全。但红线逻辑是——模型可能误判,红线绝不漏判。账面包装 C 的发票、税负单看都没问题,模型分可能不高;可"跨税种收入差 36.7%"这条红线一命中,整体直接判红。看风险,先信红线,再信模型。
财务人真正怕的从来不是"有风险",是"不知道自己有风险"。工具的价值,就是把看不见的,变成看得见的。
而"看得见"的前提只有一条:让指标读到你的真实字段。下面拆开讲,三类数据分别怎么接。
二、三层数据,分别怎么接
那 307 个指标,背后吃的是三类数据。难度从低到高:
| 数据层 | 你公司就有的来源 | 接法 | 难度 |
|---|---|---|---|
| 结构化指标 财报 / 申报表 / 发票 | 利润表、增值税申报表、开票台账 | 按字段表导出 CSV,逐列映射 | 易 |
| 时序数据 36 个月波动 | 每月开票、申报、税负记录 | 月度导出追加即可 | 中 |
| 关联拓扑 股权 / 交易 | 你自己的上下游清单 + 工商公开数据 | 下游清单自填 + 公开接口补 | 中 |
先从"结构化指标"下手:你财务系统里导出一张利润表、一张增值税申报表,大部分 307 维指标就已经能算了。剩下的难点,是下面两个昨天刚打通的硬骨头。
资金流红线:银行流水一接入,虚开案里那条关键的"资金回流"闭环才真正可算。
三、资金流红线:#17 / #86 怎么从"悬空"到"实算"
之前有两条红线一直"悬空"算不出:#17 作废后次月重开率、#86 资金回流闭环占比。原因很实在——它们要吃银行流水和发票生命周期,而这不是申报表里的字段。
昨天我们把这块补上了:新增funds_flow_adapter.py,先定义一套标准流水 schema,再写两个检测算法。它守一条铁律:
有数据即算,无数据返回"待接入",绝不瞎编。
你给了流水 CSV → 它算"资金回流占比 >0 即红""作废次月同额重开 >10% 即红";
你没给 → 它明说"这条线待接入",而不是假装算出一个 0 让你安心。
够用的流水表长这样(你从网银导出的对账文件,洗成这几列就行):
日期, 对手方, 金额, 借贷方向, 摘要, 关联发票号
逻辑一句话:把"同一笔钱绕一圈回到自己人账户"的闭环找出来,占比越高越像虚开资金特征。
虚开案 90% 死在资金回流——这条线接上流水,工具才真正值钱。
四、行业守卫:为什么建筑指标不会误伤你的药企
昨天另一块落地,是B 行业深度层:建筑 / 制造 / 电商 / 医药四行业,净增 30 个维度进字典。
但这里有个坑:建筑企业的"所得税税负率 <0.8%"是风险,药企的税负率天然就低,硬套会误伤。
解法是一个行业适用性守卫:每个行业指标都带一个行业标签,非本行业直接短接返回"非本行业·不适用"。你只需在样本里标一个industry字段,守卫自动生效。
行业守卫:建筑指标只照建筑企业,医药指标只照药企,互不串味。
实测结果很干净:
| 样本 | 行业 | 命中 | 说明 |
|---|---|---|---|
| 异常建筑 D | 建筑安装 | 8 项 | 7 条建筑指标全中 + 1 条通用,制造/医药/电商0 误报 |
| 异常药企 E | 医药制造 | 17 项 | 10 条医药 + 6 条制造 + 1 条通用,建筑0 误报 |
| 稳健制造 A | 通用制造 | 0 项 | 没踩线,不误报✓ |
跨行业误报 = 0。对管着多家不同行业子公司的财务负责人,这条比"多 30 个指标"更值钱。
五、引擎 B:怎么喂"真实标签"让它越来越准
规则引擎(引擎 A)是可解释的、确定性的——它说你踩线,你能拿着公式和阈值去对质。但它不会"预测谁正在暴雷边缘"。
干这事的是引擎 B(机器学习)。它之前只有合成标签(诚实兜底,用来验证链路通不通)。昨天补成了三态标签:
① 真实标注--labels:你公司"已核实的结论"(这家确实有问题 / 没问题)填进一张 CSV,模型从合成走向真实监督。
② 银标签--silver:用引擎 A 的红线裁决当"弱老师"自举训练集——没有真标也能先跑起来。
③ 合成标签:纯工程兜底,只验证管线,不用于对外结论。
你只要把复核时的结论沉淀进labeled_data_template.csv,引擎 B 就多学一次。模型不是算命,是越喂越准——你每一次"这家的确有问题"的复核,都是它的训练数据。
真实标签喂养:从合成兜底到真实监督,风险雷达一次比一次准。
诚实标注:引擎 B 在合成数据上 AUC≈0.915,这只是"管线跑通"的证据,不是真实稽查准确率。真实泛化能力,要等你给真实标注 CSV 才能量出来。我们不会把它说成"模型已经很准"。
六、它今天还做不了的:诚实边界
一篇负责任的文章,必须把"接不上"也讲清。今天还有5 条指标(#278/#281/#292/#293/#294)是"待接入":
1. 依赖平台数据:电商刷单、灵活用工平台发薪——要平台开放接口。
2. 依赖银行/工商:CSO 资金回流、中标价偏离——要外部授权。
3. 依赖医院数据:医药部分推广费真实性——要院内凭证。
4. 数据质量是天花板:垃圾进、垃圾出,先统一口径再建模。
5. 它不替代税务师:只做企业内部自查预警,重大事项找专业税务师。
这 5 条我们宁可标"待接入"也不瞎判——看不见,好过假装看见。
七、上手三步走
不用一次到位。三步渐进:
第 1 步 · 看 Demo:python p0_rule_engine.py --self-check一条命令,先看红橙黄三级预警长什么样。
第 2 步 · 接财报:把利润表、增值税申报表按字段表导出 CSV,大部分指标立刻能算。
第 3 步 · 接深水区:有银行流水就接funds_flow_adapter,有复核结论就填labeled_data_template。
工具再好,也得先有"愿意看见风险"的勇气。
接上真实数据,那 307 个指标才从"手册"变成"镜子"。
八、今天的升级,已经封装好了
这篇讲的三块,昨天都落了地并跑通验证:
| 模块 | 升级前 | 升级后 |
|---|---|---|
| 字典维度 | 277 维 | 307 维(B 层净增 30) |
| 引擎 A 指标 | 36 条 | 63 条(B 层 +25,资金流 +2) |
| #17 / #86 红线 | 悬空算不出 | 接funds_flow_adapter,有数据即算 |
| 引擎 B 标签 | 仅合成 | 真实 / 银 / 合成 三态 |
如果你的账本正躺在某个财务系统里"看起来很平",不妨现在就跑一次自查——在专管员打电话之前,先看见那个"红"。
九、warning_list:这 9 条边界,请你帮我盯着
一个吃 307 维的系统,必然有还没接上、或还没核实到位的地方。我把它摊开贴在下面——尤其想请管账多年的老手:发现哪条不对、哪条漏了,直接指出来。你点出的每一个错误,都会计入下一版勘误表,而不是悄悄改掉。
| 编号 | 已知边界 / 局限 | 当前状态 | 你能帮什么 |
|---|---|---|---|
| W1 | 307 维 ≠ 全部可算。只持"财务+发票+申报"数据的企业,真实可算约 50–70 维;其余 244 维要银行流水 / 工商 / 平台 / 医院数据才喂得动。 | 已诚实标注 | 有对应数据的同行给样本 |
| W2 | 资金流红线 #17 作废次月重开率、#86 资金回流占比:算法已写好,但需你导银行流水 CSV 才跑得出;没数据就标"待接入",不假装算 0。 | 待数据 | 提供脱敏流水样本 |
| W3 | B 层 5 条行业指标 #278 / #281 / #292 / #293 / #294(电商刷单、灵活用工发薪、CSO 资金回流、中标价偏离、院内推广费):依赖平台 / 工商 / 医院接口,尚未接入。 | 待接入 | 提供接口或可 OCR 的 PDF |
| W4 | 引擎 B 合成数据 AUC≈0.915,只证明管线跑通,不是真实稽查准确率;真实泛化能力要等你填labeled_data_template.csv才能量出来。 | 合成验证 | 提供已复核标注 |
| W5 | 行业基准预警表(增值税 20 / 所得税 46)是流传参考值,12366 明确无全国统一强制阈值,引擎不自动判红,仅作"低于行业 X%"判级锚。 | 非官方 | 官方口径纠错 |
| W6 | 金税四期阈值(5万 / 200万 / 30% / 1年)是第三方实务口径,非官方统一值。 | 非官方 | 官方口径纠错 |
| W7 | 两条红线误报率偏高:#15「与非正常户往来 >0」、#8「临界开票卡位落在 80% 到逼近票面上限区间」,已按"确定性红线 / 疑似红线转人工复核"分级,不自动定罪。 | 分级处理 | 实测误报案例反馈 |
| W8 | 不替代税务师:只做企业内部自查预警,重大事项、定性结论找专业税务师。 | 边界 | — |
| W9 | 部分来源 PDF是扫描件,文字提取受限,相关指标靠网页抽取兜底,可能有偏差。 | 诚实边界 | 提供可 OCR 版本 |
这 9 条不是"免责声明"式的套话——它是这个工具诚实度的体检单。哪条被你证伪、哪条你手上有数据能补,都是它变准的原料。
发现哪条不对?后台留言或在评论区 @ 我。每一条被你点出的错误,都会进下一版勘误表——它就该是个被众人盯着才越来越准的东西。关注 + 在看,下一篇写《跨行业集团风控看板:怎么用 307 维给 N 家公司排雷》。