2001~2023 年上市公司供应商和客户技术专业化和技术多样化指标计算结果

今天给大家分享一份 2001~2023 年上市公司供应商和客户技术专业化和技术多样化指标计算结果。

指标背景与文献来源

技术专业化(Technological Specialization, TSP)和技术多样化(Technological Diversification, TDI)是刻画企业技术布局的两个重要维度。

王慧扬等(2025)在《知识搜索与科技领军企业关键核心技术突破》(《科学学研究》2025)中系统使用了这两个指标来研究科技领军企业的关键核心技术突破。

  • 技术专业化(TSP):衡量企业专利技术是否集中于少数技术类别。TSP 越高,说明企业的专利越集中在少数小类上,专业化程度越高。
  • 技术多样化(TDI):衡量企业专利在技术大类上的分布广度。TDI 越高,说明企业的专利分布越分散,多样化程度越高。

这两个指标均基于企业专利的 IPC(国际专利分类) 分类号进行计算。

计算方法

技术专业化(TSP)—— 变异系数法

技术多样化(TDI)—— Shannon 熵指数法

数据来源与处理

本数据基于 2001~2023年上市公司供应商和客户与专利数据匹配结果 计算而成。

2001~2023 年上市公司供应商及客户专利申请与授权信息:https://rstata.duanshu.com/#/brief/course/8a2dad50eaf1460289799032a81914ac

该数据的详细计算方法在以下三个课程中均有讲解(Python、R 语言、Stata 三个版本):

感兴趣的小伙伴可以结合讲义材料学习。附件中也提供了完整的计算代码。

数据概览

为了方便大家使用,我把数据汇总成了企业-年度面板数据,分别提供供应商和客户两个版本。

数据包含以下变量:

变量名 说明
gysid/khid 供应商或者客户的观测值编号
年份 专利申请年份
TSP 技术专业化指标
TDI 技术多样化指标
技术小类数量 企业当年申请专利的技术小类数量
技术大类数量 企业当年申请专利的技术大类数量
总专利数 企业当年申请专利总数

数据时间范围为2001~2023年。

供应商版本数据预览如下:

客户版本数据预览如下:

2001~2024 年上市公司前5大客户工商注册信息匹配结果(含经纬度及所处的省市区县).dta 和 2001~2024年上市公司前5大供应商工商注册信息匹配结果(含经纬度及所处的省市区县).dta 数据展示了每个 gysid 和 khid 对应的观测值。

图表展示

下图展示了2001~2023年供应商TSP与TDI年均趋势:

下图展示了供应商与客户TSP与TDI对比趋势:

下图展示了供应商TSP与TDI散点图:

处理代码

本数据的处理代码使用R语言编写,关键代码如下:

# ============================================================
# 计算上市公司供应商和客户技术专业化(TSP)与技术多样化(TDI)
# ============================================================
# 参考:王慧扬, 刘建华, 赵玉冰.《知识搜索与科技领军企业关键核心技术突破》
# 科学学研究, 2025
# 数据:2001~2023年上市公司供应商和客户与专利数据匹配结果.csv
# ============================================================

# 加载所需包
library(data.table)
library(dplyr)
library(stringr)

# 读取数据(分别处理供应商和客户)
df_supplier <- fread("2001~2023年上市公司供应商与专利数据匹配结果.csv", encoding = "UTF-8")
df_customer <- fread("2001~2023年上市公司客户与专利数据匹配结果.csv", encoding = "UTF-8")

# 数据去重函数
deduplicate_patents <- function(df) {
df %>%
mutate(公开公告号_clean = str_remove(公开公告号, "[A-Z]$")) %>%
distinct(股票代码, 年份, 公开公告号_clean, .keep_all = TRUE) %>%
distinct(股票代码, 年份, 申请号, .keep_all = TRUE) %>%
mutate(
IPC大类 = str_sub(IPC主分类, 1, 3),
IPC小类 = str_sub(IPC主分类, 1, 4)
) %>%
filter(!is.na(IPC大类) & !is.na(IPC小类))
}

