☰
创新与非创新政府补贴数据:从0到1的清洗与分类全攻略
2026/9/28 13:42:05 网站建设 项目流程

本来想写点别的,但这一个月我基本都泡在一份数据里:2003—2025年的政府补贴明细。项目名字特别朴素,就叫“政府创新补贴与非创新补贴”,但真正把数据从底层翻起来之后才发现,这个课题能做扎实,比想象中难得多,也远比想象中有意思。

先说结论:很多实证研究里“补贴效应不稳定”的毛病,根源往往不在计量模型,而在数据端就出了问题。政府补贴从来不是一个同质变量,创新补贴和非创新补贴对应的企业行为逻辑完全不一样。前者直接回应研发投入和专利产出,后者更多关联就业稳定、产能扩张、成本补偿。你如果把两类补贴捆在一起当“总补助”放进回归,系数忽正忽负、换样本就变号,一点都不奇怪。这篇文章就把我这套数据从0到1怎么搭的、怎么拆的、怎么清洗的,完整复盘一遍。适合正在做政府补贴、企业创新、产业政策相关实证研究的研究生和青年研究者参考,也适合想搞清楚“补贴数据到底怎么拿到手、怎么用”的从业者。

1. 项目整体设计:为什么要把补贴拆成“创新”和“非创新”两本账

1.1 研究问题从哪来

我最初接触这类课题时,也踩过“一把抓”的坑。直接拿年报里的“政府补助”总额做解释变量,回归结果确实漂亮过一阵子,但只要换一下样本区间、剔除某几个行业,显著性就像被抽走了地基一样塌掉。后来翻文献才意识到,问题不在样本,而在变量本身没有解剖开。

创新补贴,核心特征是它与企业的技术行为绑定。比如研发项目补助、技术改造资金、专利奖励、首台套保费补贴,这类资金流到企业之后,最直接的传导路径是先形成研发投入,再变成专利和产品迭代。而非创新补贴的用意则完全不同,稳岗补贴、社保返还、厂房建设补贴、贷款贴息,它们不指向技术升级,更多是兜底、稳产、降成本。两类资金背后的企业行为机制不一样,数据在统计口径、时间分布、金额规模上也有明显差异。

所以项目的第一设计原则就是:必须在数据层面先把“补贴类型”这条线分清楚。我定的目标是构建一个企业—年份面板,每个观测点同时有创新补贴强度、非创新补贴强度以及对应的企业财务和创新产出变量。后面不管做描述统计还是因果识别,都能从两本账分别下手。

1.2 2003到2025这个窗口意味着什么

选择2003至2025年,不是拍脑袋。1998年企业会计准则虽然已经开始规范政府补助披露,但早期执行质量参差不齐,许多企业只是在报表附注里给一个总数,根本没有明细。2003年开始,强制披露明细的情况逐渐好转,真实可用的补贴科目才慢慢出现。把起点定在2003年,是从“数据可用性”角度出发的理性选择。

终点放在2025,则是给研究窗口一个完整的跨周期覆盖。22年的时间长度,跨越了多轮经济周期和产业政策调整阶段,样本在行业、区域、补贴强度上的变异足够大。对实证研究来说,时间维度上的变异就是识别力,尤其是做双重差分这类设计时,处理组和控制组的切换路径越丰富,估计结果越可信。

这个窗口的另一个实际好处是样本规模。A股上市公司加上新三板挂牌企业,能匹配到有效补贴明细的记录超过十万条量级。去掉金融、ST类干扰项之后,依然有足够大的截面宽度支撑非线性、异质性分析。说白了,规模大了,你后面的计量手段就不至于捉襟见肘。

2. 数据来源与底层构建思路

2.1 三大数据源怎么组合

补贴数据不是一张表就能拉完的,我最终用了三个数据源交叉拼接。

第一是上市公司年报附注中的“政府补助”明细。这是最核心的数据来源,位置在财务报表附注里,一般在“营业外收入—政府补助”或者“其他收益”科目下。早年间很多公司把补贴放在营业外收入,2017年修订会计准则之后,与企业日常活动相关的政府补助列入“其他收益”。这个口径变化在清洗时必须处理,否则会把同一性质的补贴拆成两个变量。

第二是专利数据库,目的是构造创新产出变量。我做项目时用了独立研发的专利检索接口,也对照过专利之星的数据,核心要抓的是企业申请和授权的发明专利、实用新型以及外观设计数量。注意一定要用申请量而非授权量做主回归,授权有滞后,申请更贴近企业当年的研发意图。

第三是企业工商注册信息库,用来做企业实体的唯一标识匹配,以及补充企业年龄、注册资本、所有制类型这些控制变量。

