Как посчитать экономику авиарейса и парка: формулы, допущения

О чём статья

Это инструкция, как самому собрать экономику одного рейса, а потом парка воздушных судов (дальше — ВС): из каких статей складывается себестоимость, по каким формулам считается каждая, почему формулы именно такие и где в них чаще всего ошибаются. Подойдёт тем, кто строит финмодель авиакомпании, сравнивает типы ВС, оценивает новый маршрут или просто хочет понять, почему билет стоит столько, сколько стоит.

Все формулы ниже — те, что работают в открытом калькуляторе, который я сделал (о нём в конце). Цифры для примера — эталонный рейс Франкфурт — Барселона на A320 в июле с загрузкой 82%.

1. Единица счёта — рейс

Всё начинается с одного рейса из A в B. Себестоимость рейса — сумма статей:

C_{text{рейс}} = C_{text{топл}} + C_{text{аэроп}} + C_{text{анв}} + C_{text{влад}} + C_{text{ТОиР}} + C_{text{экип}} + C_{text{назем}} + C_{text{прод}}

Чтобы понимать масштаб, вот как она раскладывается на эталонном рейсе (замер 1 октября 2026 года; итог — около 20,6 тыс. EUR за рейс):

Статья

Доля себестоимости

Топливо

29,5%

Аэропортовые сборы

22,8%

Владение (лизинг)

11,3%

ТОиР

8,6%

Экипаж

8,2%

Продажи (дистрибуция)

7,0%

Наземное обслуживание

5,9%

Аэронавигация, маршрутная

5,3%

Аэронавигация, терминальная

1,3%

Из суммы получаются два главных ответа: безубыточный тариф и безубыточная загрузка. Тонкость в том, что продажи — это не фиксированная сумма, а процент от выручки: комиссия агентов, платёжных систем и систем бронирования. Поэтому продажи нельзя просто прибавить к остальным статьям и разделить на пассажиров — получится заниженный тариф. Правильно так:

P_{text{безуб}} = frac{C_{text{база}}}{N_{text{пасс}} cdot (1 - d)}, qquad LF_{text{безуб}} = frac{C_{text{база}}}{P cdot (1 - d) cdot N_{text{кресел}}}

где C_база — себестоимость без продаж, d — доля продаж в выручке (в моей модели 7%), N_пасс = кресла × загрузка. На эталонном рейсе безубыточный тариф выходит около 148 EUR с пассажира.

Почему считать от рейса, а не сразу от года и парка? Потому что почти все затраты авиакомпании в итоге привязаны к одному из двух событий: к часу полёта или к взлёту‑посадке. Если правильно разложить рейс, парк собирается из рейсов почти механически. Наоборот — нет: годовые цифры авиакомпании не скажут, сколько стоит конкретная пара городов.

2. Геометрия и время

Расстояние — ортодромия (кратчайший путь по сфере):

d = 2R cdot arcsinsqrt{sin^2frac{Deltavarphi}{2} + cosvarphi_1cosvarphi_2sin^2frac{Deltalambda}{2}}

На практике самолёт летит не по ортодромии: трассы, зоны ограничений, закрытое небо. Если путь обходит закрытую зону, расстояние — сумма ортодромий по точкам обхода. Пара, которую по прямой не пролететь, считаться по прямой не должна вовсе: число полёта, которого не бывает, хуже честного «не посчитать».

Второе — время. Все почасовые ставки (лизинг, ТОиР, экипаж) привязываются к блок‑времени — от уборки колодок до их установки, а не к времени в воздухе:

T_{text{блок}} = T_{text{руление}} + T_{text{набор}} + T_{text{крейсер}} + T_{text{снижение}}

На коротком плече руление и набор с снижением — заметная доля блока, поэтому «расстояние ÷ крейсерская скорость» на рейсах до часа ошибается на десятки процентов.

3. Топливо

Топливо — самая крупная статья, и в ней две независимые части: сколько сжигаем и почём покупаем.

Расход. Его нельзя считать «кг в час × часы»: у каждого типа свой расход на взлёте, наборе, в крейсере и на снижении, и он зависит от массы, а масса — от загрузки и самого топлива. Рейсовое топливо — сумма по фазам полёта:

F_{text{рейс}} = sum_{text{фазы}} dot m_{text{фаза}}(m, h, V) cdot t_{text{фаза}}

