目录

上市公司审计收费与报表科目相关性分析

领导问我上市公司审计收费是与资产规模还是什么相关?

虽然各省注协提供了一个收费的参考标准:

显示出计费基数是资产总额或营业收入。

但是,我还是想从上市公司历年收费数据出发,用数据找出和哪个报表科目具有强相关关系。

数据获取

通过 Tushare 金融数据接口批量获取 A 股上市公司 2000 年以来资产负债表、利润表、审计收费数据。

将数据导入 mysql 数据库,三张表拼接成一张表。

注: 1.部分审计收费金额缺失,我们在分析时将剔除这部分缺失数据 2.2008年以前审计收费数据缺失严重,我们从 2008 年开始统计分析

各市场板块审计收费统计

利用 Python 连接 mysql 数据库,对审计收费聚合统计中位数、平均值、最大值、最小值。

import pandas as pd
import pymysql

connect = pymysql.connect(
    host='127.0.0.1', db='book', user='root',
    passwd='1234', charset='utf8')

sql = """
select * from audit_fees
where market in ('主板','中小板','创业板','北交所','科创板')
and month(end_date) = 12
and audit_fees !=0 and audit_fees is not null
"""

df = pd.read_sql(con=connect,sql=sql)
# 将audit_fees单位转换为万元
df['audit_fees'] = df['audit_fees'] / 10000
# # 定义需要计算的统计量
agg_dict = {
    'audit_fees': ['median', 'mean', 'max', 'min']
}
# 按 market 分组,计算多个统计量
result = df.groupby(['end_date','market']).agg(agg_dict)
result = result.applymap('{:,.2f}'.format)
result = result.reset_index()
result.to_excel('上市公司各板块审计收费统计.xlsx')
print(result)

执行结果:

( 单位:万元 )

年度 市场 中位数 平均数 最大值 最小值
2008 中小板 40.00 43.88 270.00 12.00
2008 主板 50.00 194.48 22,100.00 10.00
2009 中小板 40.00 48.21 280.00 12.00
2009 主板 55.00 179.15 20,700.00 10.00
2009 创业板 50.00 80.21 275.00 10.00
2010 中小板 50.00 55.12 390.00 12.00
2010 主板 60.00 201.47 28,100.00 10.00
2010 创业板 39.50 74.29 444.50 8.00
2011 中小板 50.00 61.55 601.30 15.00
2011 主板 65.00 196.44 22,300.00 10.00
2011 创业板 40.00 49.14 310.00 10.00
2012 中小板 56.00 64.36 350.00 1.00
2012 主板 70.00 191.47 22,200.00 16.00
2012 创业板 45.00 48.77 280.00 15.00
2013 中小板 60.00 70.28 674.16 17.00
2013 主板 74.00 196.89 18,500.00 20.00
2013 创业板 50.00 52.12 180.00 20.00
2014 中小板 65.00 77.20 678.61 15.00
2014 主板 76.00 195.71 19,900.00 20.00
2014 创业板 50.00 59.90 459.54 20.00
2015 中小板 75.00 90.00 1,380.00 20.00
2015 主板 80.00 206.06 21,400.00 20.00
2015 创业板 60.00 67.66 780.00 10.00
2016 中小板 80.00 101.25 1,620.00 20.00
2016 主板 85.00 203.95 21,300.00 10.00
2016 创业板 64.00 75.93 950.00 10.00
2017 中小板 88.00 110.98 1,495.00 23.00
2017 主板 90.00 203.74 21,500.00 4.00
2017 创业板 70.00 84.91 1,000.00 25.00
2018 中小板 95.00 121.43 1,851.70 20.00
2018 主板 90.05 209.90 23,200.00 4.00
2018 创业板 75.00 94.35 1,000.00 16.00
2018 北交所 25.00 28.50 120.00 9.00
2018 科创板 30.00 30.00 30.00 30.00
2019 中小板 100.00 131.32 2,270.93 20.00
2019 主板 98.00 219.77 22,900.00 4.00
2019 创业板 80.00 95.94 900.00 8.00
2019 北交所 20.00 27.95 220.00 7.00
2019 科创板 70.00 87.80 660.00 15.00
2020 中小板 100.00 135.82 2,423.78 30.00
2020 主板 100.00 218.44 23,700.00 4.00
2020 创业板 80.00 97.08 1,075.00 10.00
2020 北交所 27.00 31.41 130.00 9.00
2020 科创板 70.00 86.57 690.00 15.00
2021 中小板 110.00 140.79 2,244.59 31.80
2021 主板 100.00 212.40 17,600.00 3.50
2021 创业板 80.00 103.79 1,200.00 10.00
2021 北交所 40.00 39.59 130.00 9.00
2021 科创板 70.00 97.58 2,032.46 20.00
2022 中小板 100.00 132.69 763.00 43.00
2022 主板 100.70 332.72 14,800.00 11.74
2022 创业板 71.00 98.37 448.00 40.00
2022 北交所 36.50 38.41 60.00 14.80
2022 科创板 72.10 106.98 636.00 30.00