数据源关键字段用途
上市公司年报附注补贴科目名称、金额、依据文件创新/非创新补贴分类与强度计算
专利数据库申请人、申请日、专利类型创新产出:申请量、授权量
工商注册库公司名称、曾用名、注册号企业唯一匹配、补充控制变量

三个数据源靠“企业统一信用代码/证券代码”作为主键连接,早期企业名称变更比较频繁的,另做一层名称匹配兜底。

2.2 时间口径与单位统一

补贴时间口径是最容易翻车的地方。年报里披露的政府补助金额,往往不是一年内一次性到账的钱,而是包含了前期项目在本年度的递延收益摊销。比如一个三年期的技改项目,总共补助900万,第一年确认300万,后面两年各摊销300万。研究设计里如果关心的是“当期现金流效应”,用摊销额;如果关心的是“政策支持力度”,用当年签署或到账额。我最终选择以“当期确认的补助金额”为准,因为这是企业实际计入损益表的数字,跟利润和研发投入的会计期间完全对齐。

单位统一也不能马虎。不同数据库的金额字段有的是元,有的是万元,有的是千元。合并之前我写了一个单位校验脚本,先按报告期识别单位,再全部转换为万元。校验逻辑不复杂:拿样本中位数做合理性检查,如果某个企业某年度补贴金额比其他年份大四个数量级,先标红人工查。

年份对齐同样有坑。年报附注里的补贴明细一般按“本期计入损益的金额”披露,但也存在部分公司按“实际到账年度”披露,两种口径混在一个表里。处理方式是看附注是否出现“递延收益”科目,如果出现,说明公司采用了摊销口径,必须把递延收益当期转销额拆出来单独标记。

3. 创新补贴与非创新补贴的识别方法

3.1 三层识别框架

核心难点全在这一步:给每一条补贴记录打上“创新”或“非创新”标签。我用的方法不是单一规则,而是三层框架叠加:

第一层,科目名称精确匹配。企业披露的补贴科目里,有相当一部分本身就带强关键词,比如“研发投入补助”“专利资助”“科技创新奖励”,这种直接规则命中,无需多判断。

第二层,关键词规则库打分。把科目名称分词后,跟一个自建的关键词库做模糊匹配,命中不同类别关键词分别计分。比如科目叫“省级重点实验室建设补助资金”,“实验室”“建设”都偏创新相关;科目叫“稳岗返还补贴”,“稳岗”明显是非创新关键词。

第三层,文本分类模型兜底。规则匹配不上,或者规则正反打架的记录,用训练好的短文本分类模型给一个类别概率。我用的是Bert模型微调,训练语料来自前两层已经人工标定过的两万条历史记录,准确率实测能到94%左右。模型不是替代规则,而是专门处理规则库里覆盖不到的模糊表述。

三层跑完之后,每一条补贴记录都会带一个标签字段:innovation、non_innovation、unclear三类。unclear指的是规则和模型都没法给出高置信度判断的记录,这种不硬归类,后面单独处理。

3.2 关键词库的构建与迭代

关键词库是一点点磨出来的,第一版是纯理论驱动,后面全部是数据反哺。

创新补贴方向,我最终固定下来的核心词包括:研发、研发投入、科技、技术、专利、发明、首台套、高新技术、产学研、创新平台、中试、科技成果、转化、新产品、工艺、标准制定、人才引进、院士工作站之类。这里注意一个陷阱:“人才引进”我一开始想归到非创新类,但仔细读申报条件后发现,很多人才补贴针对的是高端研发人才,实质上是变相研发补贴,所以最终把它归为创新类。

非创新补贴方向,核心词包括:稳岗、就业、社保、培训、产能、扩产、搬迁、基建、厂房、土地、能耗、环保、节能减排、出口、贷款贴息、物流、房租、水电、纳税奖励、总部经济、上市奖励等等。这里面也有模糊区,“节能减排”单独看更像环保治理,但如果补贴指向的是生产节能技术改造,本质又偏创新。对这种跨界词,我采取的规则是看上下文词:同时出现“技术改造”归创新,只提“治理”归非创新。

分类高频词示例模糊词处理规则
创新类研发、专利、首台套、技改、产学研、科技成果兼具“研发/技术”上下文词时归类为创新
非创新类稳岗、就业、搬迁、厂房、贷款贴息、纳税奖励无技术上下文时归类为非创新
模糊区人才引进、节能减排、标准制定依赖后续人工抽样复核确认

3.3 识别一致性检验

规则库和模型跑完之后,必须做一致性检验。我从全部贴好标签的记录里随机抽了1000条,人工逐条复核。算出来的Cohen's Kappa系数在0.86左右,说明分类结果和人工判断高度一致。这个系数在实证论文的附录里也值得报告,审稿人看到你做了这一步,对数据可信度的质疑会小很多。