Я использую открытую библиотеку openap с аэродинамическими моделями типов. Но открытая модель — не истина: по ней A320neo экономичнее A320 примерно на 40%, а по опубликованной эксплуатации — примерно на 15%. Поэтому модель калибруется по фактическим данным (таблицы рейсового топлива, отчётность перевозчиков США о расходе), и для типа появляется поправка — у A320neo, например, ×1,37. Отдельная грабля: у некоторых типов в библиотеке нет аэродинамической модели вовсе, и расчёт тихо падает на плоскую ставку в кг/ч без набора и снижения. Такие места обязаны быть видны в результате.

Цена. Публичный ориентир — спотовая котировка авиакеросина (например, побережье Мексиканского залива США, EIA). Но спот — не цена «в крыло»: к нему добавляются доставка, хранение, заправка, наценка поставщика и налоги, и всё это сильно зависит от региона. Поэтому:

P_{text{крыло}} = P_{text{спот}} cdot k_{text{региона}}

Множитель k — от ~1,1 в Европе и Северной Америке до ~1,5 в Индии и на Дальнем Востоке России. В отдельных странах есть свои механизмы, которые надо учитывать явно: в России — демпфер и возврат акциза для российского эксплуатанта (при высоком демпфере вычет сопоставим с самой ценой), в Индии — налоги штатов на авиакеросин.

4. Аэропортовые сборы

Тариф аэропорта — это не одно число, а документ с десятком платежей и условиями: взлёт‑посадка по максимальной взлётной массе (MTOW), сбор с пассажира, безопасность, стоянка, шумовые категории, ночные надбавки, скидки за новые маршруты. Обобщённо:

C_{text{аэроп}} = r_{text{посадка}} cdot MTOW + r_{text{пасс}} cdot N_{text{выл}} + r_{text{безоп}} cdot N_{text{выл}} + C_{text{стоянка}} + C_{text{шум}} + dots

Главная грабля здесь не в ставках, а в том, за что выставляется счёт. Аэропорт выставляет счёт за оборот — прилёт плюс вылет, — а пассажирский сбор берётся только с вылетающих. Если просто сложить сборы обоих аэропортов на один рейс, пассажирский сбор Барселоны возьмётся с тех, кто улетает обратным рейсом. На Франкфурт — Барселона это давало +4,7 тыс. EUR к рейсу и +34 EUR к безубыточному тарифу. Правильно — посчитать оборот на каждом конце и отнести на рейс половину:

C_{text{аэроп, рейс}} = frac{C_{text{оборот}, A} + C_{text{оборот}, B}}{2}

5. Аэронавигация

За обслуживание воздушного движения платят дважды: на маршруте и в районе аэродрома.

Маршрутный сбор в зоне EUROCONTROL (41 государство) считается по единицам обслуживания: расстояние в зоне и масса под корнем, умноженные на ставку зоны:

C_{text{маршр}} = sum_{z} r_z cdot frac{D_z}{100} cdot sqrt{frac{MTOW}{50}}

где D_z — километры над зоной z, r_z — ставка зоны. Корень из массы — сознательное решение: тяжёлый самолёт платит больше, но не пропорционально массе. Другие страны считают иначе, и формула должна быть данными, а не кодом: Россия — ставка за 100 км по полосам массы, отдельно для внутренних и международных рейсов; Китай — за километр без учёта массы; США с внутренних рейсов маршрутный сбор не берут вовсе (их управление движением финансируется налогами на билеты и топливо).

Грабля — границы зон. Сначала на эталонном рейсе у меня вообще не учитывалась Франция: границы были усреднены слишком грубо. Потом выяснилось, что по мировым границам 8% пути приходится на Швейцарию, а EUROCONTROL выставляет за этот участок счёт по французской ставке. Там, где счёт выставляет EUROCONTROL, главнее его границы зон, а не политическая карта.

Терминальный сбор берётся за вылет, с массой в степени 0,7:

C_{text{терм}} = r_{text{аэродрома}} cdot left(frac{MTOW}{50}right)^{0{,}7}

и, как аэропортовые сборы, на рейс относится половина оборота.

6. Владение

Самолёт обычно не покупают, а берут в операционный лизинг с ежемесячным платежом. На рейс он раскладывается через налёт — сколько блок‑часов в месяц борт реально летает:

