航空券の価格はなぜ分単位で変わるのか?出し抜き方も解説

20時43分にGoogle Flightsで見た成田-シンガポール往復、78,400円。同じ画面を21時05分に再読み込みしたら92,100円。「やっぱり最初に予約すべきだった」と思った経験、多くの人にあるはずです。
でも実は、その20分間で起きたことの大半は価格そのものが上がったのではない。見えていたその価格が、表示された時点ですでに在庫切れだった可能性が高いのです。航空券の価格変動の正体は、動的価格設定とキャッシュの組み合わせで、これを理解すると、出し抜き方も見えてきます。
RBD:予約クラスという26分割
まず根本から。エコノミークラスは画面上「Economy」と一言ですが、内部的には**約26の予約クラス(RBD: Reservation Booking Designator)**に分かれています。アルファベット1文字で識別され、Y、B、M、H、K、L、V、X...といった具合。各クラスに価格と座席数が紐づいています。
例えばJALの成田-シンガポール エコノミーで言うと、最安のXクラス(往復78,400円)が座席数9、次のVクラス(82,300円)が座席数12、次のLクラス(88,100円)が座席数15、といった構造。Xが売り切れると、次の検索ではVクラスの82,300円が表示されます。値上がりではなく、在庫の入れ替わりです。
そして各RBDにはフェアベーシスコード(fare basis code)が紐づいていて、これが運賃のルール(変更可否、払戻、最低滞在日数など)を定義しています。例えば「VLXAP1」のようなコードで、Vクラスの、L規則、Asia Pacific地域、1か月以内予約、といった意味を含みます。航空会社の収益管理は、このRBD単位で1日に数十回在庫を再計算します。
キャッシュ問題:いま見ている価格は10分前のスナップショット
ここが最も誤解されている部分です。Google Flights、Skyscanner、Kayak、HISといった検索サイトは、毎回ライブで航空会社のシステムに問い合わせていません。GDS(Amadeus、Sabre、Travelport)からのデータを5〜30分のキャッシュで表示しています。
つまり、20時43分に見た78,400円は、実は20時28分時点の価格だった可能性がある。その15分の間に他のユーザーがそのXクラスの最後の1席を発券していれば、あの価格は表示された瞬間からすでに存在しなかった、ということになります。
これを検証する方法は簡単で、航空会社の公式サイト直予約画面で同じ便を引くと、価格がOTAより1ステップ上になっていることがよくあります。OTAのキャッシュが古い、というだけの話です。
「IPアドレスやクッキーで値段を上げている」は神話です
これ、本当によく聞きます。「シークレットモードで開いたら安くなった」「VPNで国を変えたら下がった」。ほぼすべて偶然です。
航空会社の収益管理アルゴリズムは、IPアドレスやクッキー履歴を価格決定要素として使っていません。理由は明快で、それをやるとDOT(米運輸省)、EUの消費者法、各国の航空当局から制裁を受けるリスクが高すぎる。実際、過去にOrbitzが「Macユーザーには高めのホテルを推薦する」と公表したことがありますが、これは並び順の話であって価格そのものではありませんでした。
「シークレットモードで安くなった」と感じる現象の正体は、キャッシュの更新タイミングです。新しいセッションで検索しなおすと、サイト側のキャッシュが更新されて、たまたま下のクラスに在庫が戻っていた、もしくは別のキャッシュサーバーにルーティングされた。それだけ。
動的価格設定:NDC時代の例外
ただし、近年のNDC(New Distribution Capability)という新しい配信規格では話が変わります。NDCでは航空会社がOTAごと、顧客プロファイルごとに個別の価格をリアルタイム生成できます。Lufthansa Group、British Airways、Singapore Airlines、Qantasなどが先行導入していて、ここでは確かに「あなたに対する価格」が動的に決まる可能性がある。
ただし2025年現在、NDC経由の価格と従来GDS経由の価格の差は、観測上**±3〜7%**のレンジに収まっています。劇的な差はまだ出ていません。NDCはこれから本格化していくので、向こう3〜5年で景色が変わる可能性は高いです。
ではどう出し抜くか
3つの実用的なアプローチがあります。
第一に、検索は必ず複数の経路で。Google FlightsとSkyscannerは異なるキャッシュサーバーを持っているので、片方で消えている価格がもう片方に残っていることが普通にあります。最終的な発券は航空会社公式サイトで価格を再確認する。
第二に、検索結果のスクリーンショットを撮って、その**価格のRBD(運賃クラス)**を控えておく。検索画面の詳細表示で「予約クラス:V」のように表示されることがあります。これを控えておけば、価格が変わっても「そのクラスが残っているか」を直接問い合わせられます。
第三に、これが本命ですが、価格監視を自動化する。手動でリロードを繰り返しても、キャッシュの更新タイミングと自分のリロードを同期させるのは難しい。プログラム的にAPIを叩いて、運賃クラスのdiffを検出するのが効率的です。
これを全部自動でやってくれるシステムがほしいなら、まさにそれがFlyozoです。出発空港を設定すれば、運賃クラスが動いた瞬間にプッシュ通知が届きます。キャッシュとの間の20分のラグを、機械が代わりに埋めてくれる、ということです。
関連記事
N° 084マルチシティ便が片道予約より安くなるケースとは?
フルサービス航空会社で片道運賃に割高料金がかかる場合、または途中降機が1つの運賃に組み込まれる場合、マルチシティ便は別々の片道予約よりお得です。ただし、格安航空会社では、別々の片道予約の方がほぼ常に価格と柔軟性で勝ります。
N° 083座席指定料金を回避する方法
ほとんどの航空会社は事前座席指定に料金を請求しますが、それを回避する方法があります。Southwestの利用から家族向け座席ポリシーの活用まで、その方法を紹介します。
N° 082ビジネスクラスに乗らなくても空港ラウンジを利用する方法
ビジネスクラスに搭乗しなくても、デイパス($30~$80)の購入、年間会員権の購入、対象クレジットカードの保有、または軍人特典を利用することで、空港ラウンジを利用できます。たまにしか旅行しない方には、通常、1回限りのデイパスが最も安価な方法です。