← AI Assisted Solver / MRO の事例へ

公開情報から推定した合成データによる検証例です。特定の航空会社の実際の計画・数値を示すものではありません。

English

← ダッシュボード

ストーリー:エンジン 1 基の入場から、会社の未来まで一本の線でつなぐ

2026-09 時点の作業のまとめ。読む順に、問い → 何を作ったか → 何が分かったか → 次の判断。
数値は「実データ」と明記したもの以外は合成データ。出典と確度はモデルの入力データに記録している。

1. 出発点:やりたいのはエンジンの計画

2 年の窓の中で「どの機を、いつ、どの整備範囲で」を決めるのが計画だった。だが整備計画の担当が本当に持っている問いはもっと長い。この機はあと何回工場に入り、その入場は退役にちょうど届くように何を回復すべきか。どの機を先に手放せば、捨てる寿命が最も少ないか。

作ったもの:退役までの入場列(runout.py)。窓の中は凍結した計画、窓の後は 20 年シミュレーションが残した各機の状態から平均の劣化で退役まで飛ばし、限界が来たら「退役まで持つ最軽の整備範囲」を選ぶ。退役順の方針を 3 つ比べる。

分かったこと(A 社相当、合成):最終退役 2036-03 まで入場 56 件、生涯費用 487 百万ドル。退役順を「次に入場が近い機から」にすると入場は 56 件、無作為だと 612 件。機材が 10 年で出ていく機種では、窓の後の入場はほぼ退役順が決める。翼上寿命が 3 年以上ある機は二度と入場しない。

途中で二度、前提を正した。空の年(2029・2030)は「非公表の 83 基の状態を一様に置いた」ことの産物で、20 年シミュレーション(最初の 5 年は捨てる)の続きを使うと固まりは消えた。棒の幅も一律 4 か月ではなく、実際の翼を離れる期間に直した。

2. 対になる運航側と、新機が引き継ぐ前提

計画の棒には対がある。毎月「飛ぶために必要なエンジン数」と「棚の予備」があり、棒はそれに対して「稼働可能 ≥ 必要 + 予備」を守る。退役までの列にもこの線を引いた。

移行の仮定は「737-8 を 1 機受領するごとに 737-800 を 1 機退役」で、便数は新機が引き継ぐ。ここが崩れるのが受領遅れ。退役まで持つ最軽の範囲で済ませた機が飛び続けると、追加の入場が要る。

分かったこと(A 社相当、合成):受領が 12 か月遅れると、不意打ちなら入場 +89・284 百万ドル、分かってから整備範囲を決め直せば +16・142 百万ドル。差の 142 百万ドルが「受領の見通しを早く知る価値」。 退役まで持つ最軽の範囲は費用を最も下げる反面、受領遅れに弱い。

3. 一つ上の層:客席の需要

「客席需要の可視化と、各社がどれくらい満たしているか、さらに伸ばせるか」。それは別の機能ではなく、はしごの一番上の段だった。上の層が下の層の「必要」を決め、下の層は上の層に「余力」と「限界」を返す。

作ったもの:需要の層(demand.py)。市場は国交省の航空輸送統計速報(e-Stat)、各社の値は公開の月次資料と報道値から推定。市場に占める割合、利用率が閾値を超えた月の「満たせなかった需要」の下限、エンジンの余力の客席換算(余力 ÷ 2 = 飛ばせる機数 → 座席キロ)。

分かったこと(実データ):市場は FY2019 比で需要 +13%、供給 −1%、利用率 70.9% → 81.3%。席が足りない側に振れており、機材とエンジンの余力が売上になる局面。 A 社相当 の逼迫月は取れた月だけで 4、満たせなかった需要の下限 3.3 億人キロ(≈ 43 万人)。窓の中のエンジン余力は 737-800 供給の 15%。需要の季節の形と計画の運航指数のずれは 10 月が最大。

4. 過去の需要から計画の前提に直す

需要が分かれば、計画の前提を需要から導ける。季節の形(市場の月次 RPK ÷ 平均)、需要の伸び(市場 RPK の年率)、稼働(利用率を閾値に戻しつつ伸びを運ぶのに要る供給の比)。過去は書き換えず、今日のエンジン状態から先の前提だけを変える(plan_from_demand.py)。

エンジン整備の前提はこう変わる:稼働 ↑ → 寿命部品と EGT の限界が早まり窓が前に動く。季節の形 → 繁忙期と必要エンジン数。伸び → 必要な位置が増え、予備と退役のペース。

分かったこと(A 社相当、市場の伸び +3.8%/年をそのまま入れた場合):期限が来る機 40 → 41(11 基が 1 か月早まる)。欠航リスク 0.2% → 17%。 必要エンジン数が月 +5〜+14 基になるのに保有は同じ。伸びをそのまま信じるなら、いまの保有では足りない。

副産物として、機種をまたぐと前の寿命部品の寿命がグローバルに残るバグを見つけ、B 社相当 の入力(22 → 24 基)と全基準計画を作り直した。

5. 伸びは何年ごとに見直すか

3.8% を 10 年複利で置くのは危ない。年 1 回(年次の版)に直近の実績で引き直す。2 年先までは直近の傾向、5 年先からは長期(FY2018→25、コロナをまたぐ +1.5%)に寄せる。市場の前年比が仮定から 3 ポイント以上外れた月があれば、年次を待たず月次会議へ。

分かったこと(実データ):2026 年 6 月の市場 RPK は前年比 −3.1%。引き金は既に引かれている。 直近 2 年の伸びは反動増を含む。4 章の 17% は上振れの目安として読む。

6. 枠組みを引く

