致力于航空、生产制造、零售等多行业产品方案与服务
- 🎓 文科背景、法学学士|教育学硕士
- 📊 业务数据分析「专家」· 敏捷 BI 布道师
- 📚 《数据可视化分析》《业务可视化分析》图书作者
- 🎓 中国地质大学(武汉)经管学院 MBA 校外导师
- 🤝 以 Tableau 会友,致力于构建业务分析通识框架
近期在阅读《全球航空业》第十章 “不正常运营:航班计划恢复及稳健计划制订”,其中讲解深入、“非浅出”,特别是恢复算法体现了行业的深度。本文试图展开“不正常运营”相关的业务理解及数据形式,既能加强自我学习,又能惠及后来者。
一、航班不正常运营(IRR)
首先要明确“不正常运营”的观察视角,旅客视角定义的“不正常运营”是从所持客票角度观察的,旅客客票可以是单程、经停航班甚至联程航班,航空公司视角定义则是从飞机能否有效按时执行计划来看的,常常以一次起降为管理单位。
视角不同,二者会由细微的差别,部分不正常运营如果尽快恢复,可以减少对旅客的影响(比如一个中转航班的第一航节延误,以合理调拨飞机替代可以免于第二航节异常,可以降低对部分旅客的影响,但甩飞航段旅客就需要下飞机甚至更换更换登机口)。总体上看,不正常运营是以航节,即一次完整的起降为视角来统计。
1、旅客视角的 IRR 不正常运营
国内中航信系统普遍使用 IRR 代表“不正常航班运营”,英文全称 Irregular Operations,这是基于旅客视角的标识。IRR 标识如果出现在客票中,表示客票对应的航班出现了不正常情况,旅客可以非自愿退、改、签,航空公司承担相应的责任。
以厦门航空通告为例,界定了IRR 的定义和范围如下:
“不正常航班客票定义:厦航实际承运航班(包含代码共享航班)出港延误、取消、提前、航班变更的客票,不包含航班不正常信息发布后销售的客票。”
“关于正式启用不正常航班客票 IRR 标识的通告”
旅客角度,IRR 常常对应“非自愿退改签”。
2、航空公司视角的不正常运营
按时抵达目的地就是“正常航班”或曰“准点航班”(on-time Arrivals)。通常会包含提前到达和延误 15 分钟之内的航班。延误时间通常以挡轮挡时间(In-Block Time,IBT)为准。 参考 【航空机务】民航航班运营的时间和备降执行
从航空公司角度来看,不能如计划执行航班计划,就是不正常运营,典型的代表是航班延误和航班中断,其中航班中断又可以分为航班取消、航班转场,航班转场又包含返航、备降两种主要情形。
- 航班延误Delay:航班未能按照计划时间准时抵达目的地,发生超过合理时间(比如 15 分钟)以上的延误。
- 航班中断:航班无法按照计划抵达目的地,原计划必须中止的情形。
- 航班取消Cancelled:航班因航空公司机械、机组等原因,或因极端天气、军事等外部原因,取消执行。
- 航班转场Diverted:航班因航空公司机械、机组等原因,或因极端天气、军事等外部原因,或因旅客疾病等其他原因中止前往目的地,紧急备降目的地之外的其他机场。
- 航班返航:返航出发机场
- 航班备降:备降出发和目的地机场之外的其他机场
从业务的角度,航班延误、取消、转场都可以视为与“航班正常”一样的运营特征,因此可以用一个“航班状态”来区分,在此基础上,增加必要的辅助说明来表示各自的差异性。比如航班转场会产生新航节,而航班取消也不会。
下图显示了美国自 2015 年以来的航班运营(flights Operations)及准点率、延误率、取消率数据。

