以下、図面と共に本発明に係る価格設定システム及び価格設定方法の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1に本実施形態に係る価格設定システム10を示す。価格設定システム10は、所定の位置において販売(提供)される商品又はサービスの価格を設定するシステム(装置)である。例えば、価格設定システム10は、小売店等のユーザによって用いられ、店舗で販売される各商品(オフラインの商品。例えば、小売商品、外食、薬)の価格を設定する。また、本実施形態では、商品の価格の設定を例として説明するが、サービス(例えば、パーキング、コインロッカー等のスペースを借りるものの他、カラオケ等の娯楽施設、マッサージ等のリラクゼーション施設、美容院等の美容理容施設で提供されるサービス)の価格も同様に設定することができる。価格の設定は、商品毎に行われる。また、価格の設定は、時間帯毎、特に1日のうちの時間帯毎に行われてもよい。即ち、価格設定システム10は、商品のダイナミックプライシングを行うものであってもよい。なお、価格が設定される商品は、店舗で販売される全ての商品である必要はなく、通常、価格が変動する一部の商品であってもよい。
通常、商品の価格の設定は、商品の販売による利益が大きくなるように行われる。上述したように、異なる価格での商品の販売実績のデータが十分に蓄積されている場合、販売実績に基づいて価格毎の販売量を許容範囲の確度で予測することでき、利益が大きくなるような価格の設定が可能である。しかしながら、上記のデータが十分に蓄積されていない場合、通常、そのような価格の設定は困難である。本実施形態に係る価格設定システム10は、販売実績のデータが十分に蓄積されていない場合に、適切な価格の設定を可能とするような販売実績のデータを蓄積させると共に販売機会の損失及び売り切れのおそれを低減する価格を設定する。
価格設定システム10は、例えば、サーバ装置等のコンピュータによって実現される。また、価格設定システム10は、複数のサーバ装置、即ち、コンピュータシステムによって実現されてもよい。また、価格設定システム10は、必要に応じて、通信機能を有し他の装置との間で情報の送受信を行えるようになっていてもよい。
引き続いて、本実施形態に係る価格設定システム10の機能を説明する。図1に示すように価格設定システム10は、データベース11と、人数情報取得部12と、設定方法決定部13と、価格設定部14とを備えて構成される。
データベース11は、商品の価格の設定に必要な情報を記憶する機能部である。データベース11は、候補価格データを予め記憶する。候補価格データは、価格の設定対象となる商品毎の価格の候補を示す情報である。価格の候補は、小売店等のユーザによって商品毎に予め複数設定されている。複数の価格の候補は、例えば、定価、定価の1割引き、定価の2割引き及び定価の3割引きといったものである。具体的には、候補価格データは、商品を特定する情報である商品IDに複数の価格の候補(例えば、候補価格1、候補価格2、候補価格3といった複数の候補)の情報を対応付けたデータである。価格設定システム10では、候補価格データの価格の候補の中から、商品の価格が設定される。
また、データベース11は、人口データを記憶する。人口データは、商品が販売される位置に応じたエリアにおける人数(エリアに位置している人の数)を示す人数情報である。本実施形態では、人口データは、店舗の位置に応じたエリアの人数情報である。当該エリアは、当該エリアにおける人数が商品の需要に影響を及ぼす範囲(例えば、当該店舗の商圏)に予め設定される。例えば、当該エリアは、店舗を中心とした1km四方のエリアである。人口データは、時刻(時間帯)毎のデータであり、例えば、1時間毎あるいは10分毎のデータである。
具体的には、人口データは、時刻、年代(例えば、10歳代、20歳代…等)、性別及び居住地(例えば、居住している市区町村)毎のエリアの人数のデータである。エリアにおける人数としては、例えば、従来の方法によって携帯電話機の携帯電話網における在圏状況に基づいて算出されたものが用いられる。年代、性別及び居住地の情報も、携帯電話機のユーザの携帯電話網を提供している通信会社との契約の情報に基づいて得ることができる。例えば、価格設定システム10は、携帯電話網を提供している通信会社から人口データの提供を受けて、データベース11が人口データを記憶する。データベース11は、概ねリアルタイムに人口データを取得して記憶する。
なお、人口データは、属性(年代、性別及び居住地)毎の人数のデータになっている必要はなく、エリアにおける全ての人の数であってもよい。また、人口データは、上記の属性に係るものでなくてもよく、上記の属性の何れか毎の人数のデータになっていてもよい。
また、データベース11は、販売データを記憶する。販売データは、価格の設定対象となる商品を販売する店舗における、過去の商品の販売実績を示す情報である。具体的には、販売データは、商品ID、商品が売れた時間帯(時刻)(例えば、日付、曜日、1日のうちの時間帯)、当該時間帯において設定された商品の価格、当該時間帯における販売個数、及び当該時間帯における(例えば、時間帯の最終時点における)在庫数の各情報を互いに対応付けたデータである。販売データは、例えば、POS(Point of sale)システム等の店舗における商品の販売を管理するシステムから取得されてデータベース11に格納される。
また、データベース11は、気象データを記憶してもよい。気象データは、価格の設定対象となる商品を販売する店舗に係る位置における気象を示す情報である。具体的には、気象データは、時間帯(時刻)を示す情報(例えば、日付、曜日、1日のうちの時間帯)、店舗周辺(即ち、上記のエリア)の気温、降水量、風速、日照時間、日射量、積雪、降雪量、風向き、湿度、気圧及び雲量等の各情報を互いに対応付けたデータである。気象データは、予測値及び実績値の両方を含んでいてもよい。気象データは、気象データの予測値及び実績値を提供するサーバ装置(例えば、天気予報の情報を提供する装置)から取得されてデータベース11に格納される。なお、販売データ及び気象データに含まれる時間帯(時刻)の情報の単位は、人口データに含まれる時間帯(時刻)の情報の単位と同じにしてもよい。即ち、販売データ及び気象データは、1時間毎あるいは10分毎のデータとしてもよい。また、価格の設定に利用するデータ(例えば、入力として利用するデータ)は、上記以外のものを含んでいてもよい。
人数情報取得部12は、商品が提供される時刻に応じた、所定の位置に応じたエリアにおける人数を示す人数情報を取得する機能部である。価格設定システム10では、時間帯毎に商品の価格が決定される。価格が決定される時間帯の単位は、上述した人口データ、販売データ及び気象データの時間の単位と同じであってもよい。即ち、1時間毎あるいは10分毎に商品の価格が決定されてもよい。
人数情報取得部12は、価格の決定対象の時間帯に対して、予め設定された(時間関係の)時間帯の人口データをデータベース11から取得する。例えば、人数情報取得部12は、価格の決定対象の時間帯tの1単位時間前である時間帯t-1の人口データをデータベース11から取得する。なお、取得される人口データの時間帯は、必ずしも価格の決定対象の時間帯tの1単位時間前である時間帯t-1である必要はなく、それ以外(それ以前)の時間帯であってもよい。
人数情報取得部12は、取得した人口データによって示される人の属性(年代、性別及び居住地)毎の人数を合計して、エリアにおける人数H(t-1)の合計を算出する。人数情報取得部12は、算出した人数H(t-1)を示す人数情報を設定方法決定部13に出力する。なお、人口データが属性毎の人数を示すものでない場合、即ち、人口データがエリアにおける全ての人の数を示すものである場合、人数情報取得部12は、取得した人口データを人数情報として設定方法決定部13に出力する。
設定方法決定部13は、人数情報取得部12によって取得された人数情報に応じて、価格の設定方法を決定する機能部である。設定方法決定部13は、人数情報取得部12に取得された人数情報によって示される人数と予め設定された閾値とを比較して、当該人数が閾値を下回っていた場合にはバンディットアルゴリズムによる方法を価格の設定方法として決定してもよい。
設定方法決定部13は、人数情報取得部12から人数情報を入力する。設定方法決定部13は、人数情報によって示される人数H(t-1)と予め設定された閾値θとを比較する。人数H(t-1)が閾値θを上回る場合、設定方法決定部13は、価格の設定に基づく損失を少なくする方法を価格の設定方法として決定する。一方で、人数H(t-1)が閾値θ以下である場合(閾値θと一致しているか閾値θを下回った場合)、設定方法決定部13は、バンディットアルゴリズムによる方法を価格の設定方法として決定する。設定方法決定部13は、設定した価格の設定方法を価格設定部14に通知する。
本実施形態では、エリアにおける人口を考慮して商品の価格を設定する。図2のグラフに商品に設定される価格と粗利との関係を示す。図2のグラフの横軸は商品を販売した際の粗利であり、縦軸は当該粗利が生じる確率である。商品に対してある価格を設定した場合、図2に示すように粗利毎の確率は広がりを持つ分布を示す。図2(a)に候補価格P1を設定した場合の分布G1と、候補価格P1とは異なる候補価格P2を設定した場合の分布G2とを示す。P2が選択された場合、P1よりも粗利が損なわれるケースがあるが金額としては大きくはならない。
図2(b)に、図2(a)のグラフに示す場合と比べて、商品を販売する店舗の周辺の人数(人口)が増加した場合の分布G1,G2を示す。例えば、店舗周辺でイベントが開催され消費者数が増加したことで、一時的に店舗の周辺の人数が増加した場合である。人数が増加する場合、増加に伴って商品の販売個数が増加すると共に販売個数のばらつき、即ち、粗利のブレ幅が大きくなる。図2(b)に示す分布G1,G2は、図2(a)に示す分布G1,G2と比べて粗利が大きくなっており(分布G1,G2が右側にずれている)、またばらつきが大きくなっている(分布G1,G2の粗利の範囲が大きくなっている)。候補価格P2を設定し、人数が増加した場合(即ち、図2(b)の分布G2の場合)、機会損失額が大きくなる可能性がある他、販売個数の増加によって売り切れを起こす可能性がある。本実施形態では、上記を考慮して後述するように商品の価格を設定する。
本実施形態におけるバンディットアルゴリズムは、異なる価格での商品の販売実績のデータが十分に蓄積されていない場合に、“探索”と“活用”との両者のバランスを取るものである。“探索”は、粗利が不明瞭な候補価格を調査するもの、即ち、当該価格候補での販売実績のデータを蓄積させるものである。“活用”は、価格の設定時点で期待できる粗利が最大となるような価格候補を設定するものである。
バンディットアルゴリズムを単に適用すると、図2を用いて説明したように商品を販売する店舗の周辺の人数が増加した場合、“探索”によって粗利の機会損失額が大きくなったり、売り切れを招いたりする価格が設定されるおそれがある。そこで、本実施形態では、人数情報に応じて上記のように価格の設定方法が切り替えられる。
価格設定部14は、設定方法決定部13によって決定された設定方法によって価格を設定する機能部である。価格設定部14は、商品が提供される時刻に応じた条件に基づいて価格を設定してもよい。
価格設定部14は、設定方法決定部13から価格の設定方法の通知を受ける。価格設定部14は、通知された設定方法によって、価格の設定対象の時間帯tにおける商品の価格P(t)を設定する。
バンディットアルゴリズムとして“ε-貪欲法”を用いる場合の例を説明する。設定方法決定部13から通知された設定方法が、バンディットアルゴリズムによる方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θ以下である場合)、価格設定部14は、確率εで“探索”を行って、確率1-εで“活用”を行う。ここでεは、予め設定された0<ε<1の値である。“探索”では、価格設定部14は、データベース11の候補価格データを参照して、候補価格データによって示される価格候補の何れかをランダムに商品の価格として設定する。
“活用”では、価格設定部14は、データベース11の販売データを参照して、粗利の平均値が最大となる価格候補を商品の価格として設定する。具体的には、価格設定部14は、以下のような処理を行う。価格設定部14は、データベース11の候補価格データを参照して、候補価格データによって示される価格候補を取得する。価格設定部14は、候補価格毎に、当該候補価格で販売された際のデータベース11の販売データ(商品の販売データのうち、設定された商品の価格が候補価格に一致する販売データ)を取得する。価格設定部14は、各販売データから、それぞれの販売データに対応する粗利を算出する。粗利の算出は、例えば、販売データの販売個数等に基づいて従来と同様の方法で行われる。価格設定部14は、候補価格毎に算出した粗利の平均値を算出し、粗利の平均値が最大となる価格候補を商品の価格として設定する。
設定方法決定部13から通知された設定方法が、価格の設定に基づく損失を少なくする方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θを上回る場合)、価格設定部14は、上記の“活用”によって価格を設定する。
なお、価格の設定に用いる販売データ(“活用”で用いられる販売データ)は、価格の設定対象の時間帯tにおける条件と同じ条件の時間帯での販売データとしてもよい。例えば、気象データによって示される気象の条件が、同じ条件の時間帯での販売データのみが用いられてもよい。具体的には、データベース11の気象データを参照して、気温、降雨量及び風速が、価格の設定対象の時間帯tにおける値(予測値)から一定の範囲である時間帯の販売データのみが用いられてもよい。あるいは、時刻の条件(例えば、曜日、時間帯、平日か休日か)が、同じ条件の時間帯での販売データのみが用いられてもよい。なお、価格の設定に用いる販売データに係る条件としては、上記の気象条件又は時刻の条件以外の条件が用いられてもよい。また、以降の価格の設定方法においても、価格の設定に用いる販売データを上記のようにしてもよい。以上が、バンディットアルゴリズムとして“ε-貪欲法”を用いる場合の例である。
バンディットアルゴリズムとして“UCB方策(Upper Confidence Bound)”を用いる場合の例を説明する。設定方法決定部13から通知された設定方法が、バンディットアルゴリズムによる方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θ以下である場合)、価格設定部14は、データベース11の候補価格データを参照して、候補価格データによって示される価格候補を取得する。価格設定部14は、上記の“活用”の場合と同様に各販売データに対応する粗利を算出する。価格設定部14は、候補価格毎に算出した粗利から、候補価格毎の粗利の信頼区間上限値を算出する。信頼区間の算出は、例えば、ヘフティングの不等式に基づくUCBスコアを用いて行われる、従来の統計的手法と同様の方法で行われる。この際、信頼区間に係る信頼水準は、予め設定されている。価格設定部14は、信頼区間の上限値が最大となる価格候補を商品の価格として設定する。
設定方法決定部13から通知された設定方法が、価格の設定に基づく損失を少なくする方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θを上回る場合)、価格設定部14は、上記と同様に候補価格毎に粗利の信頼区間を算出する。価格設定部14は、信頼区間の下限値が最大となる価格候補を商品の価格として設定する。あるいは、価格設定部14は、信頼区間の下限値が最大となる価格候補と、信頼区間の上限値が最大となる価格候補とを、予め設定した割合で選択して、商品の価格として設定してもよい。あるいは、価格設定部14は、採用する候補価格の粗利の下限値と、それより大きい他の候補価格の粗利の下限値との差が一定額以内に収まるよう制約を設ける方法によって、商品の価格を設定してもよい。以上が、バンディットアルゴリズムとして“UCB方策”を用いる場合の例である。
バンディットアルゴリズムとして“トンプソン抽出”を用いる場合の例を説明する。設定方法決定部13から通知された設定方法が、バンディットアルゴリズムによる方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θ以下である場合)、価格設定部14は、データベース11の候補価格データを参照して、候補価格データによって示される価格候補を取得する。価格設定部14は、上記の“活用”の場合と同様に各販売データに対応する粗利を算出し、期待粗利の事後分布を算出する。期待粗利の事後分布の算出は、例えばベルヌーイ分布モデルでは、ベータ分布を用いて行われる。
価格設定部14は、算出した候補価格毎の期待粗利の事後分布に従って、候補価格毎に乱数を生成し、その値が最大となる価格候補を商品の価格として設定する。
設定方法決定部13から通知された設定方法が、価格の設定に基づく損失を少なくする方法である場合(即ち、人数情報によって示される人数H(t-1)が閾値θを上回る場合)、価格設定部14は、“UCB方策”を用いる場合と同様に商品の価格を設定する。あるいは、価格設定部14は、上記の候補価格毎の期待粗利の事後分布に従って、候補価格毎に予め設定した個数の乱数値を生成し、乱数値の最小値が最大となる価格候補を商品の価格として設定する。以上が、バンディットアルゴリズムとして“トンプソン抽出”を用いる場合の例である。
設定方法決定部13からの通知に応じた価格設定部14による商品の価格の設定は、必ずしも上記のように行われる必要はなく、上述した趣旨に沿った任意の方法で行われればよい。
価格設定部14は、上記のように設定した商品の価格を示す情報を予め設定された方法で出力する。例えば、価格設定部14は、価格の設定対象とした商品の商品ID、価格の設定対象の時刻(時間帯)及び設定した価格を対応付けた情報を価格データとしてデータベース11に格納して、参照できるようにしてもよい。あるいは、価格設定部14は、価格設定システム10が備える表示装置で当該情報を表示して、当該情報を価格設定システム10のユーザが参照できるようにしてもよい。ユーザが当該価格を参照することで、例えば、商品が設定された価格で販売される。また、価格設定部14によって設定された商品の価格を示す情報の出力は、上記以外の方法で行われてもよい。例えば、価格設定部14は、設定した商品の価格を示す情報を別の装置又はモジュール等に送信してもよい。以上が、本実施形態に係る価格設定システム10の機能である。
引き続いて、図3のフローチャートを用いて、本実施形態に係る価格設定システム10で実行される処理(価格設定システム10の動作方法)である価格設定方法を説明する。本処理は、商品の価格が設定されるタイミングで行われる。例えば、当該タイミング(例えば、一定時間)毎に自動的に本処理が行われてもよいし、ユーザによる操作をトリガとして行われてもよい。
本処理では、まず、人数情報取得部12によって、商品が提供される時刻に応じた、店舗の位置に応じたエリアにおける人数を示す人数情報が取得される(S01、人数情報取得ステップ)。続いて、設定方法決定部13によって、人数情報に応じて、価格の設定方法が決定される(S02、設定方法決定ステップ)。続いて、価格設定部14によって、上記の決定された設定方法によって価格が設定される(S03、価格設定ステップ)。続いて、価格設定部14によって、設定された商品の価格を示す情報が出力される(S04)。以上が、本実施形態に係る価格設定システム10で実行される処理である。
引き続いて、本実施形態に係る変形例を説明する。上述した実施形態では、設定方法決定部13による価格の設定方法の決定は、エリアにいる人の属性を考慮しない人数情報に応じて行われていた。しかしながら、当該決定は、属性を考慮した人数情報に応じて行われてもよい。例えば、予め設定された特定の属性の人数に応じて、価格の設定方法の決定が行われてもよい。例えば、商品の購買層に対応する属性の人数に応じて、価格の設定方法の決定が行われてもよい。この際の属性は、上記の人口データの属性(年代、性別及び居住地)が用いられてもよい。また、複数の属性別の人数(例えば、全ての属性別の人数)に応じて、価格の設定方法の決定が行われてもよい。この場合、人数H(t-1)は、属性毎の人数を複数の値としてもつベクトルとなる。例えば、設定方法決定部13は、属性に応じた閾値、あるいは全ての属性に対して一律の閾値を予め記憶しておき、属性毎の人数と閾値とを比較して価格の設定方法を決定する。設定方法決定部13は、比較した全ての属性の人数が閾値を上回った場合、あるいは、一定数の属性の人数が閾値を上回った場合、価格の設定に基づく損失を少なくする方法を価格の設定方法として決定し、それ以外は、バンディットアルゴリズムによる方法を価格の設定方法として決定してもよい。
価格設定部14による商品の価格の設定において、価格に基づいて商品の需要を推定する需要推定モデルが用いられてもよい。即ち、価格設定部14は、設定される価格に基づいて商品の需要を推定する需要推定モデルを用いて当該価格を設定してもよい。
需要推定モデルは、例えば、以下の式によって表される。
Q(t)=f(P(t)、H(t-1)、W(t-1)、T)
ここで、Q(t)は、時刻(時間帯)tにおける単位時間あたりの商品の販売個数であり、推定される需要である。Q(t)は、データベース11の販売データの販売個数に相当する。P(t)は、時刻(時間帯)tにおける商品の価格である。P(t)は、データベース11の販売データの商品の価格に相当する。
H(t-1)は、時刻(時間帯)t-1(時刻(時間帯)tの1単位時間前)のエリアにおける人数である。H(t-1)は、データベース11の人口データに相当する。なお、H(t-1)は、エリアの全ての人数でもよいし、属性毎の人数の値であってもよい(この場合、H(t-1)は多変数となってもよい)。W(t-1)は、時刻(時間帯)t-1のエリアにおける気象に関する変数である。W(t-1)は、データベース11の気象データに相当する。Tは、時刻(時間帯)tに関する情報に相当する変数であり、例えば、日付、曜日、1日のうちの時間帯である。Tは、データベース11の販売データの商品が売れた時間帯(時刻)を示す情報に相当する。
上記の情報のうち、数値化されていないものについては、例えば、0-1変数(バイナリ変数、対応する条件に合致していれば1、合致していなければ0となる変数)によって数値化されてもよい。あるいは、各変数は、商品の需要を推定するのに用いる情報から決定木に基づいて生成されたものであってもよい。また、各情報の変数化(数値化)は、上記以外の従来の任意の方法を用いてもよい。
価格設定部14は、商品の価格の設定を行う前にデータベース11に格納されている過去のデータ(過去の実績)をもとに需要推定モデルを学習して生成(導出)する。需要推定モデルの生成には、例えば、機械学習の手法を用いてもよい。あるいは、一般化線形モデル等の予め分布を仮定する方法、又はブートストラップサンプリング法等により販売個数に関する確率分布を求める方法を用いてもよい。また、ウッドベリーの公式をもとに更新するUCBスコアの算出式、あるいはパラメータの乱数を生成する多変量正規分布をモデルとして用いても良い。また、上記以外の方法によって需要推定モデルが生成されてもよい。なお、需要推定モデルへの入力とする情報(説明変数)は、必ずしも上記である必要はなく、価格P(t)を含むものであればよい。価格設定部14は、生成した需要推定モデルを記憶しておく。
設定方法決定部13は、人数H(t-1)と閾値θとの比較で人数H(t-1)が閾値θ以下である場合、需要推定モデルを用いた方法を価格の設定方法として決定する。その場合、価格設定部14は、以下のように需要推定モデルを用いて商品の価格を設定する。
価格設定部14は、候補価格P(t)毎に、需要推定モデルを用いて期待粗利Q(t)×(P(t)-C)を算出する。ここで、Cは、商品の費用である。価格設定部14は、推定した期待粗利を候補価格の選択基準として用いることで、当該時刻における状況を考慮した「文脈付きバンディットアルゴリズム」を実行して候補価格から商品の価格を設定(選択)する。その際、上述した“UCB方策”又は“トンプソン抽出”における候補価格の設定と同様に、期待粗利の信頼区間の下限値を基に商品の価格を(選択)してもよい。また、売り切れを防止する観点から、見込み販売個数Q(t)の信頼区間の上限値と閉店までの時間との積が、在庫量を下回るように制約条件を設けてもよい。なお、上記の例では、需要推定モデルは、販売個数を推定するものであったが、需要推定モデルは、粗利を直接推定するものであってもよい(この場合も間接的に需要を推定している)。
設定方法決定部13は、人数H(t-1)と閾値θとの比較で人数H(t-1)が閾値θを上回る場合、上述した人数H(t-1)が閾値θを上回る場合と同様の方法を価格の設定方法として決定する。その場合、価格設定部14は、上述した人数H(t-1)が閾値θを上回る場合と同様の方法で商品の価格を設定する。
また、上述した例のように需要推定モデルへの入力とする情報(説明変数)に人口データH(t-1)を含み、上記の「文脈付きバンディットアルゴリズム」によって価格を設定する場合、その価格の設定自体が、人数情報に応じて価格の設定方法を決定し、決定した設定方法によって価格を設定することに相当する。即ち、人口データH(t-1)に応じて、価格の設定方法を「文脈付きバンディットアルゴリズム」によって変更して価格を設定していることとなる。従って、その場合、人数H(t-1)と閾値θとの比較とを行わずに価格を設定してもよい。
上述した実施形態では、異なる価格での商品の販売実績のデータが十分に蓄積されていないことを前提としたが、当該データが十分に蓄積されている場合は、上述した方法ではなく(即ち、設定方法を決定せずに)当該データに基づいて価格が設定されればよい。例えば、需要推定モデルによりQ(t)を推定し、期待粗利Q(t)×(P(t)-C)が最大となるようなP(t)を数理最適化によって求めてもよい。その際、機会損失額を低減させる観点から、販売個数に関する確率分布を基に期待粗利の信頼区間の下限値を算出し、当該下限値に関する制約条件を設けてもよい。また、売り切れを防止する観点から、販売個数の信頼区間の上限値を算出し、上限値と閉店までの時間との積が、在庫量を下回るように制約条件を設けてもよい。また、当該データが十分に蓄積されている場合は、上記以外の方法で価格が設定されてもよい。また、当該データが十分に蓄積されている場合であっても、上述した方法で(即ち、設定方法を決定して)価格が設定されてもよい。
本実施形態では、人数情報である人口データに応じて決定された設定方法によって価格が設定される。従って、過去の価格毎の販売実績が少ない場合であっても、適切に商品の価格を設定することができる。例えば、店舗周辺でイベントが開催され消費者数が増加する可能性がある場合には、販売機会の損失及び売り切れのおそれを低減する設定方法によって価格を設定することができる。
また、上述した実施形態のように人数が閾値を下回っていた場合にはバンディットアルゴリズムによる方法を価格の設定方法として決定してもよい。この構成によれば、例えば、販売機会の損失及び売り切れの可能性が低い場合には、価格毎の販売実績を適切に蓄積させる価格を設定することができる一方、販売機会の損失及び売り切れの可能性が高い場合には、それらの可能性を低減する価格を設定することができる。但し、必ずしもバンディットアルゴリズムを用いる必要はなく、販売機会の損失及び売り切れのおそれを低減するように価格の設定方法が決定されればよい。
また、上述した実施形態のように商品が提供される時刻に応じた条件(例えば、気象条件、時刻の条件)に基づいて価格を設定してもよい。この構成によれば、条件に応じた更に適切な価格設定を行うことができる。但し、必ずしも時刻に応じた条件に基づく価格設定がなされてなくてもよい。
また、上述した実施形態のように需要推定モデルを用いた価格設定を行うこととしてもよい。この構成によれば、適切かつ確実な価格設定を行うことができる。但し、必ずしも需要推定モデルが用いられなくてもよい。
なお、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本開示の一実施の形態における価格設定システム10は、本開示の情報処理を行うコンピュータとして機能してもよい。図4は、本開示の一実施の形態に係る価格設定システム10のハードウェア構成の一例を示す図である。上述の価格設定システム10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。価格設定システム10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
価格設定システム10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。例えば、上述の価格設定システム10における各機能は、プロセッサ1001によって実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、価格設定システム10における各機能は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る情報処理を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。価格設定システム10が備える記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。
また、価格設定システム10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
本開示において使用する「システム」及び「ネットワーク」という用語は、互換的に使用される。
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギーなどを用いて、互いに「接続」又は「結合」されると考えることができる。
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。