PriceLabsの最先端ダイナミックプライシングアルゴリズムの秘密を解き明かす ダイ���ミックプライシング アルゴリズム。技術的な深みへ潜入 — テクニカルアドベンチャーへようこそ!
以下の内容はやや技術的ですが、PriceLabsの「ブラックボックス」と言われる ダイナミックプライシング推奨事項がどこから来るかを理解するのに役立ちます。PriceLabsを使いこなすためにこれを読む必要はありませんが、アルゴリズムの世界を深く学びたい方はぜひご一読ください!
製品の使い方を学ぶために、毎日開催のライブ導入セッション、YouTubeのトレーニング動画、また詳細なナレッジベースをご用意しています。PriceLabsを効果的にお使いいただけます。数学とアルゴリズムの世界に踏み込み、推奨事項がどのように計算されるかを技術的に理解したい方には、この記事がおすすめです。
注意:本記事はエンジニアリング・数学的概念・グラフを含む技術的な内容です。
データ:現代の新たな資源!
物件情報は、物件管理システム(PMS)またはAirbnb/VRBOの直接連携を通じて取得します。このデータにより、リスティングの所在地、リスティング詳細(寝室数・収容人数など)、将来の料金、予約履歴、空室状況を把握できます。
市場データを活用した物件の価格設定は、PriceLabsのコアです。さまざまな予約ポータルや直接データソースをスキャンし、世界中の市場動向を統合的に把握しています。
現在、Airbnb・VRBO・Booking.comから1,000万件以上の個別物件をスキャンしています。
スクレイピングデータは精度が低いという話を耳にされたことがあるかもしれません。これは主に、スクレイピングデータにオーナーブロック(予約とブロックを区別できない)が含まれるため��す。PriceLabsでは、ブロック除去ロジックを適用して予約かブロックかを判定しています。具体的な例として、市場全体での長期ブロック(複数リスティングで同じ開始・終了日)、リスティング単位の繰り返しパターン、価格の異常値などが挙げられます。
近隣データ取得:細部に差が生まれる!
同じ都市内でも、立地によって市場動向は大きく異なります。季節性・曜日別傾向・イベントへの影響が全く異なることがわかりました。そのため、少数のリスティング群に固有のトレンドを捉えられるよう、ハイパーローカルデータに基づいた価格モデリングを行っています。
例:シカゴの2つのエリア「ループ」と「リンカーンパーク」を比較してみましょう。両エリアはわずか4km(2.5マイル)しか離れていませんが、データを見ると曜日別傾向が大きく異なります。シカゴループはビジネス街であるため平日のビジネス需要が強く、一方リンカーンパークはオフィスが少ないため観光需要が中心です。


例:次に、フロリダ州セントオーガスティンを見てみましょう。今回はビーチとオールドタウンを比較します。両エリアは8km(5マイル)しか離れていませんが、季節性はかなり異なります。

下記グラフが示すように、オールドタウン���クリスマス時期にピークがある一方、ビーチエリアは夏にピークを迎えます。