另外一个容易忽略的步骤是“跨年度一致性”检验。同一个企业、同一个补贴项目,可能连续三年以不同科目名称出现。比如第一年叫“科技项目扶持资金”,第二年叫“研发项目补助”,第三年变成“科技局拨付”。规则库单独看每一条都能正确分类,但放到企业层面就会发现同一项目被拆成创新补贴和其他补贴两个身份。处理方式是把同一企业连续年度内数额相近、关键词近义的记录合并成“项目组”,用项目组为主体验证标签是否一致,不一致的做标记并统一修正。

4. 数据清洗与预处理全流程实录

4.1 企业实体对齐

数据合并最耗体力的不是写代码,是对企业名称。工商库里的企业名称是“某某科技有限公司”,年报披露有时写成“某某科技股份有限公司”,证券代码能帮你兜底一部分,但历史上有代码变更、借壳上市的企业就得靠名称相似度匹配。

我用的匹配方案分三层:第一优先证券代码精确匹配;第二优先统一社会信用代码匹配;第三层用编辑距离加Jaccard相似度做模糊匹配,阈值设在0.85以上,再人工review。这一套跑下来,上万条名称对不上的记录基本都能拽回正确主体。

特别注意“母子公司”问题。集团公司年报里披露的补贴是合并口径,补贴明细却可能落在子公司名下。如果直接以母公司为主体,会漏掉一部分实际补贴。我处理方式是把合并报表附注中列出的子公司补贴记录拆出来,按照母公司的持股比例折算到母公司主体,同时保留子公司单独观测。

4.2 补贴记录的拆分与合并

原始数据里经常有一条记录就是一笔大额混合补贴,比如“收到财政补助资金8000万元”,下面不写具体用途。这种记录直接归类等于自杀。我的拆分明细有两套规则:

第一,看同一笔资金附注里是否列出“其中:……”子项。有子项就把母项拆成多条,按子项金额和内容分别入账。第二,没有子项的大额混杂记录,用企业当年的主营业务和技术方向做辅助判断。如果企业当年有密集研发投入,且专项资金名称里包含“产业”“发展”这类中性词,我会倾向标注为“部分创新”并单独设立一个“混合补贴”字段,而不是硬塞进某一类。

跨年度项目的处理前面已经提过,这里再说一个细节:递延收益摊销的拆分会造成一个企业某年度补贴金额特别小、下一年度突然放大,这不是数据错漏,而是摊销节奏。做面板回归时,最好同时保留两套变量:当期确认额和当年到账额,前者用于会计利润相关分析,后者用于现金流、投资类分析。

4.3 缺失与模糊记录处理

这条可能是最容易被低估的坑。样本里每年都有大量“其他补助”或者未披露明细的补贴记录,金额占比还不少。我统计了一下,2003到2008年,超过三成的年度观测只有总额没有明细,没法分类。

我的处理策略是不回避缺失,给缺失一个明确身份。凡是无法分类的记录,全部放进“未分类补贴”变量,不进创新与非创新任何一个桶。回归分析里,把“未分类补贴”作为控制变量放进模型,避免遗漏变量偏误。稳健性检验时,再分别做两组:一组把未分类补贴按创新/非创新比例随机拆入,另一组直接剔除。两组系数方向一致才敢下结论。

另一个常见问题是极端值。少数企业某年拿到的补贴占总营收比例能超过百分之两三百,这种明显是政府订单或者一次性资产处置返还,跟“创新补贴激励”不是一回事。清洗时我对补贴强度(补贴/营收)做了1%和99%的双侧缩尾处理,同时单独剔除补贴强度超过100%的观测,但保留它们做敏感性分析。

5. 从数据到实证:常用分析策略

5.1 面板结构与核心变量设计

数据清洗干净后,我构建的是非平衡面板,主体是企业,时间维度是年份。每个观测包含:

被解释变量用的是三类创新产出指标:发明专利申请量加1取对数、研发支出占营业收入比例、新产品收入占比(仅在有披露的样本子集中使用)。核心解释变量是创新补贴强度和“非创新补贴强度”,都按当年补贴金额除以营业收入计算,再取了对数。

控制变量这一块,除了常规的企业规模、杠杆率、现金流、企业年龄之外,我额外加了两个容易被忽略的变量:一是行业当年平均补贴水平,用来控制行业层面的景气冲击;二是企业是否处于政策扶持园区。园区变量对补贴识别影响很大,因为高新技术开发区内的企业天然更容易获得各类补贴,不控制这个,估计结果会混入区位效应。

5.2 识别策略怎么选

用这份数据做因果识别,最稳妥的起步是面板固定效应加时间趋势,先看创新补贴和非创新补贴在“企业内随时间变化”的维度上,对创新产出有没有差异化关联。

