航空航线客运建模
航空客运域通常建航班维(航线、机型、班期)与两类事实:订座事实记录订座与退改,乘机事实记录实际乘机人数与可售座位。客座率等于乘机人数除以可售座位;准点与延误用状态事件表达。航班与航段两个概念必须分清:中转航班按航段统计才不会重复计数,按航班统计则要把各航段合并看待。
基本信息
| 维度 | 航班 / 航线 / 机型 / 班期 |
|---|---|
| 事实表 | 订座事实 + 乘机事实 |
| 关键指标 | 客座率、准点率、取消率 |
| 延误表达 | 状态事件,含延误时长与原因分类 |
| 口径要点 | 航班与航段分开统计,避免中转重复 |
| 分母处理 | 取消航班要计入正常率的分母 |
典型使用场景
- 客座率分析:按航线与班期比较客座率,指导运力投放
- 准点率考核:按航线、机场统计准点情况与延误时长分布
- 订座趋势:观察提前订座曲线,预判航班收益水平
- 退改分析:按票价类型统计退改率,评估收益政策
- 延误归因:把航段与起降动作事件化,定位延误发生在哪个环节
乘机事实与核心指标
乘机事实与核心指标
CREATE TABLE fact_flight_board (
flight_no string,
flight_date string,
route_sk bigint,
leg_no int, -- 航段号,中转航班按航段统计避免重复计
boarded_cnt int,
capacity_cnt int
)
PARTITIONED BY (dt string) STORED AS ORC;
SELECT route_sk, sum(boarded_cnt) / sum(capacity_cnt) AS load_factor -- 客座率 = 乘机人数 ÷ 可售座位
FROM fact_flight_board GROUP BY route_sk;航班与航段口径
| 对象 | 粒度 | 统计注意 |
|---|---|---|
| 航班 | 一个航班号一次执行 | 中转航班合并看,指标按航班汇总 |
| 航段 | 起飞到落地一段 | 按航段统计不会重复计数 |
| 订座 | 一张机票一次订座 | 含退改状态,与乘机数不同 |
航班延误分析把航段与动作(起降、加油、除冰)分开事件化,延误归因才能落到具体环节,否则只能得出「延误总时长」而无法推动改进。
取消航班要从分母口径上明确处理:从正常率分母中剔除会得出虚高的准点率,因此行业惯例是把取消航班计入分母单列展示,报表需同时给出取消率。