上記の事例をはじめ多くの知見を積み重ねた結果、新しい価格アルゴリズム「ハイパーローカルパルス(HLP)」の構築へとつながりました。
現在は、AirbnbまたはVRBOのハイパーローカル市場を基に特定物件の価格を設定しています。これは最大半径15km以内の近隣の同規模リスティング350件によって定義され、実際の半径は動的に決定されます。
シニアデータサイエンティスト、ペドロより:「PriceLabsにおけるすべての取り組みの根幹は、高品質のデータです。ただし、データを持っているだけでは意味がなく、高速でクエリを実行し動向を見つけられる必要があります。最も難しいデータエンジニアリング要件は、各物件のハイパーローカルな競合セットの現在の状態を反映するためにデータを可能な限りリアルタイムに保つことです。最新データがあれば、アルゴリズムが市場の変化に迅速に対応できます。H3を活用することで、新しいリスティングをほぼ即座にデータセットに組み込めるようになりました。」
当初は低レイテンシのBall Treeインデックスでハイパーローカルな競合セットを構築しましたが、バッチ処理のためデータに遅延が生じていました。その後、H3インデックスに切り替えました。H3はUberが開発した離散グローバルグリッドシステムで、K最近傍(KNN)問題を解く前に検索空間を効率的に絞り込めます。この手法により、常に最新の最良データで検索が行われることが保証されます。
より正確な価格把握を追求する中で、同じ都市内でも近隣ごとに独自の物件市場動向が見られることがわかりました。これに対応するため、革新的な価格アルゴリズム「ハイパーローカルパルス(HLP)」を導入しました。HLPはハイパーローカルデータに特化し、少数のリスティング群に固有のトレンドを捉えます。ハイパーローカル市場は、H3ヘキサゴンを用いてリアルタイムデータ更新を担��しながら、最大15kmの動的半径内に位置する同規模の近隣リスティング350件として定義しています。このアプローチにより、より精度高く最新の物件価格設定が実現しました。
推測を超えた精度:データサイエンスの力を活用する。
需要予測は非常に興味深い課題であり、ダイナミックプライシング推奨事項の根幹を成します。予測においては、「レベニューマネージャーはどう対応するか」という視点から科学的なアプローチを取っています。
以下の��像は、イタリアのレイク・コモにおけるブッキングカーブを示しています。各線は過去の特定日における稼働率の推移を表しています。想像どおり、各日付でブッキングカーブは異なります。
各日付の最終稼働率は右端で確認でき、15%〜85%の範囲で分布しています。150日前には予約が入っていない日もあれば、300日前から予約が入り始める日もあります。各日付でブッキングカーブは異なりますが、類似したパターンを示すものが「束」になっています。

将来の日付(「未来日 」:df)の需要を予測する際、最初の課題は、その未来日が追うと予想される過去の「参照日」(dr1,...,drk)を見つけることです。参照日の選択には以下のような多くの選択肢があります:
これはデータサイエンス上の大規模な作業であり、特にPriceLabsの規模では顕著です。この実験により、適切な組み合わせと参照日を見つけるまでに数ヶ月を要しました。これがいわば「水晶球予測」のサイエンス部分です!
PriceLabsでは参照日を使って、未来日の予約がどのように推移するかを把握します。
多くのレベニューマネージャーはこの部分を理解してい���すが、非常に時間がかかります。特にリスティングや市場の前年データがある場合、この作業は容易になります。
次のステップは、予測の継続的な精緻化が行われる部分です—市場で起きていることへのリアクティブな対応です。未来日が宿泊日に近づくにつれて、予測を調整するために2つの基本的なレベニューマネジメント指標を使用します:予約ペースとピックアップです。

数学的には、ある日付の予測は参照日の最終ブッキングカーブと今日までの未来日のブッキングカーブの関数です。多くのレベニューマネージャーは上記のグラフを毎日手動で確認し、将来について見当をつけています。
PriceLabsのアルゴリズムはこれを大規模に、毎日、確実に、自動で行います。推測ではなく、予測誤差が小さくなるような関数を実際に測定します。
リスティングの料金を更新するたびに、約100万件のデータポイントを処理しています。リアルタイムでこれを実現する大規模なデータエンジニアリングを誇りに思っています。
WSJ、Freakonomicsポッドキャスト、または経済学の授業で弾力性について学んだことがあるかもしれません。

経済学者は、価格を上下させたときに需要がどう変化するかを測るために需要弾力性を使います。例えば、何台の車を生産するかといった生産プロセスに役立ちます。車・商品・航空機の座席などは大量に供給可能であり、需要は一般的に販売可能な個別ユニット数を意味します。
では、バケーションレンタルにおいて価格と需要の関係はどう理解すればよいでしょうか?バケーションレンタルは唯一無二の存在です—宿泊を販売できるか否か(稼働率100%か0%か)です。
9年前に最初のアルゴリズムを構築した際、文献調査によって最初の「気づき」を得ました:需要を「特定価格で販売が見込まれるユニット数」として考えるのではなく、この問題���は需要を「予約される確率(PB)」として捉える必要があったのです。