C_{text{влад}} = L_{text{мес}} cdot frac{T_{text{блок}}}{U_{text{мес}}}

Здесь главный рычаг — не ставка, а налёт U. Узкофюзеляжник лоукостера летает 300+ часов в месяц, у сетевого перевозчика часто меньше. При одной ставке лизинга разница в налёте в 20% — это 20% разницы в стоимости владения на рейс.

Где взять ставку? Каталожная цена самолёта примерно вдвое выше реальной, и лизинговые договоры закрыты. Открытый ориентир — отчётность: например, американская форма 41 (DOT) показывает аренду и амортизацию по типам ВС у каждого перевозчика. Это не ставка одного договора (в ней и собственные, и арендованные борта по балансовой стоимости), но порядок величины она даёт честно.

7. ТОиР

Техническое обслуживание и ремонт — статья, где чаще всего ошибаются формой, а не величиной. Одни расходы зависят от налёта (двигатели, планер, большинство агрегатов), другие — от количества взлётов‑посадок (шасси, тормоза, ресурсы по циклам, ВСУ). Поэтому ставка ТОиР — две части:

C_{text{ТОиР}} = a cdot T_{text{блок}} + b

где a — стоимость часа налёта, b — стоимость цикла. Если взять одну плоскую ставку на час, короткие плечи окажутся дешевле реального: цикловая часть от длины рейса не зависит, и на час она тем больше, чем короче рейс.

Опять же, открытый источник — отчётность. Форма 41 с 1990-х публикует расходы на ТОиР по типам поквартально, вместе с блок‑часами и вылетами, — из этого раскладываются и a, и b. Но читать отчётность надо осторожно. У Wizz Air строка «техобслуживание» даёт 407 EUR на блок‑час против 1 076 по медиане формы 41. Разница вдвое — не цена ремонта, а граница учёта: по МСФО тяжёлые формы обслуживания капитализируются и уходят в амортизацию. Вместе с владением числа почти совпадают: 1 563 против 1 638 EUR на блок‑час.

8. Экипаж

Та же логика «час + цикл»: оплата лётного часа плюс работа на каждом вылете (брифинг, предполётная и послеполётная работа):

C_{text{экип}} = c cdot T_{text{блок}} + e

За кадром — сколько экипажей нужно на один борт (обычно несколько комплектов, с учётом отпусков, резервов и норм рабочего времени) и сколько бортпроводников — по числу кресел. Зарплаты никто не публикует, поэтому порядок величины снова берётся из отчётности (в форме 41 расходы на лётный экипаж идут отдельной строкой по типам).

9. Наземное обслуживание и продажи

Наземное обслуживание (хендлинг, трап, уборка, загрузка багажа) — постоянная часть за оборот плюс часть за пассажира:

C_{text{назем}} = g_0 + g_1 cdot N_{text{пасс}}

Договоры с хендлингом закрыты, и это одна из самых слабых по данным статей. Продажи, как уже сказано, — доля выручки, d · P · N_пасс.

10. Выполнимость: «нельзя» — тоже ответ

Самые дорогие ошибки в моделях — не в формулах, а в молчаливых допущениях. Модель, которая урезает взлётную массу до максимальной и считает дальше, выдаст правдоподобную цифру для рейса, которого не бывает. У меня так A320 «летел» из Франкфурта в Сингапур с перегрузом в двадцать тонн, а интерфейс показывал безубыточный билет 0 EUR.

Поэтому до денег — проверка выполнимости:

• масса и дальность — хватит ли топлива с этой загрузкой (диаграмма «коммерческая загрузка — дальность»);

• полоса — хватит ли длины на реальной взлётной массе (не на максимальной: на 570 км A321neo взлетает примерно с 71 т, а не с 97);

• жара и высота — летом в высокогорном аэропорту потребная длина растёт.

Если нельзя, модель должна сказать «нельзя» и показать, во что обходится компромисс: сколько пассажиров снять и какой тариф после этого нужен.

11. От рейса к парку

Когда рейс посчитан, парк собирается из рейсов. Нужное число бортов — суммарное блок‑время всех рейсов за период, делённое на налёт одного борта:

N_{text{ВС}} = leftlceil frac{sum_{text{пары}} 2 cdot f_{text{пары}} cdot T_{text{блок, пары}}}{U} rightrceil