( 注: 2022 年数据截止至 2023 年3月 27 日,大部分数据暂未公布 )

审计收费中位数年分布图

根据上表数据,我们画出中位数年波动图:

可以看到从 2019 年开始主板、中小板、创业板、科创板的审计收费中位数基本上就没有增长了,仅北交所收费有所增长。

审计已经收不起来费了。

从 2021 年上市公司年报审计收费数据来看,主板和中小板收费在 100 万,创业板收费 80 万,科创板收费 70 万,北交所收费 40 万,就算是中游水平了。

2021年审计收费箱型图分析

我们再画一个 2021 年审计收费的箱型图,更直观看下收费水平:

箱型图(Box plot),也叫盒须图,是一种用于可视化数据分布的图表。它展示了数据的五个关键统计量:最小值、最大值、中位数、上四分位数和下四分位数,并使用一组箱子和线条来表示这些统计量。

箱型图中实体部分由Q1(25%)-Q3(75%)分位线组成,实体中间横线表示中位数。只要超过实体部分,那就超过了75%的项目收费了。

所以如果是主板超过 178 万、中小板超过 158 万、创业板超过 120 万、科创板超过 100 万、北交所超过 50 万,那就超过75%同板块的收费了,应该算收费比较高的大项目了。

高收费项目所在会计师事务所

我们以上面超过 178 万认为高收费项目,统计 2021 年高收费项目超过 10 个的会计师事务所:

select audit_agency,format(sum(audit_fees),2) 大项目收费,
count(1) 大项目数量, format(sum(audit_fees)/count(1),2) 平均单价
from audit_fees
where end_date='2021-12-31'
and audit_fees>=1780000
group by audit_agency
having count(1)>=10
order by sum(audit_fees) desc

( 注:使用数据中 2021 年有 268 个上市公司审计收费缺失,另外存在审计机构为会计师分所等多个名称情况,统计数据可能不准确,仅作参考)

执行结果:

四大仍然占据着收费高的大项目, 2021 年4个上亿审计收费的银行、保险、电信行业均是四大审计。

其次就是立信、天健、信永中和、大华、容诚、致同、天职、大信、中审众环等国内大所。

审计收费相关性分析

接着我们回到主题,审计收费究竟与什么报表科目最相关?

这里我们是将资产负债表、利润表、审计收费拼成一张大表,计算各字段之间的相关系统矩阵,找出相关系统最大值的科目名称。

import pandas as pd

df = pd.read_csv('your_data.csv')
df = df.fillna(0)
corr = df.corr()
corr.to_excel('相关系统矩阵.xlsx')
print('over')

执行后我们可以得到相关系数矩阵如下:

筛选出和审计收费相关系数最高的 10 个报表科目如下:

科目名称 相关系数
期末总股本 0.889652237
利润总额 0.836708374
营业利润 0.835990408
净利润(含少数股东损益) 0.834132119
负债及股东权益总计 0.812169663
资产总计 0.812169662
应付职工薪酬 0.811363931
综合收益总额 0.809026198
负债合计 0.806048206
现金及存放中央银行款项 0.80327793

通常情况下,以下规则适用于相关性系数的判断:

相关性系数的绝对值小于0.3表示相关性很弱。相关性系数的绝对值在0.3和 0.7 之间表示相关性中等。相关性系数的绝对值大于等于0.7表示相关性很强。但是需要注意的是,这些规则只是一般性的判断,具体情况需要根据数据的实际情况来判断。另外,需要注意的是,相关系数只是反映了变量之间的线性相关性,而不是其他可能存在的关系,例如非线性相关性、因果关系等。

因此,在使用相关系数来分析数据时,需要综合考虑数据的实际情况和背景知识,以及其他可能存在的关系,而不是仅仅依赖于相关系数的大小来做出结论。

结合上述数据和实务,上市公司的利润和资产规模与审计收费相关性最强。

相关数据下载

我将本文使用到的数据分享大家:

2000-2022年上市公司资产负债表

https://wwds.lanzoum.com/b01ql5e7a 密码:bh0s

2000-2022年上市公司利润表

https://wwds.lanzoum.com/b01ql5ejc 密码:b3ju

2008年-2022年上市公司审计收费

https://wwds.lanzoum.com/b01ql5fdc 密码:e0zu