Ana içeriğe geç
Kesit SQL
Orta · Kanat Havayolları

Havayolu metrikleri: doluluk, zamanında varış, yolcu-km ve sadakat

Sektörün temel ölçülerini SQL ile tanımlamak: load factor, OTP, RPK, no-show oranı, kohort ve Pareto.

Uygulamada aç, 9 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Sektör sözlüğü

MetrikTanımSQL fikri
Doluluk (load factor)Binen yolcu ÷ koltukSUM(pax) / SUM(seats)
Zamanında varış (OTP)Planlanandan en fazla 15 dk geç inen uçuşların payıKoşullu sayım ÷ inen uçuş
Yolcu-km (RPK)Taşınan yolcu × uçulan mesafeSUM(pax * distance_km)
Koltuk-km (ASK)Sunulan koltuk × mesafeSUM(seats * distance_km)
No-show oranıRezervasyonu olup uçuşa gelmeyenlerno_show ÷ (flown + no_show)

Doluluğun kilometre ağırlıklı hali RPK ÷ ASK'tır; uzun rotalardaki boş koltuk, kısa rotadakinden daha pahalıdır.

SELECT strftime('%Y-%m', f.sched_dep) AS ay,
       ROUND(100.0 * SUM(f.pax * r.distance_km) / SUM(a.seats * r.distance_km), 1) AS km_doluluk
FROM hv_flights f
JOIN hv_routes r ON r.route_id = f.route_id
JOIN hv_aircraft a ON a.tail_no = f.tail_no
WHERE f.status <> 'cancelled'
GROUP BY strftime('%Y-%m', f.sched_dep)
ORDER BY ay;
Paydayı dikkatle seçNo-show oranında iptal edilen rezervasyonlar paydaya girmez; çünkü iptal eden yolcu zaten koltuğu bıraktı. Her oran için “kimler bu olayı yaşayabilirdi?” sorusunu sor.

Derinleş: Rötar nedenleri: kim kontrol ediyor, nasıl yayılıyor?

Rötar dakikalarını nedenlere göre toplamak ilk adımdır. Yönetim için asıl soru ise hangi dakikaların bizim kontrolümüzde olduğudur. Sektörde nedenler kabaca üç gruba ayrılır:

GrupKanat kodlarıSahibi
İç (kontrol edilebilir)teknik, yer_hizmetleriBakım, yer operasyonu
Dışhava, hava_trafikMeteoroloji, hava trafik kontrolü
Zincir (reactionary)gec_gelen_ucakÖnceki uçuşun gecikmesi; planlama ve dönüş süresi

Zincir gecikmesi kendi başına bir neden değildir, önceki uçuşun gecikmesinin yayılmasıdır. Kanat'ta toplam rötar dakikasının %24,9'u bu gruptan geliyor. Bu yüzden günün ilk uçuşlarını korumak (sabah ilk dalganın zamanında çıkması) ve uçuşlar arasına yeterli dönüş süresi (turnaround) koymak, en etkili iyileştirme alanlarıdır.

Veri notuKanat'ta gec_gelen_ucak yalnız aynı uçağın önceki seferi en az 15 dakika geç indiyse yazılır (342 satır). Uçak kalkış saatinde gerçekten hazır olmayan satır ise 12'dir; filo seyrek uçtuğu için yayılım çoğunlukla dolaylıdır.

Yayılımı veride görmek

Gecikmeler gün içinde birikir: Kanat'ta uçağın günün ilk uçuşunda zamanında kalkış %65,1, sonraki uçuşlarda %59,2. Bunu görmek için uçuşları uçak ve gün içinde sıralayıp günün ilk uçuşunu ayırmak yeterli. Kalkış ve varış OTP'sini aylık olarak yan yana koymak da faydalıdır:

SELECT strftime('%Y-%m', sched_dep) AS ay,
       ROUND(100.0 * SUM(CASE WHEN ROUND((julianday(actual_dep) - julianday(sched_dep)) * 1440) <= 15 THEN 1 ELSE 0 END)
             / COUNT(actual_dep), 1) AS kalkis_otp,
       ROUND(100.0 * SUM(CASE WHEN ROUND((julianday(actual_arr) - julianday(sched_arr)) * 1440) <= 15 THEN 1 ELSE 0 END)
             / COUNT(actual_arr), 1) AS varis_otp
FROM hv_flights
GROUP BY strftime('%Y-%m', sched_dep)
ORDER BY ay;

Varış OTP'si (tüm dönem %57,3) kalkış OTP'sinden (%62,1) düşüktür, çünkü havada ve inişte de gecikme eklenir. Yolcunun yaşadığı ve bağlantı uçuşlarını etkileyen asıl ölçü varıştır. Kalkış ise operasyon ekibinin doğrudan kontrol ettiği ölçüdür. İkisi birlikte raporlanır.

Sık hatalar

Alıştırmalara geç (9)