где f — частота рейсов в неделю или месяц в одну сторону. Сюда же — время оборота на земле и резерв на ТО, они уменьшают реальный налёт.

Частота связана с рынком нелинейно. Классическое отраслевое правило — S‑кривая: доля в пассажирах растёт быстрее доли в частотах:

1″ alt=»s_i = frac{f_i^{alpha}}{sum_j f_j^{alpha}}, qquad alpha > 1″ src=»https://habrastorage.org/getpro/habr/formulas/3/3d/3d7/3d7c1dc11a8999e30e99009f8652cd03.svg» width=»185″ height=»47″ data-width=»23.13″ data-height=»5.912″ data-vertical-align=»-2.39″ style=»width: 23.13ex; height: 5.912ex; vertical-align: -2.39ex» sizes=»(max-width: 780px) 100vw, 50vw» srcset=»https://habrastorage.org/getpro/habr/formulas/3/3d/3d7/3d7c1dc11a8999e30e99009f8652cd03.svg 780w, https://habrastorage.org/getpro/habr/formulas/3/3d/3d7/3d7c1dc11a8999e30e99009f8652cd03.svg 781w» loading=»lazy» decode=»async»>

Показатель α — допущение, а не закон природы, и его стоит держать настраиваемым. Из‑за S‑кривой на парах с конкуренцией частота важнее нескольких процентов стоимости кресла: в моём рейтинге маршрутов, если новичок берёт четверть рынка, на половине европейских пар выигрывают машины на 110–140 кресел, хотя по стоимости кресла везде впереди A321neo.

Ещё одна грабля парка — какой вопрос задаёт сравнение типов. «Кто дешевле перевезёт заданный поток» и «кто больше заработает на том же капитале» — разные вопросы с разными ответами. Сравнивать типы при одинаковом числе бортов — значит смешать их: у больших машин меньше рейсов, у маленьких — больше частота. Отчёт по парку должен первой строкой называть свой вопрос.

12. Выручка: самое слабое место любой модели

Затраты можно разложить по документам. С выручкой сложнее, и здесь честнее всего признать неопределённость.

Средний тариф. Видимая минимальная цена на сайте — не средний доход с пассажира. Цена растёт к вылету (в исследованиях — в 1,3–2 раза за последние недели и месяцы), по данным американского перевозчика около 89% покупателей берут минимальный доступный в момент покупки тариф, а сверху — дополнительные доходы (багаж, места) и премиальный салон. Поэтому средний тариф эконома — это минимальная цена, усреднённая по тому, когда люди покупают:

bar P approx sum_{d} w(d) cdot P_{min}(d)

где w(d) — доля бронирований за d дней до вылета. Открыто средний оплаченный тариф по парам публикует, кажется, только США (выборка билетов DB1B/DB1C и отчёт DOT о средних тарифах), так что метод проверяется на американских парах, а в остальном мире остаётся оценкой.

Поток пары. Где есть статистика пассажиров по парам (Eurostat, американская T-100, сводки по России), берётся она. Где нет — гравитационная модель: поток растёт с населением концов и падает с расстоянием:

ln Q_{AB} = c + alpha ln(M_A M_B) - beta ln D_{AB}

Честно: модель по одному населению объясняет около четверти разброса. Хаб и обычный город того же размера различаются на порядок, курорт с маленьким населением она не видит вовсе. Экономика региона, туризм и сезонность — следующий шаг, и это тема отдельного исследования.

13. Как проверять модель

Модель, которую не с чем сравнить, — просто мнение. Три способа проверки, которые работают:

1. Сверка с отчётностью. CASK (себестоимость на кресло‑километр) по своей модели против CASK перевозчиков из годовых отчётов на похожем типе и длине плеча. Расхождение вдвое — почти всегда ошибка формы (как с ТОиР), а не ставки.

2. Эталонный рейс. Один и тот же рейс с одними и теми же входами, пересчитываемый после каждой правки. Если число сдвинулось, а вы не понимаете почему — это ошибка.

3. Доля заготовок. Помечать каждое число, у которого нет источника, и считать, какая доля себестоимости на них стоит. Это лучший индикатор того, насколько можно верить результату.

14. И вот тут начинается проблема — данные

Формулы выше — школьные. Сложно другое: где взять входы. Для каждой статьи нужен актуальный, проверяемый

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев