这些年我一直在做民航相关的数据整理工作,最常被问到的一个问题是:“全国的机场吞吐量排名到底去哪儿查最靠谱?”说实话,这题看起来简单,真正动手做过的人才知道里面坑有多深。单说“旅客吞吐量”这个指标,不同渠道给出来的数可能差出几十万甚至上百万,你要是直接把两个来源的数据拼在一起做趋势图,最后分析出来的结论很可能整个跑偏。
这个“全国民用运输机场吞吐量排名(2006-2024)”的数据获取项目,核心就是把跨度接近二十年的机场生产数据,从散落在各处的官方公报、统计年报、行业新闻里一点点捞出来,统一口径、清洗整理,最后落成一套可用的结构化数据。既有旅客吞吐量、货邮吞吐量、起降架次这几个核心维度,也附带机场所在省市、等级、类别这些基础属性。做完之后能直接支撑排名变化分析、区域格局对比、增长趋势预测这些后续工作。适合有数据分析需求的研究者、民航爱好者,或者是做交通物流相关产品的人参考。
1. 数据获取的前期准备:先搞清楚你到底要什么
1.1 三大核心指标定义与口径确认
动手之前,有个问题必须先想清楚:你说的“吞吐量”到底是哪个口径?民航统计里最常见的三个指标是旅客吞吐量、货邮吞吐量和起降架次,它们背后衡量的是完全不同的业务维度和运营特征。
旅客吞吐量,统计的是一个机场在统计周期内进出港旅客的总人次,这里面的细节在于,经停航班在经停机场只计算一次,但中转旅客在部分口径下可能被重复计入。货邮吞吐量则是进出港货物的总吨数,通常不区分邮件和普通货物,但部分机场会单独拆出“国际+国内”两个子项。起降架次就是飞机起降的总次数,它反映的是机场运行繁忙程度,和旅客量并不严格正相关——比如货运枢纽机场起降架次很高但旅客量可能一般。
这三个指标的性质差异决定了排名结果完全不同。拿2024年来说,旅客吞吐量排名靠前的基本是北上广深加成都、重庆这些大城市机场,但如果换成货邮吞吐量排名,上海浦东、深圳宝安、广州白云这些货运强枢纽会明显更靠前。所以做这个项目第一步不是写爬虫,而是把这个核心口径问题定死。
1.2 数据年份跨度与断点风险的预判
另一个需要提前预判的坑是数据年份的连续性。2006-2024这十九年间,中国民航统计体系本身经历了几次调整:2016年前后机场分类标准有过一次细化,部分小型通用航空机场被单独归类;2020-2022年受公共卫生事件冲击,大量机场数据出现断崖式下跌,甚至个别月份的统计直接缺失;2023年之后统计口径又逐步恢复。
这就意味着,你在合并这十九年数据的时候,看到的每一个“异常波动”不一定是真实业务变化,可能就是统计口径变了或者数据源本身缺了。一个好的处理习惯是:在最终数据集里为每个指标补一个“数据来源”和“备注”字段,记录该条数据是官方正式统计、月度快报汇总还是估算值。
2. 数据来源选型与渠道对比:别把宝押在一个篮子里
2.1 民航局官方统计与公报数据
民航局每年发布的《民航机场生产统计公报》是这个项目的核心数据底座。它按机场逐条列出年度旅客吞吐量、货邮吞吐量和起降架次,覆盖面完整,连续性好,从2006年左右开始基本形成了稳定的发布节奏。早年间的公报格式偏简单,2008年之后逐渐增加了同比增减、排名变化这些附加信息,数据质量总体是逐年提升的。
这套数据的最大优势在于权威性,任何第三方数据源在做核对的时候最终都是以它为基准。缺点也很明显:发布存在一定滞后,通常要等到次年一季度甚至更晚才能拿到上一年度的完整数据;另外它只公布总量,不公布月度、季度明细,想要更细颗粒度的分析还得另找渠道。
2.2 机场集团年报与区域性统计年鉴
如果说民航局公报解决的是“有没有”的问题,那机场集团年报和区域性统计年鉴解决的就是“全不全”和“细不细”的问题。国内几大机场集团每年发布的年报里面,通常会包含旗下各机场更详细的业务数据,有时还会附带中转比例、国际航线占比、货邮结构这些额外维度。
区域性统计年鉴(特别是华东、中南、西南地区的)偶尔也会收录区域内主要机场的生产数据,优势是历史回溯性好,1990年代甚至更早的数据都能找到。缺点是统计口径和民航局公报不完全统一,有的年鉴按“旅客吞吐量”计,有的按“旅客发运量”计,这两个数不是一回事,发运量只算出港旅客,数值通常比吞吐量小一截。所以如果你拿年鉴数据和公报数据混着用,不加处理的话,排名必然出错。
2.3 第三方数据平台与开源数据集
市面上也有一批第三方数据平台在做民航数据的聚合,比如一些航空数据服务商提供的航班动态数据和机场吞吐量统计,还有不少开源社区维护的机场数据集。这些渠道的特点是获取方便、格式规范,通常还自带代码示例和API接口,对做数据分析的人来说非常友好。
但我自己测试下来的经验是:第三方数据的准确性在不同机场、不同年度之间波动很大。有的平台对小型机场的数据更新不积极,经常把上一年的数据沿用下来;有的平台把“旅客吞吐量”和“旅客运输量”混用,相差几个百分点算是常态。所以第三方数据只能作为交叉验证的参照,不能作为唯一来源。你在使用任何一份数据集之前,至少随机抽取三到五个机场、两到三个年份,和民航局公报逐项核对一遍,误差超过1%就要警惕这份数据源的可靠性。
3. 数据获取与清洗加工:从原始公报到结构化表格
3.1 采集策略设计:先定框架再补细节
实际动手采集的时候,我不建议一上来就逐份手工复制公报数据,那样做不仅效率低,而且手工录入的出错率极高。更合理的做法是分三步走。
第一步,先把数据框架搭起来。根据最新的民航机场名录,把2024年存在的所有民用运输机场的名称、三字码、所在省市、机场等级(国际枢纽、区域枢纽等)先列成一张基础表。第二步,以这份名录为基准,逐年给每个机场补齐2006-2024年的旅客吞吐量、货邮吞吐量、起降架次。第三步,处理数据缺口和异常值,比如某个机场2019年才通航,那之前的年份应该留空而不是填零。
这个顺序看起来很简单,但很多人恰恰是反着做的——先去找数据,再回来整理框架,结果就是不同年份的机场数量不一样,一会多了几个新机场一会又少了几个合并的机场,最后数据表里出现大量无法对齐的空行,反而花了更多时间返工。
3.2 数据清洗的五个关键步骤
数据清洗是整个项目里最耗时的环节,但也是决定最终分析质量的核心。我一般按照下面五个步骤来处理。
第一步:机场名称标准化。一定要特别注意机场改名的情况。比如某些机场从“XX机场”更名为“XX国际机场”,有些机场在统计公报里用的是全名,在年报里用的是简称。我的做法是维护一张“机场曾用名-现用名”对照表,清洗时统一替换成当前标准名称,同时保留曾用名字段以便回溯。
第二步:处理重复记录。不同数据源之间可能出现同一机场、同一年的数据重复出现两次的情况,用机场代码和年份做联合主键去重,去重时按照“官方数据优先于第三方数据”的规则保留最可靠的那条记录。
第三步:类型统一。把旅客吞吐量统一换算成“人次”,把货邮吞吐量统一换算成“吨”。有些数据源用的是“万人”和“万吨”,不换算直接合并的话,图表上会差出四个数量级。
第四步:缺失值标注。对于确实没数据的年份,用空值表示,并单独加一列说明原因(机场未通航、数据未公布、统计调整等),不要自作主张用线性插值去“填平”,否则后续做趋势分析的时候这些假数据会误导判断。
第五步:排名计算与复核。按年份和指标分别排序,生成排名列。复核时重点检查几个头部机场的名次变化是否符合实际认知——比如2024年如果没有意外的话,排名前几位的机场一定还是那几个熟悉的名字,如果发现某个新机场突然冲进前三,那基本可以断定是数据录入错了。
3.3 数据处理实操:从PDF公告到可视化看板
由于民航局公报多以PDF或网页形式发布,直接用代码批量读取需要做大量格式适配。我自己的处理流程是:先把公报PDF转成结构化文本,再用正则表达式按机场代码和字段名提取数值。不同年份的公报格式不完全一致,所以每一年的解析规则都要单独验证一遍,这个环节急不得。
数据整理完成后,建议尽快做一版可视化看板来检查整体质量。先用折线图看头部机场十九年间的整体趋势,再用柱状图对比不同区域机场的总量分布。我会特别留意一类异常:某条曲线在某一年突然出现“断崖式下跌”然后又立刻反弹,这多半不是真实业务变化,而是当年的统计口径调整或者数据源替换导致的。发现这类问题后,回到原始数据源逐条核对,通常都能找到原因。
4. 2006-2024年全国机场排名趋势的关键洞察
4.1 头部机场格局的演变:从京广沪到多极发展
把十九年数据全部整理到一张表里之后,最有意思的事情就是拉长时间轴看格局变化。2006年的时候,国内机场旅客吞吐量排名前三的基本是北京首都、上海浦东、广州白云这三家,广州白云在那几年还经常排在浦东前面,和虹桥加在一起的话上海的整体航空量级明显更强。
到2019年,北京首都的全球排名一度冲进前二,但2020年公共卫生事件之后整个格局洗了一次牌。广州白云在2020年直接冲到全球第一,成都双流也表现非常稳定,一方面因为国际航线占比相对较低,另一方面国内航线恢复得比较快。2021年成都天府机场投运后,成都成为了全国少有的双国际枢纽城市,双流+天府的合并数据让成都在全国城市排名中的位置进一步抬升。
2023年、2024年随着国际市场逐步恢复,上海浦东重新回到头部,但已经不再是过去那种“京沪争霸”的二元格局。现在头部区域实际上是多极并行——北京、上海、广州、成都、深圳、重庆各自形成了比较稳定的枢纽势能。分析排名数据的时候,不能只看总量,还要结合城市群联动、机场设施容量、航线网络结构这些因素一起看,否则很容易得出“某机场增长最快”这种只看表面数字的结论。
4.2 梯队分布与区域格局:华东中南领先,西南崛起
按大区来看,华东和中南地区机场旅客吞吐量长期占据全国四成以上的份额,这和区域经济发展水平、人口密度直接相关。长三角的上海虹桥、杭州萧山、南京禄口、宁波栎社形成了密集的机场群,城市之间高铁竞争非常激烈,机场吞吐量增长其实受到一定压制;珠三角则是广州白云、深圳宝安双核驱动,再加上香港和澳门机场,整个区域的航空需求非常旺盛。
西南地区是近几年增长最亮眼的板块。成渝城市群的双机场模式,加上昆明长水、重庆江北的持续扩建,使得西南在全国机场排名中的话语权明显提升。昆明长水2012年转场后一直保持千万级吞吐量,重庆江北这些年通过国际航线拓展和快线网络布局,旅客量稳步攀升。相比之下,东北和西北地区受制于经济总量和人口基数,机场吞吐量增长相对平缓,排名整体稳定但缺乏跃升动力。
4.3 中小机场的分化:有的冲千万级,有的长期徘徊
把目光从头部移开,中小机场的排名变化其实更有看头。以千万级机场梯队为分界线,一些地级市机场通过旅游热度带动、政策扶持和基地航司运力投放,实现了从百万级向千万级的跨越。典型如某些旅游城市机场,在2015-2019年间增速保持在两位数,典型年份甚至超过20%。
但也有很多中小机场常年徘徊在几十万人次量级,原因各不相同:有的城市高铁直达省会的通勤时间不到两小时,航空需求被大幅分流;有的机场航班密度不够、票价偏高,导致本地旅客宁愿去周边大城市坐飞机。做数据分析的时候如果把所有机场放在一起横向看排名,这些结构性问题很容易被平均数掩盖,所以我会额外做一列“同比增速”和“近五年复合增速”,专门用来识别两类机场:一类是底量不大但持续高增长的潜力型,一类是多年原地踏步的停滞型。
5. 常见问题与排查技巧实录
5.1 不同数据源的数据“对不上”怎么办
这是整个过程中被问得最多的问题。同一机场同一年度,民航局公报和机场年报的数据差了五十万,到底信谁?
我的处理原则是:以民航局公报为准,其他来源做佐证。理由很简单,民航局公报是汇总各机场上报数据后统一发布的口径,全国排名就是按这套数来的。但注意,这里有个细节:有的机场年报用的是“旅客吞吐量+中转旅客重复计算”的口径,而民航局公报的旅客吞吐量不含重复计算部分,两边会有几个百分点的差异。如果你要做单个机场的精细分析,可以两者都保留,在备注里注明口径差异;如果你要做全国排名和横向对比,直接统一用民航局数据就对了。
5.2 机场更名和数据断档的处理方式
机场更名的处理方式前面已经说过,这里补充一个实际操作中容易踩的坑:有些机场在改名前和改名后,机场代码也会发生变化,或者因为新航站楼启用而从旧代码切换到新代码。如果你只按名称匹配,很可能把改名后的机场当成一个“新机场”,而实际上它是老机场的延续。
数据断档的情况更复杂。部分机场在2020年之后有几个月直接零统计,但这并不代表机场关停了,只是业务临时中断;还有个别机场因为军方管制或极端天气出现过短暂关闭。这类断档在最终数据里必须留空,但要在备注里写明“临时性停航,不影响整体分析”。
5.3 可视化呈现时最常见的三个差错
第一是坐标轴截断误导。有些人在做排名对比柱状图时,为了让头部机场之间的差距更明显,把Y轴起点设在几百万人次的位置,这样做的结果是视觉上放大了实际差距,很容易被读者误读。我一般会把Y轴从零开始,确保比例真实;如果非要截断,一定要在图上明确标注“Y轴已截断”,而不是默认读者能看出来。
第二是多年份数据在同一张图上比较时,没有区分不同量级。比如旅客吞吐量是千万级,货邮吞吐量是十万吨级,放到同一张双轴图里不加说明,两条曲线会挤在一起完全看不出来各自的变化趋势。更好用的做法是分两张图,或者用归一化处理后再对比。
第三是排名变化的动态展示。静态表格只能看到某一年的排名,丢失了时间维度。我习惯用“排名滑块图”或者“年份序列标注图”来展示单个机场的排名升降轨迹,比如某个机场从第15位逐年滑到第25位,这种信息比单看一年的绝对排名更有分析价值。
6. 数据集的扩展方向:单一排名表还能怎么用
6.1 结合航班数据做运行效率分析
机场旅客吞吐量排名只是结果指标,想深入了解一个机场的真实运行效率,还得结合航班时刻数据来看。我给机场吞吐量排名表补充了一组“单位起降架次旅客数”指标,也就是平均每架次航班承运的旅客人数,这个值越高,说明航班的载运率和机型配置越优。
举一个实际观察到的现象:某些千万级机场虽然旅客总量很高,但单位起降架次旅客数只有一百出头,说明大量航班是小机型执飞,或者是支线航班占比偏高;而一些国际枢纽机场这个数字能到一百五以上,宽体机占比高、干线航班集中。类似的指标还有“单位跑道起降量”“高峰小时处理能力利用率”,这些都能从吞吐量数据出发做延伸分析。
6.2 与城市经济数据做联动分析
把机场吞吐量排名和城市GDP、人口、进出口贸易额放在一起看,能发现一些有意思的规律。最典型的是“航空依赖度”概念:一个城市的旅客吞吐量除以GDP总量,得到的数值反映了这个城市经济活动的对外联系强度。旅游城市通常这个值偏高,而制造业城市因为货运需求大,货邮吞吐量和GDP的相关性更强。
更进一步的话,可以构建一个简单的面板数据集,用城市固定效应模型去分析机场吞吐量和产业结构之间的关系。这种跨领域联动分析的起点,往往就是一份干净的机场吞吐量排名表,所以前期数据清洗做得到位的话,后面这些扩展分析都会顺手很多。
6.3 预测模型与趋势外推
再往后走一步,就是基于历史排名数据做预测。我试过用简单的时间序列模型对头部机场未来三年的旅客吞吐量做趋势外推,2019年之前拟合效果好到让人惊喜,但2020年之后数据的波动性和政策干扰明显加大,模型残差显著增大,预测的可靠性大幅下降。
所以我的建议是:基于2006-2024这十九年的数据做预测时候,务必分两个阶段处理——2019年之前按正常趋势建模,2020-2022年作为特殊事件窗口单独标识,2023年之后作为恢复期单独建模。把三个阶段揉进一个模型,结果基本没有参考价值。如果你只想要一个粗糙的方向判断,那直接看头部机场在建扩建项目和所在城市的规划人口增量,可能比任何统计模型都来得靠谱——这个经验是我踩过好几次坑之后得出来的。
回到这个项目本身,所有工作的起点其实就是把一页页公报数据落成一张张可以横着比、竖着拆的表。真正花时间的地方不是找数据,而是理解每一个数字背后的口径和背景。数据整理这活儿常常被人觉得枯燥,但它恰恰决定了后续所有分析的天花板在哪里。就我自己的体会来说,每次打开这套数据,都能发现一些新的细节和角度,这可能就是这个项目最有意思的地方。