補足(システム運用面)最後にはじめに近年、ダイナミックプライシングが注目されています。国内ではすでに、航空券に始まり、宿泊料・スポーツ観戦チケットなど、多くの業界でダイナミックプライシングが導入されています。現在、ぐるナビ等のインターネットサービスを通じて、レストランにおいてもダイナミックプライシングが広がりつつあり、今後も拡大の一途を辿ることが予想されます。レストランの経営者がダイナミックプライシング導入を検討するに当たり、十分な情報がないのが現状です。そこで、本記事では、レストランのダイナミックプライシング導入について考えます。そもそも、ダイナミックプライシングとは?ダイナミックプライシングとは、需要と供給に応じて価格を調整し、売り手と買い手の適切なマッチングを実現する手段です。需要が集中する季節・時間帯は価格を割高にして需要を抑制し、需要が減少する季節・時間帯は割安にして需要を喚起する、といった戦略が考えられます。企業側は、利益最大化を狙った価格戦略をとることができます。顧客にとっては、条件を選ぶことで通常より安い価格でサービスを受けることができたり、逆に通常より高い価格を支払うことで人気の高いサービスを優先的に享受できたりするといったメリットがあります。ダイナミックプライシングは普及するのか?日時や場所、待遇や席によるダイナミックプライシングは、すでに一部で導入されており、特に珍しいことではありません。一方で、高度に個別化されたダイナミックプライシングに対しては、顧客に不公平感を感じさせ、顧客満足度を下げるのではないか、という言説があります。日経ビジネスのアンケートによれば、ダイナミックプライシングは「企業にとってお得なシステム」という印象を持っている消費者が7割を超えている様です。これに関しては、慣れと個別化の程度の問題であると考えています。実際のところ、導入段階ではそのような顧客反応が見られる可能性はありますが、航空券のチケットに文句を言う人が少ないように、徐々に受け入れられていくものと考えています。慣れるまでは、例え自分の予約タイミングが遅かったとしても、レストラン等において同じプラン・メニューで自分より安い価格の人がいることを知ったとき、不満感は抱くでしょう。そのため、予約・決済は事前にオンライン上で済ます等、顧客の感情に配慮した仕組みと共に運用することが、大切になってきます。(国外)DISCOEAT本格的なダイナミックプライシングを導入しているレストランは実は少ないです。飲食店×ダイナミックプライシングでは、飲食店をオンライン予約できるプラットフォームに、ダイナミックプライシングを導入した「DiscoEat」が有名です。これは、ドイツの首都ベルリンで2018年に創設された比較的新しいプラットフォームです。このプラットフォームを通じて予約すると、時間帯に応じて最大50%、飲食代を割引してくれます。eatigoまた、「DiscoEat」同様、時間帯に応じて割引額を変更するレストラン用の予約サービスとしては、「eatigo」や「delinski」などがあります。「eatigo」は、アジア7カ国10都市で展開、「delinski」は、オーストリアおよびドイツの4都市で展開しており、いずれも海外です。ダイナミックプライシングの導入検討レストランへのダイナミックプライシング導入を検討する際、いくつか考えるべきポイントがあります。実際に価格を変更してみた結果どう変化したかのデータがある各パターンに対してダイナミックプライシングを導入する方針について、以下に述べます。(A)のパターンの場合(A)のパターンの場合には、最初は様子見で価格変動してみて(一時的な利益減退の可能性を許容する)、顧客の反応に関するデータを蓄積していく、ということを行なっていく必要があります。様子見で価格変動しつつ蓄積されたデータに基づき、学習していくアルゴリズムがあります(強化学習による価格決定)(B)のパターンの場合(B)のパターンの場合には、既にあるデータを用いてある程度、需要予測をした上で、それに基づき価格変更を行うのが良いと思います。最初は需要予測結果に対して価格設定ポリシーを決め打ちで決定しておいて、そのポリシーを、市場の様子を見ながら学習させていくと言う方法が有効です(教師あり学習に基づく需要予測+強化学習による価格決定)(C)のパターンの場合(C)のパターンの場合には、既にあるデータを用いて、ある程度の需要予測と、価格変更後の反応を予測することができます。そのため、ダイナミックプライシング導入後の精度を事前にある程度把握することもできます。ダイナミックプライシング導入後のデータも蓄積していき、適宜学習・アップデートをしていくことでさらに精度を上げていくことができます。(教師あり学習(モデル化))購入した権利を施行するまでに猶予があるか事前のデータがなく予測が立たない場合(あるいは予測精度が低い場合)には、最初は様子見で価格変動してみて(一時的な利益減退の可能性を許容する)、顧客の反応に関するデータを蓄積していく、ということを行なっていく必要が出てきますが、ここで購入した権利を施行するまでに猶予があるかどうか、という観点が大事になってきます。予約するのが普通です。そのため、当日の空席率は事前にある程度予測がつくため調整を図ることができます。一方で、ほぼ当日に来客するようなサービスにおいては、そういった事前把握が難しいため、利益最大化を目指して価格を上げたものの、来客者数が減ってしまい、利益が減る、という事態になってしまうかもしれません。顧客の反応を観測してから価格調整をかけるまでの猶予がないためです。そのため、こういったサービスでダイナミックプライシングを導入するためには、価格変動と顧客の反応との関係がある程度予測できる方がより望ましいです。逆に言えば、何日、何ヶ月も前から予約しておきたい、なおかつ高単価であっても購入する様なプレミア感のあるサービスを提供できるレストランに関しては、顧客の反応を観測してから価格調整をかけるまでの猶予が長く、また単価も高くなりやすいため、ダイナミックプライシングの導入効果が高いと言えます。予約・決済ができる限りオンラインで完結する仕組みになっているか顧客のほとんどがネット予約からの来店で、決済も事前にオンラインで完結するようなレストランにおいては、ダイナミックプライシング導入のハードルがかなり下がります。価格決定システムにダイナミックプライシングのアルゴリズムを組み込むだけで済みますし、店舗内で他の顧客の価格を知る術がない(他人の決済価格を意識しない)ので、細かくダイナミックプライシングを行なっても、顧客側に不公平感が生まれにくい、と言うメリットもあります。昔は、街に繰り出してその場のノリで入る店を決めていた人が多かったと思います。今もそのようなことは多々あるかと思いますが、インターネットの普及やぐるナビ等のサービス登場に伴い、来店前に状況を確認したり予約してから店に向かう、と言うケースが増えつつあります。このような状況は、ダイナミックプライシングが普及するプラス要素と言えるのではないかと思います。ダイナミックプライシングの提案(一例)これからダイナミックプライシングを導入しよう、という店舗の場合、初期段階で価格を変更してみた際の顧客の反応に関するデータはないことがほとんどだと思います。そんな時に使えるのが、普段の来店客数の周期的な変化のデータです。休日夜の時間帯が最も繁盛していて、平日午後が空いている、また、年末年始やクリスマス・祝祭日に最も売れるというのは多くの店で見られる傾向だと思います。いった周期的な変化のデータがあれば、まずはそれに基づいて需要予測(教師あり学習)し、単純に価格を変化させるところから始めるのが良いと思います。以下の3要素によって単位時間あたりの価格を変えます。運用の方針として、予め時間のブロック(枠)を区切っておいて、その枠内でサービスを提供する(コース料理など)形式を想定し、その各枠(サービス)を、如何に高く捌くかという問題に落とし込むことを考えます。価格決定は、以下の2ステップによって行う。(年末年始・お盆・子供の長期休暇)、イベント(祭りなど)発生日であるか、天気、その日時・時間帯に利用する人の客層(シニア層or学生層)、新メニュー公開からの経過日数など。座席(過去データがあれば傾向が掴めそうな内容)カップル席(夜景の見える席)、個室、人の行き来が多いため避けられがちな席、出口が近いかどうか、など。現在の空席率(状況の例と、その場合に対応)予約が早く埋まり始めると、それを見てさらに早期予約が促進される。おいて予約が発生する確率を計算します。これにより、各時刻、各席が埋める確率が算出できます。次に、需要予測結果に従って、最適価格を計算していきますが、まだダイナミックプライシングを導入したことがなく、価格変更による市場の反応がわからない以上、最初は需要予測結果に対して価格設定ポリシーを決め打ちで決定しておいて、そのポリシーを、市場の様子を見ながら学習させていきます。簡単に言えば、価格を上げ下げしてみて、利益がどう変化するかを観測し、利益が上がった行動を次からとる確率を上げる、というものです。強化学習と呼ばれる技術を用いて、これを実現します。強化学習は、その時々の状況に対して、最も良いと考えられる行動を探索(学習)しながら、行動するというものです。そのため、使えば使うほど精度が高くなるという特徴があります。強化学習とは強化学習は、試行錯誤を通じて価値を最大化するような行動を学習していく機械学習のモデルです。最初の段階では、ランダムに様々な行動を行いますが、それによって得られた結果の良し悪しを評価して、どういう状況に対してどういう行動をとる価値がどの程度のものなのか、という指標を更新していきます。各状況での行動は、その指標に従って価値の高い行動を選ぶようにしていきます。これが、強化学習のざっくりとした説明です。ここで、状態を観測し、行動判断するプログラムをエージェントと呼びます。強化学習では、以下の3つを定義します。状態\(s\)状態\(s\)は、今現在の状態を表します。年末年始やお盆などのイベントによりレストランは繁盛するタイミングなのか、閑散期なのか(需要が高そうなのか、低そうなのか)といったような状態がこれに当たります。行動\(a\)行動\(a\)は、エージェントがとる行動を表します。報酬\(r\)報酬\(r\)は、エージェントがある状態\(s\)において、行動\(a\)を選択した結果として得られた良し悪しの評価結果を表します。エージェントは、各状態\(s\)に対して行動\(a\)を取る価値を、報酬を受ける度に、更新していきます。\(Q(s,a)\)と表現します。\(Q\)値の定義は以下です。対する価値の期待値です。\(\gamma\)は割引率と呼ばれ、将来の価値をどれだけ割り引いて考えるかのパラメータです。Q\)値を、得られた報酬に従ってどのように更新していくか、についてはいくつか方法がありますが、ここでは二つ紹介します。Q\)値の更新に、直近で得られた結果をどの程度反映させるかを調整します。