需要の伸びだけでなく、すべての前提に同じ形を敷いた。16 の前提を 7 層(需要・機材・運航・工場と供給・エンジン・お金・決め方)に並べ、出所・周期・早める引き金・影響先・担当を一枚にする(data/assumptions_review.json)。期限切れと引き金は PDCA/OODA の見直し(review.py)が自動で拾う。

いま引かれている引き金(A 社相当):需要の伸び(−3.1% vs +3.8%)、LLP キットの納期(変化点検知)、承認線 v(分解の追加作業の純額 +6.9 百万ドル)。

7. 過去で検証する

方法が正しいかは、過去に当てれば分かる。20 年シミュレーションを履歴として、過去 8 版で同じ方法で計画を作り、その後に実際に起きた入場と突き合わせた(backtest.py)。需要の伸びの規則は実データの年度系列で、各年度は前年度までのデータだけで当てた。

分かったこと(A 社相当、合成):

分かったこと(需要、実データ):検証 5 年度のうち 3 年度は衝撃(±15% 超)でどの規則も外す。平常の 2 年度では長期の規則が誤差 2.8%、直近は 23.9%。計画が 12 か月先に直近の傾向を使う今の混ぜ方は、実データでは長期より悪い。 既定を長期寄りに変える根拠。

7b. 学ぶ・確かめる・使う

検証で見つけた補正を、同じデータで採点しては循環になる。そこで 20 年を 4 つに切った:ならし(0〜5 年、捨てる)、学ぶ(6〜14 年の 9 版:補正を導く)、確かめる(15〜19 年の 5 版:補正あり・なしを採点)、使う(今日からの計画:改善した補正だけ持ち込む)。

分かったこと(A 社相当、合成):学んだ補正は「期限を +2 か月、計画外の率 ×1.54、計画した入場がその年度に起きる割合 0.81」。確かめる期間では、期限の誤差は +1.5 → −0.5 か月に縮み(持ち込める)、幅に入った年度は 93% のまま、件数の予測は 0.95 → 0.89 で悪化(持ち込まない)。3 指標中 1 が改善。期限のずらしだけを使う期間に持ち込む。 B 社相当 も同じ形(期限 +1.4 → −0.6、±1 か月以内 53% → 60%)。補正が効く指標と効かない指標がはっきり分かれた。

7c. 型式の時計

エンジン 1 基の時計の上に、型式の世代の時計がある。CFM56-7B は 1997 年就航、737NG の生産は 2020 年 1 月で終わり、後継の LEAP-1B は 2017 年就航、次々世代の RISE は 2035 年目標。世代の間隔は約 20 年、機体の寿命は約 25 年。だから 737-800 は 2045 年ごろに世界から消える。

作ったもの:型式の時計(typelife.py)。退役年ごとの残存価値の倍率(生産終了で 1.0、型式が消える年に 0.35、仮定)、晩年の部品値上がりと工期の延び、次世代の年齢からの受領遅れの確率。

分かったこと(A 社相当):CFM56-7B は就航 30 年目・生産終了から 7 年=晩年。退役で処分する残存価値は 75 → 51 百万ドル(晩年に売る分の値下がり 24)。当社の最終退役 2036 年は型式が消える 9 年前で、売り先はまだある。退役機の処分は型式の晩年に入る前に決める。

7d. 遅いのは工場か

「遅いのは工場の開拓が必要か」。数字は違うと言った。ループの時間 12 か月のうち 8 か月は LLP キットの納期(サプライヤー側)。追跡の例外 24 件のうち戻り遅れは 2 件、費用超過が 17 件。工場の枠は 9/10 で余裕はないが制約にはなっておらず、国内工場の新設はどの決め方でも正味現在価値がマイナス。

だから順番は「キット → 契約 → 第二工場の選択権」。同じシミュレーションに順に重ねて、3 つの前提(基準・逼迫・晩年)で解いた(playbook.py)。A 社相当:キットは費用では −0.1 百万ドルだがループを 12 → 7 か月に縮める(速さの打ち手)。契約の所見折半は期待値 −4.7、立て直し費 −15.5 百万ドル。第二工場の選択権は費用 −1.5 だが欠航リスクを +1.9pt 上げる。工場は開拓ではなく、量の約束と選択権で持つ。選択権には「枠が埋まった月だけ使う」条件が要る。

8. 結び:決め方を直す 3 点と、一本の線

この一連で、次の版で直す決め方は 3 つに絞れた。

  1. 需要の伸びの既定を長期寄りに(直近の傾向は引き金の材料に格下げ)。実データの検証で長期が勝った。
  2. 入場の期限を +1〜2 か月後ろへ(予測が保守的)。学ぶ・確かめるの外の区間でも効いた。
  3. 計画外取卸しの率は上方修正の候補だが、確かめる期間では件数の予測を悪くした。次の版では学ぶ期間を伸ばして再判定する。

そして構造が見えた。エンジン 1 基の入場 → 2 年の計画 → 退役までの列 → 機材の移行 → 路線と客席の需要 → 会社の戦略。上の層が下の層の「必要」を決め、下の層は上の層に「余力」と「限界」を返す。OODA が PDCA の中で回るのも同じ形。経営とは未来を買うこと。このシステムは、その買い物をエンジン 1 基の入場まで一本の線でつなぎ、線のどこが古びたかを教える。

付録:どこを見れば確かめられるか

章レポートの画面出力
1・2退役までの入場列(年ごとの注釈、運航側、受領遅れ)runout/*.json
3客席の需要(一つ上の層)demand/*.json, data/demand.json
4・5客席の需要 → 「過去の需要から計画の前提に直すと」「伸びの見直し」demand/*-plan.json
6PDCA/OODA の見直し → 「前提の見直しの枠組み」data/assumptions_review.json, review/*.json
7過去で検証(バックテスト)backtest/*.json