予約される確率は、各日付・各価格帯によって異なり、同じ日付でも時間とともに変化します。需要予測が変わると、特定価格での予約確率も変わります。
需要予測・市場価格・需要感度といった市場要因は日付ごとに異なるため、将来の各日付について市場弾力性を推定しています。市場の弾力性をリスティング固有の弾力性曲線に変換することで、各価格での予約確率を算出します。
以下のグラフは、市場感度と需要予測(どちらも将来日付における市場の変化次第)によって弾力性がどのように変化するかを示しています。市場価格の影響はX軸のスケールに反映されています。

市場感度の関数としての予約確率:上記のグラフは、予約確率の2つの推定値を示しています—赤い曲線は最初に示した弾力性曲線と同じです。一方、青い曲線は価格に対する感度がより高い市場を表しており、「通常」価格帯での傾きが急になっています。基本価格からわずかに値下げするだけで予約確率が大幅に上がり、わずかに値上げすると大きく下がります。ハイパーローカルな競合セットと将来日付ごとに適切な価格感度を推定しています。これは山岳地帯の市場で顕著であり、スキーシーズンは夏季と比べて価格感度が低い傾向があります。ただし、全体的な需要予測は似ています。

需要予測の関数としての予約確率:このグラフでは、赤い線は通常日の予約確率を、緑の曲線は高需要日の予約確率を示しています。「通常」価格付近の全体的な傾きは似ていますが、曲線全体が右にシフトしています。これは、高需要日に価格を維持するだけで予約確率が大幅に上昇することを意味します。
非常に低い価格帯では、予約確率が上がり続けないことに気づかれるでしょう。つまり、価格を0近くまで下げても予約を保証できません!これには複数の要因がありますが、重要な要素の一つは「知覚品質」です。石油などの商品には国際的に認められた品質基準があるため、非常に低い価格は非常に高い需要を生みます。
しかし、バケーションホームには品質の標準的な尺度がありません。ゲストは知覚品質と物理的品質(写真やアメニティ)をもとに物件を選びます。このような状況では、価格が品質のシグナルとして機能します。
そのため、非常に安い価格で提供しても毎晩予約が入るとは限らず(収益も大幅に落ちます—次のセクションで詳しく見ます!)。これらの弾力性曲線により、各将来日付における競合セット内での価格変化に対する市場の反応を推定できます。
ある価格での未来日の予約確率を理解すると、最適価格P'は「期待収益」(ER)を最大化する価格です。
従来の微積分を使って上記の期待収益関数を微分するか、各価格ポイントを検討して「期待収益」を最大化するものを見つけることができます。

上のグラフは、低い価格帯では予約確率が高いものの収益がほとんど得られないことを示しています。一方、非常に高い価格帯では予約確率が低すぎて収益が得られません。期待収益がピークになるスイートスポットは枠で強調されています。
ダイナミックプライシング概要の第1部では、PriceLabsが任意の日付の価格を1日単位でどのように計算するかを解説しました。次の課題は、予約機会とそれに伴う料金がどのように変化するかです。365日先の日付の価格設定を考えると、収益を最適化するには将来の365日分の価格を毎日更新する必要があります���つまり、単一の最適価格を見つけるのではなく、時間経過に伴う一連の最適価格を決定する必要があります。
これは複雑な問題です。PriceLabsでは、予約機会の変化・頻繁な価格調整・膨大な価格の組み合わせを考慮しながら最適な価格を時系列で設定するために、動的計画法を活用しています。この内容はこのブログシリーズの第2部で取り上げます。
ダイナミックプライシングのメリットを体験する準備ができたら、ぜひPriceLabsをお試しください—無料トライアルを開始。経験豊富な物件管理者の方も、これから始める方も、PriceLabsのアルゴリズムは皆さんの収益向上を力強くサポートします。
上記の内容やPriceLabsについてご質問がございましたら、サポートチームまでお気軽にお問い合わせください。担当者をご案内します!
引き続きプロダクト開発に邁進します
PriceLabs データサイエンスチーム