喬勛雙,畢文杰
中南大學 商學院,長沙410000
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,大數(shù)據(jù)正以“侵略”式的速度蔓延并占領(lǐng)金融、保險、醫(yī)療、零售、物流、電子商務(wù)及電信等具有突出代表性的行業(yè)[1]。收益管理作為一種以數(shù)據(jù)分析為基礎(chǔ)、以價格策略為核心的現(xiàn)代管理手段,隨著大數(shù)據(jù)等相關(guān)技術(shù)與應(yīng)用的發(fā)展,正在產(chǎn)生巨大變革。計算機技術(shù)的提高,互聯(lián)網(wǎng)的普及和電子商務(wù)的蓬勃發(fā)展,大大降低了企業(yè)由于調(diào)整價格所帶來的額外交易成本[2]。動態(tài)定價也因此被廣泛應(yīng)用于酒店、金融、互聯(lián)網(wǎng)、零售業(yè)、電信、能源供應(yīng)和旅游等行業(yè)。Jacobson等[3]指出企業(yè)定價提高1%,企業(yè)的運營效益往往能提高7%~15%。研究與實踐也表明,動態(tài)定價確實能夠顯著提高企業(yè)的收益[4]。Gallego等[5]最早將動態(tài)定價和收益管理聯(lián)系起來,采用強度控制理論研究了易逝品的動態(tài)定價問題。Carvalho等[6]考慮如何動態(tài)調(diào)整商品價格,使得有限時間段內(nèi)的收益最大。
在此背景下,越來越多的學者采用算法定價的方法來確定其商品和服務(wù)的收費標準[7]。算法可以較好地通過觀察消費者的購買過程,并根據(jù)其特征動態(tài)甚至個性化地制定價格[8],因此研究了多搖臂算法在動態(tài)定價問題上的應(yīng)用。多搖臂是一個簡單但非常強大的算法框架,可在需求等相關(guān)信息不確定的情況下隨時間的推移做出決策[9-10]。其主要用于研究決策者面臨探索-利用權(quán)衡的經(jīng)典問題,而動態(tài)定價涉及在變化的市場環(huán)境中對產(chǎn)品或服務(wù)進行最優(yōu)定價,通常會在最大化即時獎勵和學習未知環(huán)境屬性之間產(chǎn)生權(quán)衡[11],這種利用-探索權(quán)衡在動態(tài)定價領(lǐng)域得到廣泛研究[12-13],因此多搖臂算法可以幫助決策者在學習過程中選擇合適的搖臂以實現(xiàn)更好的利潤。
置信區(qū)間上界算法最早由Lai等[14]提出,該算法借鑒類似于貝葉斯學習的思想,將估計的不確定性引入到解決方案中。隨后由Rothschild[15]第一次在文章中將動態(tài)定價建模為多搖臂賭博機問題。Degroote等人[16]將在線算法的選擇問題建模為多搖臂問題,基于Epsilon貪婪算法實現(xiàn)了在線算法自動選擇的強化學習算法,并通過實驗驗證了該算法的有效性。Kleinberg等[17]提出了有限時間水平下動態(tài)定價問題的最差后悔公式,并被廣泛使用。Chen等人[18]研究了不確定需求下的聯(lián)合定價與庫存問題,他們假設(shè)產(chǎn)品的需求分布函數(shù)來自一個參數(shù)未知的分布族,并在有限的價格變動次數(shù)約束下提出了相應(yīng)的定價算法,并證明了其后悔值。Besbes等[19]研究了在給定初始庫存情況下單產(chǎn)品的收益問題,目標是在一個固定的銷售層級上動態(tài)調(diào)整價格以最大化期望收益。隨后Besbes等人[20]提出了離散時間框架下無庫存約束的動態(tài)定價算法,該算法假設(shè)產(chǎn)品的需求為線性函數(shù),并根據(jù)該線性需求函數(shù)來對產(chǎn)品定價,結(jié)果表明盡管該需求函數(shù)可能是錯誤的,該算法的期望累計后悔值仍不高于O*(n-1/2)。Braverman等人[21]的研究中將搖臂視為獨立的策略型代理人,研究了策略型多搖臂問題。而在一些多搖臂問題的經(jīng)典研究中,是假設(shè)搖臂的獎勵分布不隨時間變化的,因此考慮時變獎勵的多搖臂算法更加適用于動態(tài)定價場景中。Vakili等人[22]研究了獎勵分布隨時間任意變化的多搖臂問題。Garivier等[23]也表明經(jīng)典的搖臂問題提出的學習策略可被應(yīng)用于非靜態(tài)場景中。
考慮到傳統(tǒng)的多搖臂問題經(jīng)常忽略搖臂的獎勵分配隨時間變化這一特征,因此研究了獎勵分布是如何隨過去搖臂的選擇而變化的,首先對廠商的收益進行建模,其次將商品的定價問題描述為一個多搖臂問題,并構(gòu)建利潤最大化模型。最后,考慮到動態(tài)定價是一個非固定性的多搖臂問題,因此構(gòu)建了利潤隨時間變化的定價模型,研究更加符合實際場景的動態(tài)定價問題,為廠商定價提供相應(yīng)的決策支持。
基于置信區(qū)間上界算法,研究了需求不確定下,考慮時變獎勵的算法在動態(tài)定價問題上的應(yīng)用。算法所考慮的場景如下,在一個多搖臂問題中,賭徒需要從多個搖臂中選擇一個,每選擇一個搖臂將獲得相應(yīng)的獎勵,每個搖臂的獎勵分布未知。只有當某一個搖臂被選擇時,獎勵分布情況才會被觀察到,賭徒的目標就是在給定的時間水平下,最大化累計的期望獎勵。將該場景對應(yīng)在定價問題中,搖臂即對應(yīng)于價格,廠商每次選取一個價格對商品進行定價,消費者將自身對該商品的保留價格與廠商提供的價格進行對比,若廠商提供的價格高于消費者的保留價格,則消費者不購買商品。反之,購買商品廠商獲得獎勵。這里需要注意的一點是,在定價問題中尤其是動態(tài)定價,每個搖臂的獎勵分配是隨時間變化的,這在傳統(tǒng)的多搖臂問題中常被忽略。因此基于傳統(tǒng)的多搖臂算法,研究了考慮時變獎勵的多搖臂算法在動態(tài)定價領(lǐng)域中的應(yīng)用。
相關(guān)使用符號說明與假設(shè)如下:
K:價格集合包含的價格個數(shù)。
i:價格序號,i∈{1,2,…,K}。
t:時間序列,t∈{1,2,…,T}。
T:時間水平。
p i:商品的價格。
c:商品的成本。
θt:t期到達的消費者商品的偏好,也為保留價格。
r i,t:第t期,價格為p i時所獲得的利潤。
p I*:最優(yōu)搖臂,即使得利潤最大化的價格。
I*:最優(yōu)搖臂的索引下標。
μi,t:第t期價格為p i時所獲得的期望獎勵。
R(T):后悔值。
n i:價格p i被選擇的次數(shù)。
α:控制探索的程度,即置信區(qū)間的寬度。
λi:價格為p i時商品的需求率,λi∈[0,1]。
在文章所描述的場景中,廠商是壟斷的,并在與消費者交易的過程中實時制定商品的價格以最大化利潤。具體假設(shè)為:
假設(shè)1假設(shè)存在一組包含K個價格的有限價格集合,廠商可從該集合中選擇價格對商品進行定價。且當價格p1<p2<…<p K時,有商品需求率λ1>λ2>…>λK,且需求率在整個銷售過程中不發(fā)生改變。
假設(shè)2假設(shè)每種商品都有大量的潛在消費者,每個消費者對商品有單位需求量。消費者的保留價格為θ,當且僅當且p≤θ時,消費者購買一單位商品。
假設(shè)一個壟斷廠商向多個順序到達的消費者銷售商品,廠商按照消費者到達順序提供相應(yīng)的商品報價,用p表示,且p≥0,消費者可以決定是否接受廠商的報價并購買商品。其中,商品的成本為常數(shù)c,由于文章假設(shè)廠商只銷售一種商品,所以商品的成本c固定不變。每一個順序到達的消費者對商品有不同的保留價格,由參數(shù)θ表示。此外,假設(shè)θ是在[0,1]上獨立分布的。因此由每一時期到達一個新的消費者可知,當且僅當p≤θ時,消費者會購買一單位該商品,否則不購買。則每一時期,廠商可獲得的利潤為:
利潤r(p)可被看做一個參數(shù)為θ的函數(shù),若已知θ和價格p的分布,期望利潤可表示為:
其中,F(xiàn)θ(p)表示保留價格為θ的消費者接受價格p并購買商品的概率,基于多搖臂算法原理,廠商的目標是動態(tài)地調(diào)整價格并提供給消費者以最大化期望利潤。然而,每一個消費者的θ對于廠商來說是未知的,這使得廠商很難做出最優(yōu)決策,因此假設(shè)Fθ(p)的分布對廠商是已知的。
廠商在與依次到達的消費者進行交互時,通常采用探索-利用均衡來最大化即時利潤,即利用當前信息選擇迄今為止能夠帶來最高利潤的價格對商品進行定價,或者選擇探索在未來時間回合中可能帶來更高利潤的價格。
在動態(tài)定價問題的研究中,對于上述探索-利用均衡問題,通常會設(shè)計一個學習策略來動態(tài)地調(diào)整價格,使廠商利潤最大化,該過程被形式化為一個隨機多搖臂問題。因此首先介紹多搖臂問題的一些基礎(chǔ)知識,然后討論如何構(gòu)建一個價格隨時間變化的動態(tài)定價模型并研究其對利潤的影響。
首先將定價問題描述為一個動態(tài)優(yōu)化問題,考慮一個以時間為序列消費者順序到達的場景,在每一回合t∈{1,2,…,T},消費者的保留價格為θt。根據(jù)多搖臂算法,將p i∈P定義為一個搖臂,若消費者的保留價格θt≥p i,則消費者購買該商品,對于每一個搖臂pi∈P,在t∈{1,2,…,T}時獲得的期望獎勵為:
考慮在事先未知Fθ(?)的情況下,廠商采用學習策略來獲取最優(yōu)搖臂,在t時被選擇搖臂的下標索引可表示為I t。學習策略的效用可用后悔值regret[24]來評估,由學習策略累計的期望獎勵與最優(yōu)搖臂所累計的獎勵之差計算而來。由于這兩種獎勵和搖臂的選擇都是隨機的,因此后悔值通??杀硎緸椋?/p>
作為統(tǒng)計學的標準工具,置信區(qū)間通常用于處理多搖臂中的探索-利用均衡問題。對基礎(chǔ)的置信區(qū)間上界算法進行改進,構(gòu)建利潤隨時間變化的動態(tài)定價模型,來處理上文所描述的非固定性的多搖臂問題,以更加精確地估計期望獎勵。
1.4.1 置信區(qū)間上界算法
置信區(qū)間上界算法由Bouneffouf[25]提出,其基本思想是通過將所觀察到搖臂的歷史獎勵進行線性組合來估計每個搖臂的未知期望值。在學習過程中,變量n i=表示截止t期p i被選擇的次數(shù),變量表示樣本平均獎勵,也被看作真實期望獎勵的估計,則真實期望獎勵r i的置信上界為。其中l(wèi)nt表示t時期的自然對數(shù)(e≈2.718 28的該數(shù)次冪等于t),式中的根號項是對搖臂p i估計值的不確定度或方差,α>0控制了探索的程度,即置信區(qū)間的寬度。每當搖臂pi被選擇時,ni增加,因為其出現(xiàn)在分母中,所以不確定性減小了。在另一方面,每當除搖臂pi之外的搖臂被選擇,t增加而n i保持不變,則不確定性增大。
自然對數(shù)的使用意味著增長的速率逐漸變慢,但其值依然會趨近于無窮大。在每一期,都選擇置信區(qū)間上界最大的那個搖臂作為最優(yōu)搖臂,最優(yōu)搖臂表示為:
如果忽略搖臂期望獎勵的時變性,可以直接將置信區(qū)間上界算法應(yīng)用于定價問題。該策略的詳細描述如算法1所示。
算法1 UCB
輸入:α∈R+
1.4.2 考慮時變獎勵的置信上界區(qū)間算法
算法1描述了一個基礎(chǔ)的隨機多搖臂算法,每個搖臂都與獎勵的時不變分布相關(guān)聯(lián),其中最優(yōu)搖臂不隨時間變化。然而動態(tài)定價是一個非固定性的多搖臂問題,即真實的獎勵會隨時間變化。因此接下來對算法1進行改進,構(gòu)建利潤隨時間變化的模型,來處理非固定性的多搖臂問題,以更加精確地估計期望獎勵。
對于任意價格p i∈P,廠商都面臨著未知的真實需求,對應(yīng)式(3)中累計分布Fθ(?),代表了每個價格p i被消費者接受并產(chǎn)生購買行為的概率,可用表示,其中ni,t表示截止時間t時,價格p i被消費者選擇的次數(shù)。廠商得到相應(yīng)的利潤為r i=pi-c,則對于每一個搖臂p i∈P,在t∈{1,2,…,T}時獲得的期望獎勵為:
通過上式可看出每個搖臂的期望獎勵是隨時間變化的,其變化是視搖臂具體而定的,即最優(yōu)搖臂并不是固定不變的。基于公式(6),對算法1進行修改,通過構(gòu)建算法2來描述搖臂的獎勵如何隨時間變化的。將該學習策略稱為VarUCB,算法的詳細步驟見算法2。
算法2 VarUCB
輸入:α∈R+
提出了考慮時變獎勵的置信區(qū)間上界算法,為了評估其效用,使用真實數(shù)據(jù)進行仿真分析。接下來的章節(jié),首先介紹了所使用的數(shù)據(jù)集,并對數(shù)據(jù)集進行預處理接著對數(shù)據(jù)進行預處理,對上文提出的兩種學習策略進行對比分析。最后基于仿真分析的結(jié)果,對比上述兩種學習策略的效用,尋得使廠商利潤最大的價格,為廠商的定價決策提供相關(guān)參考。
數(shù)據(jù)來自日本最大的團購網(wǎng)站Ponpare,文章使用的原始數(shù)據(jù)集包含消費者和各種類型商品的相關(guān)數(shù)據(jù),包括美食、健康醫(yī)療等,一共七個數(shù)據(jù)集分別為Coupon_list、user_list、Coupon_detial、Coupon_visit、Coupon_area、Prefecture_location、Sample_submission,主要字段為價格、購買時間、性別、年齡等。
通過各數(shù)據(jù)集的主鍵如USER_ID_hash、COUPON_ID_hash等將各個數(shù)據(jù)集進行關(guān)聯(lián),確定最終有效字段,第一列對應(yīng)于算法的價格,第二列對應(yīng)于獎勵。整合后的數(shù)據(jù)集包含3 000多條數(shù)據(jù),除去缺失值,使用870條數(shù)據(jù)對上文兩種學習策略的效用進行對比分析。
假設(shè)每個消費者的保留價格θt服從μθ=0,σ=1的正態(tài)分布N(μθ,σ2),考慮θt可能會超出[0,1],因此定義θt為:
K:在所有的仿真過程中,K都設(shè)為10。
α:在算法1、算法2中,輸入?yún)?shù)α控制了所估計的期望獎勵的置信區(qū)間的寬度。
T:設(shè)置時間水平T=1 000。
在本文前面的章節(jié)中提出了UCB和VarUCB這兩種學習策略,并對這兩者的模型效果進行了對比分析,現(xiàn)令pt表示廠商在t時期提供給消費者的報價。廠商的目標是設(shè)置最合理的價格令消費者接受并購買商品以獲得最大收益,因此使用實際的收益值去衡量學習策略的效用。假設(shè)t時期后不再有消費者光顧,則廠商的總收益為:
2.4.1 參數(shù)分析
仿真分析的第一步即要明確所描述的兩種算法在參數(shù)α不同的情況下其平均獎勵值是如何變化的,以及確定每一種算法的最優(yōu)參數(shù)值。因此為了展示上述兩種學習算法在每一參數(shù)α下隨時間變化的學習過程,使用前1 000步獎勵的平均值來表示每一種算法完整的學習曲線,這一值與學習曲線下的面積成正比。
結(jié)果如圖1所示,各個算法的學習曲線呈倒U形:即這兩種算法在使用居中的參數(shù)值時表現(xiàn)最好。結(jié)果表明UCB算法和VarUCB算法的最優(yōu)參數(shù)值α近似等于21,且在α=21的情況下各自所學得的平均獎勵值最大。此外圖1展示的學習曲線還表示,在不同的參數(shù)下VarUCB算法的平均獎勵值都高于UCB算法,且在到達最優(yōu)參數(shù)值21之前,VarUCB算法學習曲線的增長幅度更快,表明VarUCB算法相較于UCB算法其收斂速度更快,進一步表明所提出的考慮時變獎勵的VarUCB算法表現(xiàn)更佳。
圖1 參數(shù)審視圖
2.4.2 獎勵分布
在2.4.1小節(jié)中已經(jīng)學得上述兩種算法的最優(yōu)參數(shù)α都為2,因此本小節(jié)在分析算法的獎勵分布時將只分析α=2時各自的獎勵是如何變化的。在參數(shù)α=2,T=1 000時,UCB算法和VarUCB算法下廠商獲得的平均收益分布狀況如圖2所示。
圖2 α=2時獎勵分布圖
由圖2可以看出,在消費者保留價格呈正態(tài)分布,α=2時,UCB和VarUCB算法有著相似的性質(zhì),即隨著循環(huán)次數(shù)的增加,獎勵分布逐漸趨于平緩,并逐漸接近真實獎勵。但是在整個循環(huán)過程中可以發(fā)現(xiàn),VarUCB算法的收斂速度相比之下快于UCB算法,且VarUCB算法所學得的平均獎勵是略高于UCB算法更加接近真實獎勵的。通過對比分析兩種學習策略的平均獎勵,結(jié)果表明VarUCB算法收斂速度更快,所學得的獎勵更加接近真實獎勵,能夠使得廠商在交易過程中獲得更高的收益。
2.4.3 后悔值分析
為了進一步對比上述兩種學習策略的效用,通過使用算法計算了兩種學習策略的后悔值regret,從另一個角度評估UCB和VarUCB算法的性能。具體步驟為,首先需要通過公式確定最優(yōu)搖臂,接著對于每個價格pi∈P,在每一時期都設(shè)置價格p t=p i,計算出獎勵U(t),通過比較兩種學習策略的U(t)可以確定最優(yōu)搖臂。最后通過公式R(t)=U*(t)-U(t)計算出每一時期的后悔值,U*(t)由最優(yōu)搖臂確定。圖3為在時間水平T=1 000,α=2時,兩種學習策略的后悔值變化情況。
圖3 后悔值分布圖
通過對真實數(shù)據(jù)集進行仿真實驗,結(jié)果表明,當α=2時,每一回合算法所選擇出的最優(yōu)搖臂都為p I*=0.8。對于后悔值分析,所取得的結(jié)果越小表明算法的效用更好。如圖3所示,VarUCB算法的后悔值曲線收斂比UCB算法更快,且每一時期后悔值都低于UCB算法的后悔值,這表明所提出的VarUCB算法的效用更好。后悔值的評估結(jié)果表明,VarUCB算法學得的最優(yōu)價格更加接近于真實的最優(yōu)搖臂。
若算法所學得的價格低于最優(yōu)價格,則廠商可選擇一個較低的價格提供給消費者以促使他們進行購買。為了防止消費者感受到不公平對待,廠商可以向所有的消費者提供一個固定的價格。對于后悔值的評估結(jié)果,圖3可以很好地表明通過采用提出的VarUCB算法,廠商能夠以更高的概率學得最優(yōu)價格,使得利潤最大。同時發(fā)現(xiàn)學習策略所選取的最優(yōu)價格對應(yīng)于帶來最大累計獎勵的價格,這再次表明所提出學習策略的有效性。
研究了在需求不確定情況下的產(chǎn)品動態(tài)定價問題,基于基礎(chǔ)的多搖臂算法將商品的定價問題建模為多搖臂模型,提出了考慮時變獎勵的置信區(qū)間上界算法,研究了其在動態(tài)定價問題上的應(yīng)用。通過對真實數(shù)據(jù)進行仿真,將考慮時變獎勵的置信區(qū)間上界算法與基礎(chǔ)的算法進行對比分析,結(jié)果表明通過提出的算法所學得的獎勵更加接近真實獎勵,收斂速度更快,能夠以較高的概率學得最優(yōu)價格。因此通過仿真分析,在現(xiàn)實場景中,采用VarUCB算法定價可以幫助廠商以更高的可能性獲得最高的利潤,作出最優(yōu)的決策。
目前,主要研究了廠商向消費者提供單一產(chǎn)品的場景,該場景容易實施但是多產(chǎn)品定價更加符合現(xiàn)實場景。因此在未來的研究中,會著重分析多產(chǎn)品定價問題,以考慮更加符合實際的場景。另外,考慮到消費者的保留價格可能會影響到廠商的定價策略,即消費者存在策略性行為,因此未來也會研究如何修改多搖臂模型框架和學習策略來應(yīng)對策略型消費者。