抛开 2021 年不看(疫情导致航班量大幅下降,准点率过去 20 年的最高水平),这几年航班准点率也有下滑趋势,在航班量未明显增加甚至减少的情况下,还没有达到疫情前的水平。
3、不正常运营的比率计算
从上面数据来看,这里的几个比率是逻辑异常简单的计算逻辑:
- 准点率 Ontime Arrivals% = 准点到达航班 Ontime Arrivals / 运营航班 Flight Operations
- 延误率 Delayed% = 延误航班量 Arrival Delays / 运营航班 Flight Operations
- 取消率 Cancelled% = 取消航班量Flights Cancelled / 运营航班 Flight Operations
考虑到美国有众多的机场和航空公司,为了查询不同机场、航司、各年的不正常运营比率,美国运输统计数据中提供了较为细致的聚合数据。如下所示,展示了 纽约LaGuardia机场、美国航空公司 AA,2017-2023 年的准点、延误、取消、转场及航班运营总量(出发)。
| Airport | Carrier | Year | Ontime Arrivals | Arrival Delays | Flight Cancelled | Diverted | Flight Operations |
|---|---|---|---|---|---|---|---|
| New York LaGuardia | American Airline, AA | 2018 | 8,727 | 2,825 | 995 | 40 | 12,587 |
| New York LaGuardia | American Airline, AA | 2019 | 8,880 | 3,358 | 592 | 26 | 12,856 |
| New York LaGuardia | American Airline, AA | 2020 | 9,822 | 1,818 | 1,061 | 16 | 12,716 |
| New York LaGuardia | American Airline, AA | 2021 | 1,856 | 169 | 69 | 7 | 2,101 |
| New York LaGuardia | American Airline, AA | 2022 | 8,898 | 2,675 | 918 | 51 | 12,542 |
| New York LaGuardia | American Airline, AA | 2023 | 7,824 | 2,424 | 173 | 23 | 10,443 |
注意,在明细表中,是没有必要、也不应该出现延误率的。
为了统计上述数据,航空公司还有更加细致的航班计划明细表和执行记录数据,它们是上述数据的真正来源,也是更多业务真谛之藏身之地。
二、航班运行计划和延误
从旅客角度看,一旦购买了特定航班的机票,后续主可以感知到的航班运营主要包含:值机选座、安检、登机直至关闭舱门、飞机滑出并起飞、飞机降落并滑入、打开舱门下飞机。
上述除了安检由机场完成,其他环境都是航空公司完成。航空公司要把整个航班运营划分为更加细致的阶段,分别交由运控中心、机组、地面机务等各个部门协调完成。
正常情况下的航班运营,参考 另一篇博文介绍 【航空机务】航班运营及其阶段
三、航班取消
后补
四、中断事件:备降和返航的转场航班
备降是一个新的业务,但又与正常航班有共同之处,备降、正常、取消都可以视为航班的状态,因此备降不脱离航班明细表。从这个角度看,完全没有必要用一个新表格记录备降、返航等特殊飞行的飞行过程,只需要在当前飞机明细中增加一个标记即可。这里的难点是,备降和返航之后,航空公司还是指定继续完成旅客行程(itinerary)的航班飞机计划,如何处理原始航节、实际航节、计划航节三者之间的关系呢?
这就是一个介绍数据表自连接(self join)的绝佳场景。
1、航班备降及继续执行
备降(diversion):飞机(航空器)在飞行过程中不能或不宜飞往飞行计划中的目的地机场或目的地机场不适合着陆,而降落在其他机场的行为称为备降。
备降机场(Alternate airport)一般在起飞前都已预先选定好。在每一个航班起飞之前,当班机长签署的飞行计划中都必须至少明确一个条件合适的机场作为目的地备降机场。备降机场包括起飞备降机场、航路备降机场和目的地备降机场。一般来说,如果是飞机起飞后短时间需要备降的,大多数情况会选择返回起飞机场;当飞机完成了整个航程的一半距离时,备降就可能选在航线中段附近符合飞机通行标准的某个机场;如果飞机已经到达目的地区域,就可能选择在目的地机场附近的某个机场备降。
备降是必要的安全措施之一。发生备降的原因有很多,主要有航路交通管制、目的地天气状况低于降落标准、飞机发生机械故障等等。
先看一个示例图,从航旅纵横中可以看到,3U3177 航班原计划18 点 12 分从杭州飞往九寨,但是由于天气等原因(途中多次遇到颠簸)备降成都双流机场。当晚继续从成都双流机场继续执行前往九寨的计划,并于 23 点 10 分抵达。
从飞机的角度看,原计划的一个航节(杭州到九寨),实际上变成了两个航节(从杭州到成都,再从成都到九寨)。相当于一个直飞航班变成了经停航班。
但是,从数据的角度看,既不是一行,也不是两行,而是三行——其中两个航节是实际执飞的数据,另一个从杭州飞九寨沟是没有“中断执行”的原计划数据。
数据是业务的反映,不仅仅要反映实际业务,也要反映计划,变更等业务变化。业务的奥秘就在多变的业务规则之中。

