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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
木村彩恵(skmr2348)
November 11, 2024
Research
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ダイナミックプライシング とその実例
木村彩恵(skmr2348)
November 11, 2024
More Decks by 木村彩恵(skmr2348)
See All by 木村彩恵(skmr2348)
いまさら聞けない ABテスト入門
skmr2348
1
1.6k
Other Decks in Research
See All in Research
SLAMはどこまで解決されたのか?
tomonom
0
780
Research Engineerという仕事 / Research Engineering: Bridging Research and Business
chck
1
230
第64回CV・PRML勉強会 論文紹介:Linguistic Priors for Visual Decoupling: Towards Symmetric Vision-Brain Alignment
sokikatayama
0
140
National high-resolution cropland classification of Japan with agricultural census information and multi-temporal multi-modality datasets
satai
3
360
PGDM: Physically Guided Diffusion Model for L Downscaling
satai
3
340
GLIM とMegaParticles:正規分布近似の限界とタイトカップリング&パーティクルフィルタの進展 / GLIM and MegaParticles : Progress of the distribution representation in SLAM
koide3
0
580
Dual Quadric表現を用いた動的物体追跡とRGB-D・IMU制約の密結合によるオドメトリ推定
nanoshimarobot
0
430
(SIGQS17) Frasco-VS:フラグメントに基づく薬剤候補化合物選抜の量子アニーリングによる実現
keisukeyanagisawa
PRO
0
160
LINEヤフー データサイエンス Meetup「三井物産コモディティ予測チャレンジ」の舞台裏-AlpacaTechパート
gamella
1
610
正規分布と最適化について
koide3
1
300
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
440
NLP colloquium: AI Safety Survey
kanekomasahiro
0
840
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
230
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Exploring anti-patterns in Rails
aemeredith
3
440
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
420
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.9k
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)を用いて、将来の価格弾力性
を予測する ▪ 強化学習や多腕バンディットにより探索と収益最大化を繰り返す手法を 採用する まとめ