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

Laura
航空券の価格はなぜ分単位で変わるのか — 出し抜き方の解説
写真: Gadiel Lazcano Unsplash

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分のラグを、機械が代わりに埋めてくれる、ということです。

Free deal alerts

Get the best travel deals in your inbox

Join 200,000+ travelers. One email a week with the biggest flight & hotel price drops — no spam, unsubscribe anytime.

No spam. Unsubscribe anytime.