数据既要记录没有飞机的原计划,还要记录实际执行的新计划,所以数据表中必须要有三行记录才行。如下所示:
| 航班号 | 航班日期 | 出发 dep | 出发时间 | 到达 arr | 到达时间 |
|---|---|---|---|---|---|
| 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 九寨黄龙 | NULL |
| 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 成都双流 | 2024-04-25 20:10 |
| 3U3177 | 2024/4/25 | 成都双流 | 2024-04-25 21:30 | 九寨黄龙 | 2024-04-25 23:40 |
上述事例数据中,第一行是没有执行成功的原计划,所以它的到达时间理应为空——运行中断,因此不能继续记录。而第二行(杭州-成都)是实际执行的第一个航节,因此有实际的出发和降落时间;第三行则则是实际执行的第二个航节。
是否可以用航节号来表示它们之间的关系?比如默认航节当然是 1,可是备降航班难道是 2 吗?当然不应该,因为这个是计划航班的实际执行,依然是第1航节。虽然一天的一个航班有多个第一段航节可以表示异常,但显然这个逻辑不够理想。
更好的方式是,要想一个办法记录前后的关系——虽然数据表中默认用多表表示关系,但这里是具有相同业务性质的业务过程,因此就可以在同一个表中,用字段表示关系。为此,首先需要为每一个航节(不管是计划,还是实际执行)赋予唯一编号,作为表的主键;而后在备降、返航的特殊航节后,增加一个找到“原始明细 ”的外键字段。
同一个表中的关联字段,通常用 parent_前缀来表示,因此如下所示:
| PK_ID | parent_ID | 航班号 | 航班日期 | 出发 dep | 出发时间 | 到达 arr | 到达时间 |
|---|---|---|---|---|---|---|---|
| 1001 | NULL | 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 九寨黄龙 | NULL |
| 1002 | 1001 | 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 成都双流 | 2024-04-25 20:10 |
| 1003 | 1001 | 3U3177 | 2024/4/25 | 成都双流 | 2024-04-25 21:30 | 九寨黄龙 | 2024-04-25 23:40 |
| 1004 | NULL | 3U3111 | 2024/05/29 | 成都双流 | 2024-5-29 20:30 | 上海虹桥 | 2024-5-29 22:30 |
如此一来,就在当前表中,表示了两个实际执行航节和原始航节之间的关系。
备降是一种常见的备用飞行策略,是应对潜在风险的提前回避。而迫降(forced landing)则是在风险已经来临时的紧急回避,通常是在飞机燃料用尽、机上起火、出现了重大故障等情况下进行。
典型的备降是四川航空 8633 航班事件,2018 年 5 月 15 日,川航 3U8633 航班原计划从重庆飞往拉萨,在成都区域巡航阶段挡风玻璃破裂,飞机失压,触发旅客氧气面罩脱落,40 分钟后航班紧急备降成都。刘长健也被称之为“中国版萨利机长”。
比较著名的迫降案例则是“哈德逊河奇迹”——2009年1月15日,美国资深飞行员切斯利·B·萨伦伯格三世(Chelsey B. Sullenberger III)将动力全失的飞机成功迫降于纽约哈德逊河上,机上155名乘客和机组人员全部幸免于难。萨伦伯格因此被世人誉为“英雄机长”。


2、备降中断及后续不执行
上述的案例是一个备降后继续执行的例子,如果备降后后续航节不再执行呢?是不是意味着数据就少了一行?
虽然逻辑上合理,但是,我们更应该把“备降后取消后续航班”作为“备降执行”的特殊场景。就像软件开发中定义一个方法,可以兼容具有共同特征的多种情形一样。
因此,备降的业务逻辑就应该是:1)备降一旦发生,就自动生成从出发机场到备降机场的新航节,以及从备降机场继续前往目的地的新航节;2)根据后续航节的实际执行情况,更新后续航节的状态,如果实际执行,视同正常航班记录;如果不再执行,视同航班临时取消。
以前面的案例来看,假设后续航班没有执行,那么数据表应该如下记录:
| PK_ID | parent_ID | 航班号 | 航班日期 | 出发 dep | 出发时间 | 到达 arr | 到达时间 |
|---|---|---|---|---|---|---|---|
| 1001 | NULL | 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 九寨黄龙 | NULL |
| 1002 | 1001 | 3U3177 | 2024/4/25 | 杭州萧山 | 2024-04-25 18:10 | 成都双流 | 2024-04-25 20:10 |
| 1003 | 1001 | 3U3177 | 2024/4/25 | 成都双流 | null | 九寨黄龙 | null |
当然,上述只是最简单的数据记录方式,实际业务中,常常会设计一个专门的字段来表示航班的类型,从而表示更多的细节,比如用 1 表示正常计划、2 表示航班取消、3 表示备降航班、4 表示返航,等等。
3、返航:备降的特殊形式
从中断的角度看,返航和备降具有相同的性质,甚至可以把返航理解为备降的特殊形式。虽然返航的到达地点和出发相同,但依然是一个全新的航节(比如从杭州到杭州)。而且,返航之后的航班既要考虑尽快把旅客送到原计划目的地,又要尽快减少对后续航班的影响(一架飞机一天通常要执行三到四次航节飞机,从而实现利益最大化)。
当然,返航的特殊性就是航司不一定把继续执行视为“默认”的义务,相比把旅客半路放下,前不着村、后不着店,返航只是回到了起点。航司公司可以把旅客调整到其他航班,甚至改签明天的航班,相比备降有更多的选择余地。而返航往往是回到了出发基地,航空公司有更充足的飞机资源合理调配。
比如,5 月 20 日,喜乐君从深圳乘坐春秋航空航班飞往上海,由于台风影响航班大面积延误,航班从原计划的下午5 点 50 分推迟到晚上八点。考虑到台风的影响,有的航班在前一日就预先通知取消了,9C8776 航班推迟到八点班起飞,确保原计划 8 点 15 乘坐 9C8950 航班的旅客也可以按计划前往上海。在返航取消或者其他原因取消之后,航空公司可以在低客座率的前提下,把多个航班的旅客合并送往目的地,尽可能降低运营成本和取消带来的旅客成本。


返航的数据记录方式基本与备降一致,这里不再赘述。
2024-06-02 喜乐君
2024-06-05 更新
Pingback: 【航空机务】民航航班运营及其阶段-Tableau喜乐君-敏捷BI布道师
评论已关闭。