更进一步,如果某些补贴项目有明确的入围门槛和适用范围,可以用强度DID。比如某省对首次认定的高新技术企业给予一次性创新补贴,那就以企业首次获得高新认定时间作为政策冲击点,把后续年度的创新补贴作为处理强度,控制企业和年份双向固定效应,识别补贴对专利申请的因果效应。非创新补贴可以用类似框架,选择“稳岗返还”政策批次作为冲击。

如果担心补贴对象不随机,就用PSM-DID。倾向得分匹配变量至少包含企业规模、杠杆、专利存量、行业和区域,匹配后再做双重差分。这里有个体会:匹配不是解决内生性的万能药,但它能把处理组和控制组的趋势可比性先摆到桌面上,至少在审稿人那里是有效的第一道防线。

工具变量这步我没有过度依赖,因为找又强又排他的工具变量太难。如果文献里有人用“上级政府财力的外生变化”作为工具变量,我也复现过,可行性尚可,但数据要求极高,普通年度数据根本支撑不起。想做IV的同学,一定要先把第一阶段F值验证过再动笔。

5.3 稳健性检验的几个固定动作

我每次跑完基准回归,固定做五组稳健性检查:

  1. 替换被解释变量:发明专利换成实用新型、专利总申请量换成授权量;
  2. 替换核心解释变量:当期补贴强度换成滞后一期、滞后两期;
  3. 剔除模糊样本:去掉“未分类补贴”占比超过10%的企业;
  4. 剔除特殊群体:剔除新上市两年内的企业和ST企业;
  5. 聚类层面调整:标准误分别聚类到企业和行业,看显著性变化。

这五组跑下来,如果核心结论依然稳定,我才敢说自己的数据结果是可靠的。把清洗过程中每一个判断标准都写清楚还有个额外好处:论文附录里的“数据处理说明”几乎不用额外花时间,因为每一步都有操作日志。

6. 实操中的常见问题排查清单

6.1 关键词误判与上下文依赖

这里我踩过最深的坑是“奖励”类科目。仅凭“奖励”两个字没法判断类型,“科技创新奖励”是创新,“纳税贡献奖励”是非创新,“质量强市奖励”则要看是否涉及技术标准。解决方法是给“奖励”类关键词强制加一个上下文修饰词条件,单独出现“奖励”一律进“unclear”样本池。人工抽查后,能把误判率压到2%以下。

6.2 披露科目口径漂移

2006年之前,很多企业报的是“补贴收入”,科目本身没有拆分明细,根本没法分类。2017年会计准则修订后,政府补助从“营业外收入”往“其他收益”迁移,导致同一条补贴记录换了报表位置。后来我又发现部分企业为了让报表好看,把非创新补贴包装成创新补贴,科目名称写得特别技术化,比如“产业扶持资金”后面补一句“按研发进度确认”,这里面的水分只能靠比对补贴依据文件去挤。

6.3 早期数据质量差的处理

2003到2006年这段,超过一半企业年报的补贴披露只是总额,分类这件事完全无从谈起。我的建议是不要为了保留样本去做无依据的拆分,与其硬拆出一堆错标签,不如把这段时间的数据单独做描述统计,不进入主回归。当然,稳健性检验里可以加上早期年份再看一遍,如果结论不变,说明结果没有过度依赖数据质量最好的那几年。

6.4 分类标准“漂移”问题

因为关键词库是我不断迭代出来的,跨年份跑的时候会出现同一条补贴记录在不同版本规则库下标签不同。这会给实证结果带来“伪变化”。我的处理方式是锁定最终版关键词库,全部年份一次性跑完,中间不调整。之后如确需修改分类规则,则全样本重新跑一遍,绝不允许只对某一年单独修正。

再分享一个小技巧:给每条补贴记录存一个“规则命中路径”字段,记录它是因为哪个关键词、哪一层模型被分到哪一类。后面做复现、被审稿人质疑、或者修改规则的时候,只需要按照路径字段筛出历史判例,批量重跑即可,根本不用逐条回看原始年报。

最后再聊几句实在话

这套数据我从开始做到基本能跑出稳定结果,前后花了三个多月。最大的体会是,数据整理里最耗精力的不是代码,而是“判断的一致性”。同一个补贴科目,今天看像创新,明天看像非创新,这种摇摆一旦带入数据,后面所有回归结果都会变成一个随机数发生器。

如果你也想做类似的项目,我建议从头就把“分类规则冻结”和“记录全留痕”当成铁律。再一个实用建议是,把每一个模糊记录的处理决定写在规则说明文档里,标注日期和理由。前期多花两小时,后面省下的就是几个通宵。

这个数据集后续能扩展的地方也很多。比如把补贴网络做出来,看哪些企业重复获得多个项目、哪些行业集中度高;也可以把补贴强度和后续融资行为连起来,观察创新补贴对风险资本是否产生信号效应。数据本身是干净的,后面能挖出什么,全看研究视角。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询