目录

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

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

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

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

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

数据获取

通过 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.0043.88270.0012.00
2008主板50.00194.4822,100.0010.00
2009中小板40.0048.21280.0012.00
2009主板55.00179.1520,700.0010.00
2009创业板50.0080.21275.0010.00
2010中小板50.0055.12390.0012.00
2010主板60.00201.4728,100.0010.00
2010创业板39.5074.29444.508.00
2011中小板50.0061.55601.3015.00
2011主板65.00196.4422,300.0010.00
2011创业板40.0049.14310.0010.00
2012中小板56.0064.36350.001.00
2012主板70.00191.4722,200.0016.00
2012创业板45.0048.77280.0015.00
2013中小板60.0070.28674.1617.00
2013主板74.00196.8918,500.0020.00
2013创业板50.0052.12180.0020.00
2014中小板65.0077.20678.6115.00
2014主板76.00195.7119,900.0020.00
2014创业板50.0059.90459.5420.00
2015中小板75.0090.001,380.0020.00
2015主板80.00206.0621,400.0020.00
2015创业板60.0067.66780.0010.00
2016中小板80.00101.251,620.0020.00
2016主板85.00203.9521,300.0010.00
2016创业板64.0075.93950.0010.00
2017中小板88.00110.981,495.0023.00
2017主板90.00203.7421,500.004.00
2017创业板70.0084.911,000.0025.00
2018中小板95.00121.431,851.7020.00
2018主板90.05209.9023,200.004.00
2018创业板75.0094.351,000.0016.00
2018北交所25.0028.50120.009.00
2018科创板30.0030.0030.0030.00
2019中小板100.00131.322,270.9320.00
2019主板98.00219.7722,900.004.00
2019创业板80.0095.94900.008.00
2019北交所20.0027.95220.007.00
2019科创板70.0087.80660.0015.00
2020中小板100.00135.822,423.7830.00
2020主板100.00218.4423,700.004.00
2020创业板80.0097.081,075.0010.00
2020北交所27.0031.41130.009.00
2020科创板70.0086.57690.0015.00
2021中小板110.00140.792,244.5931.80
2021主板100.00212.4017,600.003.50
2021创业板80.00103.791,200.0010.00
2021北交所40.0039.59130.009.00
2021科创板70.0097.582,032.4620.00
2022中小板100.00132.69763.0043.00
2022主板100.70332.7214,800.0011.74
2022创业板71.0098.37448.0040.00
2022北交所36.5038.4160.0014.80
2022科创板72.10106.98636.0030.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