Engine shop-visit cost forecast
Maintenance cost for an engine fleet follows flight cycles, not the calendar. This build uses an invented fleet. Change utilization, the removal interval and escalation, and see when each engine is due, what each visit costs and the month the reserve runs short.
What this shows
- Cycles to removal, visits per year and the month each visit lands
- Cost per visit by workscope, with a vendor rate and yearly escalation
- A reserve balance by month and the month it runs short
- Scenarios for utilization, interval and escalation
How I use it
- Forecasting maintenance cost from its drivers
- Telling leadership when a reserve stops covering the plan
- Testing how much a longer interval or a rate increase is worth
Explore the model below. It uses an invented company and invented numbers.
Explore the model
Illustrative model · Synthetic dataWide tables scroll sideways: swipe inside a table to see every column.
Sample build: engine shop-visit forecast and reserve
Marlowe Peak Air is an invented airline with ten engines. Flight cycles decide when each engine comes off the wing. The workscope, the vendor's labor rate and a yearly price step decide what each shop visit costs. A maintenance reserve, paid in per flight cycle, covers the visits until the month it does not.
Synthetic inputs for illustration. Not data from any employer.
Running on 1,800 cycles per engine a year, a 7,200-cycle interval and 4% yearly escalation.
Shop visits in 36 months
7
2.5 a year once every engine is on its interval
Cost of those visits
$20.7M
$20,733,120, $2,961,874 a visit on average
Reserve runs short
Jan 2029
Month 25 of 36, the first negative balance
Lowest reserve balance
-$1.9M
-$1,883,120 in Sep 2029
What to try
- Shorten the removal interval and watch engines already past it come due in the first month.
- Raise the contribution per cycle until the run-short month disappears.
- Switch the scenario to a longer interval and see how many visits slide out of the 36 months.
- Pick an engine in the due dates tab to follow it from cycles to dollars.
When each engine comes off the wing
An engine is due when the cycles it has flown since its last shop visit reach the removal interval. Every engine flies 150 cycles a month at this utilization, so cycles to removal convert straight into months. After a visit the engine starts a fresh interval. At this pace the fleet makes 2.5 visits a year once every engine is on its interval.
Due dates, engine by engine
| Engine | Workscope | Cycles since last visit | Cycles to removal | Months to removal | First removal | Visits in 36 months |
|---|---|---|---|---|---|---|
| Heavy | 6,600 | 600 | 4 | Apr 2027 | 1 | |
| Light | 5,800 | 1,400 | 9.3 | Oct 2027 | 1 | |
| Full restoration | 5,000 | 2,200 | 14.7 | Mar 2028 | 1 | |
| Light | 4,350 | 2,850 | 19 | Jul 2028 | 1 | |
| Heavy | 3,450 | 3,750 | 25 | Jan 2029 | 1 | |
| Heavy | 2,600 | 4,600 | 30.7 | Jul 2029 | 1 | |
| Light | 2,300 | 4,900 | 32.7 | Sep 2029 | 1 | |
| Full restoration | 1,350 | 5,850 | 39 | Mar 2030 (after the forecast) | 0 | |
| Light | 750 | 6,450 | 43 | Jul 2030 (after the forecast) | 0 | |
| Heavy | 300 | 6,900 | 46 | Oct 2030 (after the forecast) | 0 |
Following E01
E01 has flown 6,600 cycles since its last visit. Against the 7,200-cycle interval, 600 cycles remain. At 150 cycles a month that is about 4 months, so the first removal lands in Apr 2027.
- Apr 2027 (month 4): heavy workscope at $3,200,000, priced at the starting price list.
What one visit costs
The workscope is how much shop work a visit covers: light, heavy or a full restoration. A visit costs the shop's labor hours at the vendor's hourly rate, plus parts. The vendor raises its whole price list each January by the yearly escalation, so the same workscope costs more in later years. The labor rate is now $200 an hour and the escalation is 4% a year.
| Workscope | Labor hours | Labor | Parts | 2027 | 2028 | 2029 |
|---|---|---|---|---|---|---|
| Light | 1,500 | $300,000 | $1,500,000 | $1,800,000 | $1,872,000 | $1,946,880 |
| Heavy | 2,500 | $500,000 | $2,700,000 | $3,200,000 | $3,328,000 | $3,461,120 |
| Full restoration | 3,500 | $700,000 | $4,100,000 | $4,800,000 | $4,992,000 | $5,191,680 |
Cost of the visits by year
| Year | Visits | Cost of visits |
|---|---|---|
| 2027 | 2 | $5,000,000 |
| 2028 | 2 | $6,864,000 |
| 2029 | 3 | $8,869,120 |
| All 36 months | 7 | $20,733,120 |
Every visit in the forecast
| Month | Engine | Workscope | Price level | Cost |
|---|---|---|---|---|
| Apr 2027 | E01 | Heavy | Starting list | $3,200,000 |
| Oct 2027 | E02 | Light | Starting list | $1,800,000 |
| Mar 2028 | E03 | Full restoration | +4% | $4,992,000 |
| Jul 2028 | E04 | Light | +4% | $1,872,000 |
| Jan 2029 | E05 | Heavy | +8.2% | $3,461,120 |
| Jul 2029 | E06 | Heavy | +8.2% | $3,461,120 |
| Sep 2029 | E07 | Light | +8.2% | $1,946,880 |
How the reserve moves
Each month the reserve takes in the contribution rate times the cycles the fleet flew, and pays out every visit that lands that month. A negative balance means the reserve cannot cover the visit and operating cash fills the gap. Contributions follow the cycles flown, so flying more adds to the reserve at the same time as it brings visits forward.
Opening balance
$4.0M
$4,000,000
Paid in, 36 months
$16.2M
$300 a cycle
Paid out to visits
$20.7M
7 visits
Closing balance
-$533.1K
-$533,120
Contribution that keeps the reserve above zero
At least $339 per flight cycle keeps every month-end balance at or above zero. You are paying in $300, which leaves a gap of $39 per cycle.
By year
| Year | Visits | Paid in | Paid out | Closing balance |
|---|---|---|---|---|
| 2027 | 2 | $5,400,000 | $5,000,000 | $4,400,000 |
| 2028 | 2 | $5,400,000 | $6,864,000 | $2,936,000 |
| 2029 | 3 | $5,400,000 | $8,869,120 | -$533,120 |
Month-by-month table
| Month | Fleet cycles | Paid in | Visits | Paid out | Closing balance |
|---|---|---|---|---|---|
| Jan 2027 | 1,500 | $450,000 | 0 | $0 | $4,450,000 |
| Feb 2027 | 1,500 | $450,000 | 0 | $0 | $4,900,000 |
| Mar 2027 | 1,500 | $450,000 | 0 | $0 | $5,350,000 |
| Apr 2027 | 1,500 | $450,000 | 1 | $3,200,000 | $2,600,000 |
| May 2027 | 1,500 | $450,000 | 0 | $0 | $3,050,000 |
| Jun 2027 | 1,500 | $450,000 | 0 | $0 | $3,500,000 |
| Jul 2027 | 1,500 | $450,000 | 0 | $0 | $3,950,000 |
| Aug 2027 | 1,500 | $450,000 | 0 | $0 | $4,400,000 |
| Sep 2027 | 1,500 | $450,000 | 0 | $0 | $4,850,000 |
| Oct 2027 | 1,500 | $450,000 | 1 | $1,800,000 | $3,500,000 |
| Nov 2027 | 1,500 | $450,000 | 0 | $0 | $3,950,000 |
| Dec 2027 | 1,500 | $450,000 | 0 | $0 | $4,400,000 |
| Jan 2028 | 1,500 | $450,000 | 0 | $0 | $4,850,000 |
| Feb 2028 | 1,500 | $450,000 | 0 | $0 | $5,300,000 |
| Mar 2028 | 1,500 | $450,000 | 1 | $4,992,000 | $758,000 |
| Apr 2028 | 1,500 | $450,000 | 0 | $0 | $1,208,000 |
| May 2028 | 1,500 | $450,000 | 0 | $0 | $1,658,000 |
| Jun 2028 | 1,500 | $450,000 | 0 | $0 | $2,108,000 |
| Jul 2028 | 1,500 | $450,000 | 1 | $1,872,000 | $686,000 |
| Aug 2028 | 1,500 | $450,000 | 0 | $0 | $1,136,000 |
| Sep 2028 | 1,500 | $450,000 | 0 | $0 | $1,586,000 |
| Oct 2028 | 1,500 | $450,000 | 0 | $0 | $2,036,000 |
| Nov 2028 | 1,500 | $450,000 | 0 | $0 | $2,486,000 |
| Dec 2028 | 1,500 | $450,000 | 0 | $0 | $2,936,000 |
| Jan 2029 | 1,500 | $450,000 | 1 | $3,461,120 | -$75,120 |
| Feb 2029 | 1,500 | $450,000 | 0 | $0 | $374,880 |
| Mar 2029 | 1,500 | $450,000 | 0 | $0 | $824,880 |
| Apr 2029 | 1,500 | $450,000 | 0 | $0 | $1,274,880 |
| May 2029 | 1,500 | $450,000 | 0 | $0 | $1,724,880 |
| Jun 2029 | 1,500 | $450,000 | 0 | $0 | $2,174,880 |
| Jul 2029 | 1,500 | $450,000 | 1 | $3,461,120 | -$836,240 |
| Aug 2029 | 1,500 | $450,000 | 0 | $0 | -$386,240 |
| Sep 2029 | 1,500 | $450,000 | 1 | $1,946,880 | -$1,883,120 |
| Oct 2029 | 1,500 | $450,000 | 0 | $0 | -$1,433,120 |
| Nov 2029 | 1,500 | $450,000 | 0 | $0 | -$983,120 |
| Dec 2029 | 1,500 | $450,000 | 0 | $0 | -$533,120 |
Five ways the plan could go
Each scenario starts from your current settings and changes one thing: utilization, the removal interval or the yearly escalation. Pick a row to redraw the whole page on that scenario.
| Scenario | Visits | Cost of visits | Change against base plan | Reserve runs short | Lowest balance | Contribution to stay above zero |
|---|---|---|---|---|---|---|
| 7 | $20,733,120 | None | Jan 2029 | -$1,883,120 | $339 a cycle | |
| 8 | $25,791,680 | +$5,058,560 | Mar 2029 | -$4,196,680 | $372 a cycle | |
| 5 | $15,325,120 | -$5,408,000 | Never | $149,880 | $297 a cycle | |
| 5 | $15,799,680 | -$4,933,440 | Never | $3,950,320 | $225 a cycle | |
| 7 | $21,450,180 | +$717,060 | Jan 2029 | -$2,600,180 | $353 a cycle |
What each scenario changes
| Scenario | Cycles a year | Interval in cycles | Escalation a year |
|---|---|---|---|
| Base plan | 1,800 | 7,200 | 4% |
| Utilization up 15% | 2,070 | 7,200 | 4% |
| Utilization down 15% | 1,530 | 7,200 | 4% |
| Interval 20% longer | 1,800 | 8,640 | 4% |
| Escalation up 3 points | 1,800 | 7,200 | 7% |
Checks on the forecast shown
Each check adds the forecast up a second way and compares. A break in any one would show here as Fail. They run again on every change you make.
All 9 checks pass.
Pass Visits counted equal visits costed
7 counted by engine, 7 on the visit list, 7 in the price table, 7 paid from the reserve
Pass Each engine's visit count matches its cycles
All 10 engines agree with the count worked out directly from cycles
Pass Cost adds up the same way by visit, month and year
$20,733,120 by visit, $20,733,120 by month, $20,733,120 by year, $20,733,120 reported
Pass Every visit is priced from the workscope table
All 7 visits match the table for their workscope and year
Pass The reserve rolls forward: opening plus contributions less withdrawals is closing
All 36 months tie, and the closing balance is -$533,120
Pass Contributions equal the rate times the cycles flown
$16,200,000 paid in, $16,200,000 from rate times cycles, within whole-dollar rounding
Pass The run-short month is the first month with a negative balance
Reported month 25, first negative balance found at month 25
Pass The lowest balance is the smallest month-end balance
-$1,883,120 reported, -$1,883,120 found by scanning the months
Pass Visits sit inside the 36 months and in date order
7 visits, all in months 1 to 36
Base plan: 7 shop visits land in the next 36 months and cost $20,733,120. The reserve runs short in Jan 2029 (month 25) and bottoms at -$1,883,120 in Sep 2029. A contribution of $339 per cycle would keep it above zero.