Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ダイナミックプライシング とその実例
Search
木村彩恵(skmr2348)
November 11, 2024
Research
3
400
ダイナミックプライシング とその実例
木村彩恵(skmr2348)
November 11, 2024
Tweet
Share
Other Decks in Research
See All in Research
KDD論文読み会2024: False Positive in A/B Tests
ryotoitoi
0
200
文献紹介:A Multidimensional Framework for Evaluating Lexical Semantic Change with Social Science Applications
a1da4
1
220
Introducing Research Units of Matsuo-Iwasawa Laboratory
matsuolab
0
920
Global Evidence Summit (GES) 参加報告
daimoriwaki
0
150
Matching 2D Images in 3D: Metric Relative Pose from Metric Correspondences
sgk
1
320
Tietovuoto Social Design Agency (SDA) -trollitehtaasta
hponka
0
2.5k
Weekly AI Agents News! 8月号 論文のアーカイブ
masatoto
1
180
システムから変える 自分と世界を変えるシステムチェンジの方法論 / Systems Change Approaches
dmattsun
3
860
渋谷Well-beingアンケート調査結果
shibuyasmartcityassociation
0
260
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
160
論文紹介/Expectations over Unspoken Alternatives Predict Pragmatic Inferences
chemical_tree
1
260
ECCV2024読み会: Minimalist Vision with Freeform Pixels
hsmtta
1
140
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Facilitating Awesome Meetings
lara
50
6.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Building an army of robots
kneath
302
43k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
AI 2024.09.19 GO株式会社 木村 彩恵 ダイナミックプライシング とその実例
AI 2 ▪ 前半はダイナミックプライシングについて調べたことを紹介します。 ▪ 後半はホテルの予約データを用いて、収益が最大となるような価格を求める 例を実際にやってみます。 本日の発表内容について
AI 3 項目 01|ダイナミックプライシングとは 02|やってみた
AI 4 01 ダイナミックプライシングとは
AI 5 ▪ 基本的には価格は需要と供給で決まる ▪ 需要と供給に差があると、価格が変わって、均衡価格に近づく(神の見 えざる手) 価格はどのようにして決まるのか? 需要曲線 数量
価格 供給曲線 均衡価格 価格が高すぎると需要が減少 →価格が下がる 価格が安すぎると供給が不足 →価格が上がる
AI 6 ▪ 独占企業は自由に価格を決めることができる ▪ ・・とはいえ、高すぎる価格では全く売れないので需要曲線を考慮し、 収益(=価格x数量)が最大となるような価格とする 企業が価格を自由に決定できるケース 数量 価格
需要曲線 この価格では全く売れない 数量 収益 収益が最大となる数量 収益曲線
AI 7 ▪ 企業が価格を動的に決定する戦略 ▪ 前提として、価格弾力性が異なる需要曲線が複数存在する市場である ▪ 価格弾力性:需要への価格の影響度合い ▪ 企業の市場支配力が強い(独占企業に近い)ほど、自由に価格が設定で
きるため、ダイナミックプライシングに向いている ダイナミックプライシング 数量 数量 価格 価格 <価格弾力性が大きい> <価格弾力性が小さい> 価格が上がっても 需要があまり減少しない 価格が上がると 需要が大きく減少する
AI 8 ▪ 顧客セグメント ▪ 航空チケットの場合、ビジネス客は直前に購入するため、価格弾力性が 低く、高い価格でも購入する。一方、観光客は計画的に旅行するため価 格弾力性が高い。 ▪ 季節性
▪ ホテルの場合、長期休みは価格弾力性が低く、高価格でも予約される が、オフシーズンでは価格弾力性が高くなる ▪ 利用頻度 ▪ リピーターやロイヤルティプログラムのメンバーは価格弾力性が低いこ とがある(付加価値を重視する傾向がある) 異なる価格弾力性の需要曲線が複数存在する状況の例
AI 9 ▪ 右下の書籍を参考にダイナミックプライシングのモデルを紹介 ▪ モデルの前提は下記 ▪ 顧客は近視眼的である ▪ 支払っても良いという額が販売価格を上回ると即購入する
▪ 在庫補充はない ▪ 無限母集団モデルとする ▪ 購入に訪れる顧客は毎回新規顧客とみなす ▪ 独占企業である ▪ 競合企業の影響を受けない ▪ 独立需要である ▪ 代替商品の影響を受けないものとする 1製品の場合のダイナミックプライシングのモデル(1/2)
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
AI 11 ▪ 販売期間[0, T]のある時点t ∈[0, T]の価格をp t 、数量をx t
で表す。時刻tにお ける需要曲線をp = d t (x)(数量xに対する価格p)とするとき、収益を最大と する数量x t *を以下の最適化問題の解で定義できる ▪ 目的関数 ▪ 制約 確定的な需要を想定するモデル (在庫制約、Cは初期在庫) 収益
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)で表す 確率的な需要を想定するモデル
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)を演算する 購入した場合の最大期待収益 購入しなかった場合 の最大期待収益 購入確率
AI 14 02 やってみた
AI 15 ▪ あなたはホテルのレベニューマネージャーです。今年の予約実績データか ら、来年の予約価格を決める必要があります。 ▪ データからどのようにして予約価格を決めたら良いでしょうか? 例題:ホテルの宿泊価格の決定
AI 16 ▪ 予約実績データとしてHotel booking demandデータセットを使用 ▪ ホテルの種類 ▪ 部屋の種類
▪ キャンセルされたかどうか ▪ 予約日 ▪ 料金 ▪ 到着日 ▪ 宿泊日数 ▪ 宿泊人数(大人や子供の人数) ▪ リードタイム(予約してから宿泊するまでの日数) ▪ etc 使用データ https://www.kaggle.com/datasets/jessemostipak/hotel-booking-demand
AI 17 ▪ 例題で使用するために、以下のような加工を実施 ▪ ホテルの種類は「City Hotel」のみとする ▪ 部屋の種類は「タイプA」のみとする ▪
キャンセルされたデータは除去する ▪ データには到着日と宿泊日数のみが含まれるため、宿泊日ごとにデータ を変換する ▪ 例えば、8/1に3泊→8/1, 8/2, 8/3に1泊ずつに変換する ▪ 2016年のデータのみとする データの加工
AI ▪ 最大宿泊数は600 18 需要の推移
AI 19 ▪ 確定的モデルで定式化し、以下の手順で収益最大となる予約価格(最適価 格)を決定する ▪ 需要曲線が変動する要因(需要に影響を与える要因)の分析 ▪ 要因ごとに需要曲線を計算 ▪
需要曲線から収益曲線を計算し、最適価格の決定 価格決定の流れ
AI 20 ▪ 需要に影響を与えそうな特徴量から、線形回帰を用いて影響が大きいものを 特定 ▪ 月 ▪ 曜日 ▪
平均リードタイム ▪ 1部屋あたりの大人の平均人数 ▪ 1部屋あたりの子供の平均人数 ▪ ▪ 需要に影響を与える要因の分析 python statsmodelを用いた線形回帰
AI 21 ▪ p値が0.05以下であれば有意と判断 ▪ 月の影響大 ▪ 金曜日(T:4)と土曜日(T:5)の影響大 ▪ リードタイムの影響も大きい
▪ 1部屋あたりの人数の影響は小さい 線形回帰の結果
AI 22 ▪ 月、曜日、リードタイムごとに需要曲線を演算する ▪ リードタイムは〜7日、8日〜30日、31日〜90日、91日〜180日、181 日〜365日のカテゴリ変数とする 需要曲線の計算 ①価格の割合を計算 ②価格ごとの宿泊数の期待値
を計算 (割合x1日あたり平均宿泊数) ③価格が高い順に期待値の累 積和を計算する(=需要曲線) より安い価格であれば予約したと考えて累積和をとる
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日
AI 24 ▪ 来年の7月にはホテルの改修工事を実施することになり、200部屋しか提供で きない予定です。リードタイムの各時期における価格をいくらにすると収益 が最大となるでしょうか? 宿泊数の制約を満たさない場合
AI 25 ▪ 最適化で取り扱うために、需要曲線を関数の形にフィッティングさせる ▪ 今回は次式の関数を使用 需要曲線のフィッティング scipyを用いたフィッティング
AI 26 ▪ p.13のように定式化し、逐次二次計画(SLSQP)で最適解を求める 収益最大となる価格の導出 逐次二次計画 非線形の最適化問題を逐次的に 二次計画問題(QP)に近似して 解く方法
AI 27 結果例(7月金曜日) リードタイム 最適価格 数量 181〜365日 89 52 91〜180日
93 95 31〜90日 114 21 7〜30日 131 21 〜7日 131 9
AI ▪ p.14, p.15の定式化に従って動的計画法で最適解を求めた例 28 動的計画法で解いた解の例(7月金曜日) 販売終了までの残り日数が同じでも在庫数によって最適価格が異なる
AI 29 ▪ ダイナミックプライシングの概要とホテルの宿泊価格決定の例を紹介 ▪ 今回の手法の欠陥は需要曲線が過去の傾向と異なる場合や、データが十分に ない場合に機能しない ▪ 機械学習や時系列予測(ARIMA, Prophet)を用いて、将来の価格弾力性
を予測する ▪ 強化学習や多腕バンディットにより探索と収益最大化を繰り返す手法を 採用する まとめ