Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ダイナミックプライシング とその実例

ダイナミックプライシング とその実例

木村彩恵(skmr2348)

November 11, 2024
Tweet

Other Decks in Research

Transcript

  1. AI 7 ▪ 企業が価格を動的に決定する戦略 ▪ 前提として、価格弾力性が異なる需要曲線が複数存在する市場である ▪ 価格弾力性:需要への価格の影響度合い ▪ 企業の市場支配力が強い(独占企業に近い)ほど、自由に価格が設定で

    きるため、ダイナミックプライシングに向いている ダイナミックプライシング 数量 数量 価格 価格 <価格弾力性が大きい> <価格弾力性が小さい> 価格が上がっても 需要があまり減少しない 価格が上がると 需要が大きく減少する
  2. AI 8 ▪ 顧客セグメント ▪ 航空チケットの場合、ビジネス客は直前に購入するため、価格弾力性が 低く、高い価格でも購入する。一方、観光客は計画的に旅行するため価 格弾力性が高い。 ▪ 季節性

    ▪ ホテルの場合、長期休みは価格弾力性が低く、高価格でも予約される が、オフシーズンでは価格弾力性が高くなる ▪ 利用頻度 ▪ リピーターやロイヤルティプログラムのメンバーは価格弾力性が低いこ とがある(付加価値を重視する傾向がある) 異なる価格弾力性の需要曲線が複数存在する状況の例
  3. AI 9 ▪ 右下の書籍を参考にダイナミックプライシングのモデルを紹介 ▪ モデルの前提は下記 ▪ 顧客は近視眼的である ▪ 支払っても良いという額が販売価格を上回ると即購入する

    ▪ 在庫補充はない ▪ 無限母集団モデルとする ▪ 購入に訪れる顧客は毎回新規顧客とみなす ▪ 独占企業である ▪ 競合企業の影響を受けない ▪ 独立需要である ▪ 代替商品の影響を受けないものとする 1製品の場合のダイナミックプライシングのモデル(1/2)
  4. AI 10 ▪ ダイナミックプライシングのモデルは大きく2つに分けられる ▪ 確定的な需要を想定するモデル ▪ 異なる需要曲線ごとに収益を最大とする価格を計算する ▪ 需要曲線は例えば、リードタイム(販売終了までの残り期間)ごとにを

    分ける等 ▪ 実装がシンプルだが、需要の不確実性を考慮できない ▪ ▪ 確率的な需要を想定するモデル(Gallego and van Ryzin)[1] ▪ 在庫やリードタイムの様々なパターンで、収益を最大とする価格を 求める ▪ 様々なパターンに対応できるが計算量が大きい 1製品の場合のダイナミックプライシングのモデル(2/2) [1]https://business.columbia.edu/sites/default/files-efs/pubfiles/3943/va nryzin_optimal_dynamic_pricing.pdf
  5. AI 11 ▪ 販売期間[0, T]のある時点t ∈[0, T]の価格をp t 、数量をx t

    で表す。時刻tにお ける需要曲線をp = d t (x)(数量xに対する価格p)とするとき、収益を最大と する数量x t *を以下の最適化問題の解で定義できる ▪ 目的関数 ▪ 制約   確定的な需要を想定するモデル (在庫制約、Cは初期在庫) 収益
  6. AI 12 ▪ 需要過程は、価格pによって決定される到着率λ(p)のポアソン過程に従う ▪ 残りの販売期間t∈[T, 0]と在庫量c(≦C)を状態として、各状態で販売期間終了 (t=0)までの収益を最大化するような最適価格を求める ▪ J*(t,

    c)を在庫c、残りの販売期間tから販売期間終了までの期待収益の最 大値とする ▪ 状態(t, c)で到着率λ(p)とした場合の販売終了までの期待収益V(t, c, λ)とす ると、J*(t, c)は以下のように定義できる ▪ さらに、期待収益の最大値となった到着率をλ*(t, c)で表す 確率的な需要を想定するモデル
  7. AI 13 ▪ ある到着率λにおける販売終了までの期待収益V(t, c, λ)は、最適性の原理に より次式で定義できる(価格p = d(λ)とする) 確率的な需要を想定するモデル

    在庫 期間 0 T t t - dt c 0 p =d(λ) J*(t-dt, c-1) J*(t-dt, c) 動的計画法によりt = 0からJ*(t,c)とλ*(t,c)を演算する 購入した場合の最大期待収益 購入しなかった場合 の最大期待収益 購入確率
  8. AI 16 ▪ 予約実績データとしてHotel booking demandデータセットを使用 ▪ ホテルの種類 ▪ 部屋の種類

    ▪ キャンセルされたかどうか ▪ 予約日 ▪ 料金 ▪ 到着日 ▪ 宿泊日数 ▪ 宿泊人数(大人や子供の人数) ▪ リードタイム(予約してから宿泊するまでの日数) ▪ etc 使用データ https://www.kaggle.com/datasets/jessemostipak/hotel-booking-demand
  9. AI 17 ▪ 例題で使用するために、以下のような加工を実施 ▪ ホテルの種類は「City Hotel」のみとする ▪ 部屋の種類は「タイプA」のみとする ▪

    キャンセルされたデータは除去する ▪ データには到着日と宿泊日数のみが含まれるため、宿泊日ごとにデータ を変換する ▪ 例えば、8/1に3泊→8/1, 8/2, 8/3に1泊ずつに変換する ▪ 2016年のデータのみとする データの加工
  10. AI 20 ▪ 需要に影響を与えそうな特徴量から、線形回帰を用いて影響が大きいものを 特定 ▪ 月 ▪ 曜日 ▪

    平均リードタイム ▪ 1部屋あたりの大人の平均人数 ▪ 1部屋あたりの子供の平均人数 ▪ ▪ 需要に影響を与える要因の分析 python statsmodelを用いた線形回帰
  11. AI 22 ▪ 月、曜日、リードタイムごとに需要曲線を演算する ▪ リードタイムは〜7日、8日〜30日、31日〜90日、91日〜180日、181 日〜365日のカテゴリ変数とする 需要曲線の計算 ①価格の割合を計算 ②価格ごとの宿泊数の期待値

    を計算 (割合x1日あたり平均宿泊数) ③価格が高い順に期待値の累 積和を計算する(=需要曲線) より安い価格であれば予約したと考えて累積和をとる
  12. AI 23 ▪ 7月の金曜日を例に、在庫制約を無視してリードタイムごとの収益曲線と最適 価格は以下の通り リードタイムごとの最適価格の計算 最適価格=125 数量=23.4 最適価格=100 数量=27.4

    最適価格=70 数量=150.8 最適価格=60 数量=93.6 このホテルの場合は直前になるほど価格弾力性が低くなっている 数量の合計が在庫制約(C=600)を満たしている 最適価格=120 数量=10.8 181日〜365日 91日〜180日 31日〜90日 7日〜30日 〜7日