df_supplier <- deduplicate_patents(df_supplier)
df_customer <- deduplicate_patents(df_customer)

# 计算技术专业化(TSP)和多样化(TDI)的函数
calculate_tsp_tdi <- function(df, id_var = "股票代码") {
# 计算技术专业化(TSP)
tech_small_class <- df %>%
group_by(.data[[id_var]], 年份, IPC小类) %>%
summarise(专利数 = n(), .groups = "drop")

firm_total_patents <- df %>%
group_by(.data[[id_var]], 年份) %>%
summarise(总专利数 = n(), .groups = "drop")

tech_small_ratio <- tech_small_class %>%
inner_join(firm_total_patents, by = c(id_var, "年份")) %>%
mutate(专利占比 = 专利数 / 总专利数)

TSP <- tech_small_ratio %>%
group_by(.data[[id_var]], 年份) %>%
summarise(
技术小类数量 = n(),
TSP = case_when(
技术小类数量 == 1 ~ 0,
sd(专利占比) == 0 ~ 0,
TRUE ~ sd(专利占比) / mean(专利占比)
),
.groups = "drop"
)

# 计算技术多样化(TDI)
tech_large_class <- df %>%
group_by(.data[[id_var]], 年份, IPC大类) %>%
summarise(专利数 = n(), .groups = "drop")

tech_large_ratio <- tech_large_class %>%
inner_join(firm_total_patents, by = c(id_var, "年份")) %>%
mutate(专利占比 = 专利数 / 总专利数)

TDI <- tech_large_ratio %>%
group_by(.data[[id_var]], 年份) %>%
summarise(
技术大类数量 = n(),
TDI = -sum(专利占比 * log(专利占比)),
.groups = "drop"
)

# 合并结果
result <- TSP %>%
inner_join(TDI, by = c(id_var, "年份")) %>%
inner_join(firm_total_patents, by = c(id_var, "年份")) %>%
arrange(.data[[id_var]], 年份)

return(result)
}

# 分别计算供应商和客户
result_supplier <- calculate_tsp_tdi(df_supplier)
result_customer <- calculate_tsp_tdi(df_customer)

# 保存结果
fwrite(result_supplier, "2001~2023年上市公司供应商和客户技术专业化和技术多样化指标计算结果_供应商.csv")
fwrite(result_customer, "2001~2023年上市公司供应商和客户技术专业化和技术多样化指标计算结果_客户.csv")

附件中也提供了该数据的处理代码供参考:

数据引用格式

由于该数据包含较多 RStata 处理的内容,在研究中使用该数据请使用清晰的方式注明数据来源于 RStata 或者 RStata 数据中心,并使用如下格式引用:

RStata 数据中心: 2001~2023年上市公司供应商和客户技术专业化和技术多样化指标计算结果. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: Technology Specialization and Diversification Indices for Suppliers and Customers of Listed Companies, 2001–2023. 2026. https://tidyfriday.cn/rsdb2/

关联课程/数据推荐

使用 R 语言测算上市公司专利技术集中度、搜索广度、搜索深度及知识整合能力:https://rstata.duanshu.com/#/course/f15816ee8d784128a8aa7cb58ca03979

使用 Stata 测算上市公司专利技术集中度、搜索广度、搜索深度及知识整合能力:https://rstata.duanshu.com/#/course/d539ade7949c45ca875d896e7840dcc3

使用 Python 测算上市公司专利技术集中度、搜索广度、搜索深度及知识整合能力:https://rstata.duanshu.com/#/course/0a302d0d99d144a39eb97004ebf54efb

2001~2023 年上市公司供应商及客户专利申请与授权信息:https://rstata.duanshu.com/#/brief/course/8a2dad50eaf1460289799032a81914ac

1985~2024年上市公司与专利数据匹配结果(版本3,含申请、授权信息):https://rstata.duanshu.com/#/course/04100321f88b411f90429be934934bff

点击这里跳转到 RStata 短书平台获取附件:2001~2023 年上市公司供应商和客户技术专业化和技术多样化指标计算结果

评论