Skip to main content
Every aircraft analysis is driven by an Excel workbook. The model expects three sheets with specific layouts.

Workbook naming convention

Name your file using this pattern so main() can auto-discover it:
<AircraftName>_Cost_Model_<AnnualHours>hrs.xlsx
Examples:
Joby_S4_Cost_Model_1500hrs.xlsx
Archer_Midnight_Cost_Model_2000hrs.xlsx
Conventional_Cessna_Cost_Model_1200hrs.xlsx
The extract_aircraft_name() function strips _Cost_Model_1500hrs and replaces underscores with spaces to produce a clean display name.

Sheet 1 — Parameters

A two-column table: parameter name in column A, value in column B. Row 1 is a header and is skipped automatically.
ParameterDescriptionUnits
Aircraft_Baseline_CostBase purchase price before automation premiumUSD
Automation_Cost_BaseAdditional cost for autonomous systemsUSD
Number_of_PilotsPilots required per flight — set to 0 for autonomouscount
Finance_PercentFraction of purchase price that is financed (e.g. 0.85)ratio
Interest_RateAnnual loan interest rate (e.g. 0.055)ratio
Life_Cycle_TimeService life in yearsyears
Flight_Hours_per_YearAnnual utilisationhours/year
Mission_Stage_LengthTypical stage length per flightnautical miles
Resale_PercentResidual value as fraction of purchase priceratio
Hull_Insurance_RateHull insurance as fraction of baseline costratio
Liability_Insurance_RateLiability insurance as fraction of baseline costratio
Annual_Pilot_SalaryPilot annual compensationUSD/year
Percent_Salaries_to_BenefitsBenefits as fraction of pilot salaryratio
Number_of_StaffNon-pilot support staff countcount
Annual_Staff_SalarySupport staff annual compensationUSD/year
Maintenance_Training_CostAnnual maintenance training spendUSD/year
Pilot_Training_CostPer-pilot annual recurrent training costUSD/pilot/year
Landing_Site_Hourly_SupportVertiport/landing site cost per flight hourUSD/hour
Maintenance_Software_CostAnnual maintenance software subscriptionsUSD/year
Miscellaneous_Service_CostMiscellaneous annual service costsUSD/year
Property_Tax_RateProperty tax as fraction of baseline costratio
Hangar_and_Office_CostAnnual facility and office leaseUSD/year
Maintenance_Hours_per_Flight_HourMaintenance labour hours per flight hourhours/flight-hour
Maintenance_Labor_RateMaintenance technician hourly rateUSD/hour
Fuel_Burn_per_HourFuel consumption rategallons/hour
Fuel_Price_per_GallonCurrent fuel priceUSD/gallon
Scheduled_Parts_RateScheduled parts allowance per flight hourUSD/hour
Number_of_EnginesEngine countcount
Engine_Overhaul_CostCost per engine overhaul eventUSD/engine
Engine_Overhaul_IntervalHours between overhaul eventshours
Midlife_Inspection_CostMid-life inspection reserve per hourUSD/hour
Propeller_CostPropeller replacement costUSD
Propeller_LifePropeller service lifehours
Modernisation_CostAvionics/systems upgrade costUSD
Modernisation_IntervalHours between modernisation eventshours
Paint_CostPaint job costUSD
Paint_IntervalHours between paint eventshours
Refurbishing_CostInterior refurbishment costUSD
Refurbishing_IntervalHours between refurbishment eventshours
Battery_CostBattery pack replacement cost (electric/hybrid)USD
Battery_LifeBattery pack service lifehours
Landing_FeeFee per landing eventUSD/landing
Miscellaneous_Trip_ExpensesConsumables and per-trip costsUSD/hour
Profit_MarginTarget operator profit margin (e.g. 0.15)ratio
Aircraft_PAX_SeatsPassenger seat countcount
Percent_Repositioning_Flight_HoursFraction of hours that are deadhead/repositioningratio
Number_of_PilotsPilots per aircraft (used for salary calculation)count
For electric aircraft without conventional engines, set Number_of_Engines to 0 and Engine_Overhaul_Cost to 0. Battery costs are modelled separately via Battery_Cost and Battery_Life.
For autonomous aircraft, set Number_of_Pilots to 0. The model automatically applies the Automation_Cost_Base premium to the purchase price and increases liability insurance by 10%.

Sheet 2 — Lookup_Crews

Maps annual flight hours to the number of required crews. Rows 1–2 are headers and are skipped.
Flight_Hours_per_YearNumber_of_Crews
5001
10001
15002
20002
25003
The model interpolates (and extrapolates) linearly to find crews at the actual annual hours.

Sheet 3 — Lookup_Speed

Maps mission stage length to average cruise speed. Rows 1–2 are headers and are skipped.
Mission_Stage_LengthAircraft_Speed
1080
25110
50140
100160
Units: stage length in nautical miles, speed in knots. The model linearly interpolates to find speed at the configured stage length, then derives flight time and flights-per-hour from that.