以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。
<システム構成>
図1は、本発明の一実施の形態であるリソース割り当てシステムの構成例について概要を示した図である。本実施の形態のリソース割り当てシステム1は、ユーザに対して、入力された条件に基づいて複数種類のリソースの組み合わせからなる候補を抽出し、その中から最終的に割り当てる組み合わせをシステムが抽選により自動的に決定する情報処理システムである。例えば、「どこかに旅行したい」というユーザを対象に、新幹線などの交通機関における指定席について、入力された条件に基づいて抽出した複数の目的地の候補から最終的な行き先および号や便をシステムが抽選により自動的に決定する。
これにより、販売者(リソースの割り当て者)が希望する指定席等のリソース(在庫が多く残るであろうリソース)を優先的に選択して在庫の販売促進を図ることを可能とする。一方で、本実施の形態では、自動的に決定したリソースの組み合わせに係る情報(上記の例では新幹線での行き先)を利用期限直前までユーザに対して秘匿しておくことで、リソースの割り当て結果に対する意外性や期待感をユーザに対して提供することも可能とする。
本実施の形態のリソース割り当てシステム1は、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバ等により実装されたサーバシステムであるリソース割り当てサーバ10と、リソースの管理主体が各リソースの空き状況(在庫)を管理するとともに、顧客に対する在庫の割り当てを処理するために運営するリソース管理システム20とを有し、これらが図示しないLAN(Local Area Network)等のネットワークを介して通信可能な構成を有する。本実施の形態では、図1に示すように、鉄道会社等が有する既存の予約管理システム等からなるリソース管理システム20を前提とし、これと連携する形でリソース割り当てサーバ10を別途設けているが、これらを一体の情報処理システムとして構築することも当然可能である。
また、リソース割り当てサーバ10およびリソース管理システム20に対してインターネット等のネットワーク30を介してユーザが保有するPC(Personal Computer)や、タブレット端末、スマートフォン等の情報処理端末からなるユーザ端末40が接続可能な構成を有する。
リソース管理システム20は、鉄道会社等のリソース管理主体が有する既存の情報処理システムであり、少なくとも、対象の管理主体が管理・提供する各リソースに対する割り当て要求を受け付けて割り当てを行い、その状況を保持、管理する機能を有する。本実施の形態では、例えば、図示しないOS(Operating System)やDBMS(DataBase Management System)、Webサーバプログラムなどのミドルウェア上で稼働するソフトウェアとして実装された割り当て処理部21を有する。また、データベース等により実装された在庫データベース(DB)22および割り当て履歴DB23などの各データストアを有する。
割り当て処理部21は、リソースの割り当て要求を受け付けるインタフェースを有し、割り当てが行われた場合には、その内容に基づいて、在庫情報を管理する在庫DB22、およびユーザに対する割り当て履歴(リソースの利用履歴)を記録する割り当て履歴DB23の内容を更新する。割り当て処理部21が有するインタフェースは、例えば、ネットワーク30を介したユーザ端末40等からの割り当て要求を受け付けるユーザインタフェースであってもよいし、後述するリソース割り当てサーバ10からの指示を受け付けるプログラミングインタフェースやデータ連携のインタフェースであってもよい。
リソース割り当てサーバ10は、ユーザからの条件の入力を受け付けて、複数種類のリソースの組み合わせからなる割り当ての候補を抽出するとともに、その中から最終的な組み合わせを抽選により決定する機能を有するサーバシステムであり、例えば、図示しないOSやDBMS、Webサーバプログラムなどのミドルウェア上で稼働するソフトウェアとして実装された在庫管理部11、割り当て候補抽出部12、および申込管理部13などの各部を有する。また、データベースやファイルテーブル等により実装された在庫DB14、割り当て履歴DB15、ユーザDB16、および申込DB17などの各データストアを有する。
在庫管理部11は、割り当ての対象となるリソースの在庫に係る情報を在庫DB14に保持して管理する機能を有する。本実施の形態では、例えば、リソース管理システム20において最新の在庫情報を保持している在庫DB22から定期的に、もしくは随時に必要な在庫情報を抽出して、コピーやレプリケーション等することで在庫DB14を構築する。リソース割り当てサーバ10に在庫DB14を有さず、リソース管理システム20上の在庫DB22を直接参照する構成としてもよい。また、在庫情報に限らず、各ユーザについてのリソースの過去の割り当て履歴(リソースの利用履歴)の情報をリソース管理システム20上の割り当て履歴DB23から抽出してコピーやレプリケーション等することで、リソース割り当てサーバ10上に割り当て履歴DB15を構築するようにしてもよい。
割り当て候補抽出部12は、ユーザ端末40を介したユーザからの条件の入力を受け付けて、在庫DB14の在庫情報や、割り当て履歴DB15の過去の割り当て情報、ユーザDB16に登録されているユーザの属性情報などに基づいて複数種類のリソースの組み合わせについての候補を複数抽出するとともに、その中から最終的な組み合わせを抽選により決定し、ユーザ端末40に対して提示する機能を有する。なお、リソースの組み合わせについての候補の抽出や、最終的な組み合わせの決定等に係る処理内容の詳細については後述する。
申込管理部13は、ユーザ端末40を介したユーザからのリソースの割り当て・利用の申し込みの入力を受け付けて、申込DB17に登録する機能を有する。後述するように、本実施の形態では、申し込みを受け付ける時点では、ユーザにはリソースの組み合わせの候補のみが提示されている状態であり、申し込みの内容にはこれらの候補の内容が含まれる。申込管理部13は、例えば、申し込みの受け付け後、リソースの利用期限までの間の所定のタイミングで、最終的な組み合わせをユーザに対して通知する。最終的な組み合わせが決定された時点で、その内容に基づいてリソース管理システム20の割り当て処理部21を介して自動的に割り当てを登録して確定させてもよいし、ユーザがユーザ端末40により割り当て処理部21にアクセスして手動で割り当てを登録して確定させてもよい。
<処理の流れ>
図2は、本実施の形態におけるリソースの割り当て処理の流れの例について概要を示したフローチャートである。以下の例では、新幹線による旅行などのように行きと帰りの新幹線という2種類のリソースを組み合わせて割り当てる(販売する)場合について説明するが、3種類以上のリソースの組み合わせを対象とするものであってもよい。
まず、リソース割り当てサーバ10がユーザからリソースの割り当てに係る条件の入力を受け付ける(S10)。例えば、リソース割り当てサーバ10がユーザ端末40上の図示しないWebブラウザや専用のアプリケーション等からの要求に基づいて表示させた条件入力の画面を介してユーザから指定された割り当て・利用を希望するリソースの条件の情報を受け付ける。
条件には、例えば、各リソースについての利用希望日や利用時間帯、利用希望数などが含まれる。ここで、ユーザが全ての条件を指定できるものとすると、リソースの販売者・提供者側が販売を希望するリソース(在庫が多く残るであろうリソース)を優先的に販売して在庫の効率的販売を図ることができなくなる。
したがって、本実施の形態では、ユーザが希望リソースを特定するための条件のうち少なくとも一部については指定できないものとし、当該条件の制限がないことによって生じる一定の幅に含まれる対象リソースの中から複数の候補を選択してユーザに提示するものとする。すなわち、ユーザが最終的に割り当てられるリソースの決定をシステムに委ねることで、リソースの提供者は在庫を効率的に販売することができる一方で、ユーザは、例えば、これと引き換えに大幅なディスカウントを得ることができる。
ユーザによる指定を受け付けない(すなわち、リソースの提供者側が自身に有利に決定することができる)条件については、特に限定されないが、例えば、新幹線の行き先などのリソースのタイプや属性の一部、発時刻などのリソースの利用時間帯などとすることができる。以下に説明する本実施の形態では、新幹線での旅行等における行き先(すなわち、行きの新幹線の到着駅、および帰りの新幹線の出発駅であり、それぞれのリソースの属性の一部)についてユーザによる指定を受け付けないものとする。
ユーザからの条件の入力を受け付けると、リソース割り当てサーバ10の割り当て候補抽出部12が、2種類のリソースを組み合わせる条件となる結合条件の候補を決定する一連の処理を行う(S20)。例えば、リソースが新幹線の座席(チケット)である場合、行きの新幹線と帰りの新幹線という2種類のリソースにおける結合条件は行き先・目的地(すなわち、行きの新幹線の到着駅であり、帰りの新幹線の出発駅)である。
一連の処理ではまず、ステップS10で入力された条件に合致するリソースをリソースの種類毎に在庫DB14から抽出して該当リソースリストを作成する(S21)。具体的には、リソースの種類毎に、在庫DB14に登録されている在庫の中から、入力された条件において指定されたリソースの属性(例えば、出発駅など)や、利用希望日付および時間帯に該当し、かつ指定された利用希望数より在庫数が多いものを抽出して該当リソースリストを作成する。なお、在庫DB14には、在庫管理部11により予め全便の全在庫のリストが反映・登録されているものとする。ここでの在庫数は、各リソースについての提供・販売可能数−提供・販売済数として算出される。
図3は、該当リソースリストの具体的な例について概要を示した図である。図3(a)、(b)は、それぞれ、図2の条件入力画面において指定された条件に合致する複数種類のリソース(行きと帰りの新幹線)に含まれるレコードからなる該当リソースリストの例を示している。
図3(a)では、4月17日に利用可能な「リソース1」という種類のリソース(例えば、指定された出発駅からの行きの新幹線)について、在庫数が利用希望数以上のレコードがリストされており、図3(b)では、4月18日に利用可能な「リソース2」という種類のリソース(例えば、指定された出発駅への帰りの新幹線)について、在庫数が利用希望数以上のレコードがリストされている。また、各リストでは、各リソースのレコードについて組み合わせを作成する際の結合条件として用いられる属性の情報(例えば、行きの新幹線では到着駅、帰りの新幹線では出発駅)が、それぞれ「属性1」、「属性2」として示されている。
なお、ユーザにより指定された条件以外の追加条件として、例えば、各リソースの大きさやキャパシティなどの所定の属性や、現在の在庫数の多寡の程度などに応じて、一定の在庫数以下のものは提供・販売不可として取り扱う(もしくはリストから除外する)ようにしてもよい。図3の例では、網掛けされた各リソースが追加条件に該当するものとして提供・販売不可として取り扱われることを示している。
図2に戻り、次に、ステップS21で作成した該当リソースリストに基づいて、各リストに共通して含まれる属性からなる結合条件候補リストを作成する(S22)。具体的には、図3の例では、「リソース1」の該当リソースリストから「属性1」の値のリスト(例えば、行きの新幹線の到着駅のリスト)を抽出し、さらに「リソース2」の該当リソースリストから「属性2」の値のリスト(例えば、帰りの新幹線の出発駅のリスト)を抽出する。そして、「リソース1」と「リソース2」の該当リソースリストの双方に共通して含まれる属性の値を抽出して結合条件候補リストとする。
なお、本実施の形態では、上記のように「リソース1」と「リソース2」で個別に属性の値のリストを抽出して、双方に共通する値を抽出する処理手順としているが、同様の結果を得ることができるものであれば処理手順は特に限定されない。例えば、ステップS21およびS22に相当する処理として、先に「リソース1」のみについて該当リソースリストを作成して「属性1」の値のリストを抽出し、その後、「リソース2」について、「属性2」の値が「リソース1」の「属性1」の値のリストに含まれるもののみを対象として該当リソースリストを作成し、「リソース2」の該当リソースリストに含まれる「属性2」の値を結合条件候補リストとする処理手順としてもよい。
本実施の形態では、上述したように、リソースの組み合わせにおける結合条件のパターンとして複数の候補をユーザに提示し、その中からシステムが好適な結合条件およびその結合条件に係るリソースのレコードの組み合わせを選択する構成とする。したがって、ステップS22で作成した結合条件候補リストに含まれる結合条件の数が所定の数(例えば数個)以下の場合は、複数の結合条件の候補の中から選択するという仕組みが成立しない場合が生じ得る。したがって、ステップS22で作成した結合条件候補リストに含まれる結合条件の数が所定の数以下であるか否かをチェックし(S23)、所定の数以下の場合には、例えば、ユーザ端末40に対して「該当するリソースはご用意できませんでした」等のメッセージを表示して処理を終了する。
図4は、結合条件候補リストの具体的な例について概要を示した図である。図中の表における左側の列は、図3(a)に示した「リソース1」の該当リソースリストから「属性1」の値を抽出したものを示し、表の中央の列は、図3(b)に示した「リソース2」の該当リソースリストから「属性2」の値を抽出したものを示している。そして表の右側の列は、これらに共通して含まれる属性値、すなわち、「リソース1」と「リソース2」のレコードの組み合わせを作ることができる属性値のリストを示している。本実施の形態では、原則としてユーザは、例えば新幹線で出発地から1ヶ所の目的地に行き、そこから出発地に帰ってくるものであることを想定しているため、リソースの組み合わせとしては、出発地と目的地との間で時間帯も含めて往復することができる組み合わせがあることが必要となる。
図2に戻り、次に、ステップS22、S23で作成したリソースの組み合わせについての結合条件候補リストに含まれる結合条件から、ユーザに対して候補として提示する所定の数の結合条件を選択して結合条件リストを作成する(S24)。具体的には、例えば、結合条件候補リストに含まれる各結合条件を所定の基準でスコアリングする等により順位付けし、上位のものから順に所定の数の結合条件を選択して結合条件リストとする。もしくは、算出したスコアに応じて設定された抽選確率に基づいてランダムな抽選により所定の数の結合条件を選択するようにしてもよい。
スコアリングに際しては、例えば、各結合条件について所定のパラメータ毎にウェイトを設定して重み付けし、各ウェイトを乗算することでスコアを算出する。基本となるパラメータは結合条件に対応するリソースの組み合わせ毎の在庫数であり、在庫数が多い結合条件ほどスコアが高くなるようウェイトを設定するものとするが、これに他のパラメータによるウェイトを反映することができる。例えば、結合条件別のパラメータとしては、結合条件や対応するリソースの人気(利用者数や提供数が多いリソース)や、リソースの提供者・販売者等が催すキャンペーン等の対象であるか否かなどによりウェイトを設定することができる。
また、同じ結合条件内でも、利用対象の月や曜日、時間帯、もしくはこれらの組み合わせの別でウェイトを設定することができる。例えば、同じリソースでも金曜日の夕方は平日の他の時間帯に比べて需要が高く在庫が販売されやすいなどの事情を反映させることができる。さらに、ユーザ毎の個人別のウェイトとして、例えば、過去に本実施の形態のリソース割り当てシステム1により抽選・決定されたものや過去に利用したことがあるリソースの組み合わせや結合条件については再度選択されにくくするようにウェイトを設定することができる。
図5は、結合条件リストの具体的な例について概要を示した図である。図中の左側の表は、図4に示したリソースの組み合わせについての結合条件候補リストに含まれる各結合条件について、上述したような結合条件別、月別、曜日別、および個人別のパラメータ毎にウェイトを設定し、各ウェイトを乗算した結果を示している。そして、乗算結果の上位の所定の数(本実施の形態では4つ)の結合条件を抽出して結合条件リストとしたものを右側の表に示している。なお、各パラメータがどのような条件に該当した場合にどのような値のウェイトを設定するかについての設定情報は、例えば、図示しない設定ファイルやテーブル等に予め登録して外出しにしておき、必要に応じて変更できるようにしてもよい。
上述したように、結合条件候補リスト中の結合条件から所定の数の候補を選択する際には、パラメータ毎にウェイトを設定してスコアリングし、上位の所定の数を選択、もしくは抽選により所定の数を選択することで行う。例えば、上位の所定の数を選択するものとした場合、近接した時間間隔で同一ユーザについて複数回検索を行った場合、在庫数がその間に大きく変化していない限り、基本的には同じ内容の結合条件が候補として選択されることになるが、在庫数が変化した場合には候補の結合条件も変化することがあり得る。また、抽選により所定の数を選択するものとした場合は、当然ながら検索を行う毎に候補の結合条件が変化し得る。このとき、いい組み合わせの候補が現れるまで何度も検索を繰り返すことをユーザに許容すると、システムに対して過大な負荷がかかることになる。
そこで本実施の形態では、ユーザが入力した条件と検索結果の結合条件の候補の内容をCookieに記録する等により、再度同じ条件が入力された場合、在庫が存在する限りにおいて最初に出力した結合条件の候補と同じ内容の候補を出力する。在庫の変動により在庫数が不足する状態となった場合など、当初の検索結果の結合条件の候補を選択できない場合には、「該当なし」として応答する。これによりユーザによる検索の繰り返しを抑制することができる。同じ条件が指定された場合に、常に当初の検索結果を用いるのではなく、回数制限を設けて一定の回数に限り再度の検索処理を許容するようにしてもよい。また、例えば数日後など一定期間を経過した後にはリセットして再度新規の検索ができるようにする。
図2に戻り、所定の数の結合条件の候補が決定されると、次に、複数種類のリソース(本実施の形態では「リソース1」と「リソース2」であり、例えば新幹線の行きと帰りなど)のレコードの組み合わせのうち、実際にユーザに提供・販売する組み合わせを決定する一連の処理を行う(S30)。ここでは、リソース毎、レコード毎などの在庫に応じたウェイトを設定して各リソースの組み合わせをスコアリングし、スコアに応じた抽選確率で最終的なリソースの組み合わせを抽選により決定する。
なお、本実施の形態では、上述したように、最終的なリソースの組み合わせの決定や、実際の割り当て(リソースの提供・販売)の登録のタイミング等については柔軟に設定することができるため、設定によってはリソース管理システム20で実際にリソースの組み合わせを割り当てる際に既に対象の組み合わせに係るリソースの在庫がなくなっていて割り当てできないという事態が生じ得る。
そこで本実施の形態では、上記のようなリスクを回避するため、最終的なリソースの組み合わせを抽選により決定する際に、抽選された1つの組み合わせ以外の他の組み合わせについても予め抽選により順位を決定して優先順位のリストとしておく。これにより、実際の割り当て時に対象の組み合わせの在庫がない場合でも、速やかに次順位の候補を対象として割り当ての登録をすることができる。次順位の候補の組み合わせにも在庫がない場合には、さらに次順位の候補、というように割り当てが確定して登録できるまで優先順位のリストから順次代替の候補を抽出して割り当てを試みることができる。
また、本実施の形態では、上述したように、実際の割り当ての登録を行っても最終的なリソースの組み合わせの情報は利用直前までユーザに対して通知しないようにすることもできることから、上記のようなリソースの組み合わせの決定過程についてもユーザから秘匿することができる。なお、リソースの組み合わせの候補の全てについて優先順位を決定してもよいし、上位から所定の順位までのみ優先順位を決定して以降は省略することで効率化してもよい。
ステップS30の一連の処理では、まず、ステップS10で指定された条件と、ステップS24で作成された結合条件リストに含まれる所定の数の結合条件の候補とに合致するリソースからなる候補リソースリストを作成する(S31)。具体的には、ステップS21で作成した各リソースの該当リソースリストから、結合条件リストに含まれる各結合条件の属性値に該当するリソースのレコードをそれぞれ抽出し、各リソースについて可能な全てのレコードの組み合わせからなる候補リソースリストを作成する。
図6、図7は、候補リソースリストの具体的な例について概要を示した図である。図6(a)、(b)は、それぞれ、上述の図3(a)、(b)に示した「リソース1」(例えば、行きの新幹線)および「リソース2」(例えば、帰りの新幹線)の該当リソースリストから、図5に示した結合条件リストに含まれる各結合条件の属性値に該当するレコードを抽出した「リソース1」および「リソース2」の候補リソースリストの例を示している。また図7は、図6(a)、(b)に示した候補リソースリストに基づいて作成された組み合わせに係る候補リソースリスト(例えば、往復での新幹線の候補)の例を示している。図中では便宜上、結合条件の候補(「属性1」、「属性2」の値)毎に太線枠で囲って示している。
図8は、候補リソースリストにおける各リソースの組合せ状況の例について示した図である。ここでは、図7に示した組み合わせに係る候補リソースリストにおけるリソースの組み合わせ状況を図示している。図中では上段に「リソース1」(例えば、行きの新幹線)の候補リソースリストに含まれる各リソースについて「属性1」の値とリソース名および在庫数を示し、下段に「リソース2」(例えば、帰りの新幹線)の候補リソースリストに含まれる各リソースについて「属性2」の値とリソース名および在庫数を示している。
また、各リソースの組み合わせとして可能なものとして、「リソース1」の「属性1」(例えば、行きの新幹線の到着駅)の値と「リソース2」の「属性2」(例えば、帰りの新幹線の出発駅)の値が同一であるものについて、日付と利用可能時間を考慮した上で総当りで組み合わせたものを実線で示している。すなわち、「リソース1」と「リソース2」のリソースを結ぶ各実線は図7に示した組み合わせに係る候補リソースリストの各行に対応している。
図2に戻り、次に、ステップS31で作成した組み合わせに係る候補リソースリスト中の各リソースの組み合わせについて、所定の条件に基づいて優先順位を決定する処理を行う(S32)。優先順位の決定方法には各種のものが考えられ、任意の方法を適宜採用することができる。例えば、最も単純かつ一般的に考え得る方法として、組み合わせを考慮せずに、各リソースで順次(本実施の形態では「リソース1」、「リソース2」の順(もしくはその逆))個別に対象のレコードを選択・決定した後、これらを組み合わせるという方法が考えられる。
図9は、本実施の形態におけるリソースの組み合わせの順位を決定する第0方式の処理の流れの例について概要を示したフローチャートである。処理を開始すると、まず、「リソース1」(例えば、行きの新幹線)の候補リソースリストから対象とするリソースのレコードを無作為に1つ抽選して決定する(S321_1)。次に、ステップS321_1で決定したリソースの「属性1」(例えば、行きの新幹線の到着駅)の値に対応する「属性2」(例えば、帰りの新幹線の出発駅)の値を有するリソースのレコードを、「リソース2」(例えば、帰りの新幹線)の候補リソースリストから無作為に1つ抽選して決定する(S321_2)。
その後、ステップS321_1およびS321_2で決定した「リソース1」と「リソース2」の各リソースのレコードの組み合わせが既に抽出済みであるか否かを判定する(S321_3)。既に抽出済みである場合は、ステップS321_1に戻って処理を繰り返す。
一方、ステップS321_3で対象のレコードの組み合わせが抽出済みでない場合は、対象の組み合わせを優先順位のリストの末尾に追加して順位を決定する(S321_4)。順位を決定した組み合わせの情報は、図2のステップS31で作成した組み合わせに係る候補リソースリストから削除する。その後、候補リソースリスト中に残りがあるか否かを判定する(S321_5)。残りがある場合はステップS321_1に戻って処理を繰り返す一方、残りがなくなった場合は処理を終了する。
上記のような第0方式を採用した場合、リソースの組み合わせについて優先順位のリストを作成する際のロジックがシンプルになり、実装が容易になるという利点を有する。一方で、決定した「リソース1」と「リソース2」のレコードの組み合わせに対して、新たに順位を決定した場合には組み合わせに係る候補リソースリストに対して消し込みを行う必要があり、また、既に順位を決定済みである場合には対象の組み合わせを決定した処理が無駄になってしまうなど、処理の効率が悪く処理時間を要する場合があり得る。
また、在庫の提供・販売という観点でも効率性が低下する場合がある。第0方式では、各リソースの在庫数の多寡を全く考慮していないため、在庫数が少ないリソースやリソースのグループ(例えば、到着駅が同じなど「属性1」や「属性2」の値が同じリソースのグループ)であっても先に販売されてしまう可能性があり、在庫数が多いリソースについて効率的に販売したいという販売者側の要望を満たすことができない。また、在庫数が少ないリソースやリソースのグループであっても無作為に選択されて販売され得る結果、販売不可(売り切れ)となるリソースやリソースのグループが多く出現する場合があり、ひいてはリソースや結合条件の候補を所定の数だけ選択することができなくなる場合も生じ得る。
これに対し、在庫数が多いリソースから優先的に販売されるよう、第0方式のような無作為の抽出ではなく、各リソースに対して在庫数に応じたウェイトをつけて重み付けし、在庫数が多いリソースほど選択・抽選されやすくすることが考えられる(この方式を「第1方式」とする)。図10は、第1方式によりリソースの組み合わせの順位を決定する際の例について示した図である。図10の例では、説明の便宜のため、図8に示した各リソースの組み合わせの例における在庫数とは異なり、「リソース1」と「リソース2」の各リソースはそれぞれ図示するような在庫数であったものとする。
第1方式では、第0方式と同様に、まず上段の「リソース1」の中から対象のリソースを1つ選択するが、その際、第0方式のような無作為選択ではなく、在庫数に応じて設定されたウェイトを考慮して決定する。図10の例では、結合条件である「属性1」の値について、他と比較して在庫数がいずれも100個と多い属性値が「A」のリソースのうち「A1_2」が抽選・選択されたことを太枠で示している。次に、下段の「リソース2」のうち、選択された「リソース1」(図の例では「A1_2」)の「属性1」の値(図の例では「A」)に対応する「属性2」の値を有するものから在庫数に応じて設定されたウェイトを考慮して1つ決定する。図10の例では在庫数がいずれも10個である「属性2」が「A」である「リソース2」のうち「A2_3」が抽選・選択されたことを太枠で示している。
上記の第1方式の場合、ウェイトにより在庫数の多寡を考慮することができるものの、例えば、「リソース1」と「リソース2」の間の在庫数の偏りや、「リソース1」の各リソースの間の在庫数の偏りと「リソース2」の各リソースの間の在庫数の偏りが大きい場合には、在庫の多寡を適切に評価することができずに非効率な販売となる場合が生じ得る。
例えば図10の例における属性値が「A」の各リソースにおいて、上段の「リソース1」の3つのリソース(「A1_1」、「A1_2」、「A1_3」)の在庫数の合計は300個と多数であるが、下段の「リソース2」の3つのリソース(「A2_1」、「A2_2」、「A2_3」)の在庫数の合計は30個しかなく大きな偏りがある。この場合、これらの双方のリソースを同時に割り当てることができる人数(例えば、行きと帰りの新幹線の場合、目的地「A」との間で実際に往復することができる人数)は最大で30人しかいないことになる。すなわち、リソースの組み合わせという観点での割り当て可能キャパシティは30個である。
これに対し、図10の例における属性値が「D」のリソースは、上段の「リソース1」のリソース(「D1_1」)の在庫数が30個であり、上記の属性値が「A」のリソースに比べてはるかに在庫数が少ないが、下段の「リソース2」のリソース(「D2_1」)の在庫数も30個であり、割り当て可能キャパシティは属性値が「A」のリソースと同じ30個となる。このように、リソースの組み合わせを考慮した割り当て可能キャパシティという点では同じであるにも関わらず、「リソース1」の在庫数が多い属性値が「A」のリソースの方が、「リソース1」からの抽選の際に圧倒的に選択されやすくなってしまい、結果として非効率な販売となり得る。リソースや結合条件によっては上記の例のように、例えば、平日の日中は在庫が比較的多い一方で、金曜日の夕方はほぼ在庫がない状態となるのが通常、というように在庫数に大きな偏りがある場合もある。
図11は、リソースの組み合わせの順位を決定する第2方式の処理の流れの例について概要を示したフローチャートである。この第2方式では、結合条件の属性値が同じリソースの組み合わせのグループ(例えば、新幹線での目的地の駅が同じ組み合わせ)毎の各リソースの在庫数の偏りに伴う非効率を解消するため、リソースの組み合わせでの在庫数を考慮してウェイトを設定する。処理を開始すると、まず、各リソース(本実施の形態では「リソース1」と「リソース2」)の候補のレコードについて、全ての組み合わせを作成する(S322_1)。この処理は図2のステップS31において作成した組み合わせに係る候補リソースリストの作成と同内容である。
次に、ステップS322_1で取得した各組み合わせについて、各リソースの在庫数のいずれか少ない方を、組み合わせとしての在庫数(組み合わせ在庫数)とする(S322_2)。そして、各組み合わせについて組み合わせ在庫数をウェイトとして重み付けした上で優先順位を抽選・決定し(S322_3)、処理を終了する。各組み合わせについて抽選により優先順位を抽選・決定する手法については後述する。
図12は、第2方式によりリソースの組み合わせの順位を決定する際の例について示した図である。図12の例では、図8に示した各リソースの組み合わせの例における在庫数と同様の在庫数であったものとする。図中では、結合条件の属性値が「A」であるリソースの組み合わせと「D」であるリソースの組み合わせについて、それぞれ、各組み合わせについてステップS322_2で決定された組み合わせ在庫数を示している。また、属性値が「A」であるリソースの全ての組み合わせ(9パターン)についての組み合わせ在庫数の合計は140であり、属性値が「D」であるリソースの全ての組み合わせ(1パターン)についての組み合わせ在庫数の合計は10であることを示している。
図12の例において、第2方式では、各リソースの組み合わせについて順位を抽選・決定する際に、結合条件の属性値が「A」のリソースの組み合わせについては140のウェイトが設定され、結合条件の属性値が「D」のリソースの組み合わせについては10のウェイトが設定される。このように、各リソースの組み合わせ毎の組み合わせ在庫数に基づいたウェイトが設定されるため、各リソースの組み合わせにおける「リソース1」と「リソース2」の間の在庫数の偏りによる非効率を解消することができるとともに、リソースの組み合わせとして在庫数が多い組み合わせほど高い優先順位で抽選されやすくなり、在庫を最後まで効率的に販売しやすくなる。
一方で、図12の例では、結合条件の属性値が「A」のリソースの全組み合わせのウェイトの合計と、結合条件の属性値が「D」のリソースの全組み合わせのウェイトの合計との比は14:1となる。したがって、各リソースの組み合わせの順位を抽選・決定する際において、結合条件の属性値が「A」のリソースの組み合わせのいずれかが選択される確率は、結合条件の属性値が「D」のリソースの組み合わせが選択される確率の14倍となる。すなわち、最終的なリソースの組み合わせとして結合条件の属性値が「A」のリソースの組み合わせが選択される確率は、結合条件の属性値が「D」のリソースの組み合わせが選択される確率の14倍となる。
しかし、ここで上述したようなリソースの組み合わせという観点での割り当て可能キャパシティを考慮すると、結合条件の属性値が「A」のリソースは全体で60個であるのに対し、結合条件の属性値が「D」のリソースは10個であり、割り当て可能キャパシティの比は6:1に過ぎない。すなわち、結合条件の属性値が「A」のリソースのように「リソース1」と「リソース2」の組み合わせのパターンが多い結合条件ほど、割り当て可能キャパシティの偏りに比べてリソースの組み合わせという観点で大きいウェイトが設定される結果、最終的なリソースの組み合わせとしてより抽選されやすくなる。
したがって、第2方式は、リソースの組み合わせが多い結合条件(すなわち、リソースの提供数や利用者が多い属性値)からなるリソースを優先的に販売したいというような場合には有効である。なお、リソースの組み合わせが多い結合条件でも、在庫が減った(売り切った)リソースが増えてくるにしたがって組み合わせのパターンも減ってくるため、結合条件の属性値に対して大きいウェイトが設定される(すなわち在庫が販売されやすい)状態も緩和されてくる。
一方、結合条件毎の在庫数の偏りに加えて、結合条件内での各リソースの組み合わせの在庫数の偏りについても考慮することが望まれる。図13は、同一結合条件内でのリソースの複数の組み合わせについて順位を決定する際の例について示した図である。例えば、ある結合条件について「リソース1」の候補のレコードが上段の図に示す3つ、「リソース2」の候補のレコードが下段の図に示す3つの状態で、これらの組み合わせの中から対象の組み合わせを抽選・選択する場合を考える。この場合、上記の第2方式では、図11のステップS322_2で決定する各リソースの組み合わせの組み合わせ在庫数は、いずれも在庫数が少ない方の10に補正される。したがって、ステップS322_3で組み合わせ在庫数に基づいて各リソースの組み合わせに対して設定されるウェイト、すなわち優先順位決定の際の抽選確率は、均等な値となる。
しかしながら、図13の例では「リソース2」の「A2_1」のみ他のリソースの10個と異なり80個の在庫を有しており、優先順位決定の際に「リソース2」として「A2_1」を有する組み合わせが選択される抽選確率は他の組み合わせに比べて8倍とするのが実態に沿うものと考えられる。すなわち、第2方式では、図13の例のようにある結合条件について「リソース1」(もしくは「リソース2」)の各レコードの在庫数が総じて少なく、かつ、「リソース2」(もしくは「リソース1」)の各レコードの在庫数が総じて多い場合には、「リソース2」(もしくは「リソース1」)の在庫数の分布や偏りが組み合わせを決定する際のウェイトに反映されなくなる。
図14は、リソースの組み合わせの順位を決定する第3方式の処理の流れの例について概要を示したフローチャートである。この第3方式では、リソースの組み合わせのパターンが多い結合条件についてウェイトが大きく設定されることを回避しつつ、各結合条件でのリソースの種類(本実施の形態では「リソース1」と「リソース2」)毎の在庫数のバランスを考慮してウェイトを設定する。
処理を開始すると、まず、各リソース(本実施の形態では「リソース1」と「リソース2」)の候補のレコードについて、全ての組み合わせを作成する(S323_1)。この処理は図2のステップS31において作成した組み合わせに係る候補リソースリストの作成と同内容である。次に、ステップS322_1で取得した各リソースの組み合わせについて、「リソース1」と「リソース2」のレコードの在庫数を乗算し、その値を結合条件内組み合わせ毎ウェイトとして決定する(S323_2)。
次に、結合条件毎に「リソース1」の各レコードの在庫数の合計と「リソース2」の各レコードの在庫数の合計をそれぞれ算出し、その少ない方を結合条件毎ウェイトとして決定する(S323_3)。すなわち、各結合条件でのリソースの組み合わせについての上述した割り当て可能キャパシティを算出して結合条件毎ウェイトとする。そして、ステップS323_2で算出した結合条件内組み合わせ毎ウェイトと、ステップS323_3で算出した結合条件毎ウェイトをリソースの組み合わせ毎に乗算して組み合わせ毎ウェイトを算出し(S323_4)、組み合わせ毎ウェイトに基づいて抽選・選択を行って各リソースの組み合わせの優先順位を決定して(S323_5)、処理を終了する。
図15は、第3方式によりリソースの組み合わせの順位を決定する際の例について示した図である。図15の例では、図8に示した各リソースの組み合わせの例における在庫数と同様の在庫数であったものとする。図中では、結合条件の属性値が「A」のリソースについて、組み合わせ毎に算出した結合条件内組み合わせ毎ウェイトを示している。また、各結合条件について、それぞれ「リソース1」と「リソース2」の各リソースの在庫数合計を示し、その少ない方を結合条件毎ウェイトとしたことを示している。
以下では、上記の第3方式によりウェイトを設定した場合に、各リソースの組み合わせについての優先順位を決定するための抽選確率がどのように算出されるかを示す。図16は、比較のために上述した第1方式により各リソースにウェイトを設定した場合の抽選確率の例を示した図である。図16(a)、(b)は、図2のステップS31で作成されたリソースの組み合わせに係る候補リソースリストが図7(および図8)の例に示したものであった場合に、「リソース1」、「リソース2」のそれぞれについて、各リソースのみで在庫数をウェイトとして抽選確率を算出した場合を示している。
ここでは、「リソース1」、「リソース2」のそれぞれについて、全ての候補リソースの在庫数の合計(往路=215、復路=180となる)に対して100%となる抽選確率を、各リソースの在庫数で単純に按分した値が抽選確率とされている。第1方式では、この抽選確率に基づいて順次抽選された「リソース1」のリソースと「リソース2」のリソースの組み合わせに対して優先順位が決定される。
図17、図18では、第3方式により各リソースにウェイトを設定した場合にどのように抽選確率が算出されるかの例を示している。図17は、図14に示した第3方式の処理フローのステップS323_4で決定される組み合わせ毎ウェイトの例を示した図である。図17(a)〜(d)は、それぞれ、図2のステップS31で作成されたリソースの組み合わせに係る候補リソースリストが図7(および図8)の例に示したものであった場合に、4つの各結合条件の候補(属性値が「A」、「B」、「C」、「D」)を対象に、図14に示した処理フローのステップS323_2で決定される結合条件内組み合わせ毎ウェイトと、ステップS323_3で決定される結合条件毎ウェイトとを乗算して組み合わせ毎ウェイトを算出した例を示している。
各図において、左辺の第1項では、対象の結合条件における「リソース1」の各リソースと「リソース2」の各リソースの全組み合わせからなるマトリクスにそれぞれの在庫数を乗算した結果を結合条件内組み合わせ毎ウェイトとして示している。各セルでは、上段に在庫数を乗算した値を示し、下段には当該値が対象の結合条件内全体に占める割合としてパーセントにより示している(以下の演算では下段のパーセント値を用いるものとする)。
また、左辺第2項では、図15に示されている各結合条件の結合条件毎ウェイト(図15の例では属性値が「A」の結合条件が60、属性値が「B」の結合条件が50、属性値が「C」の結合条件が45、属性値が「D」の結合条件が10)について、全ての結合条件の合計(60+50+45+10=165)に占める割合として示している。そして、右辺では、「リソース1」の各リソースと「リソース2」の各リソースの組み合わせからなるマトリクスに左辺の計算結果として得られた組み合わせ毎ウェイトを示している。なお、図17(a)〜(d)に示された各結合条件の全てのリソースの組み合わせの組み合わせ毎ウェイトを全て合計すると100%となる。第3方式では、この組み合わせ毎ウェイトを抽選確率として順次抽選することで各リソースの組み合わせの優先順位を決定する。
第3方式では、結合条件毎ウェイト(すなわち、上記の割り当て可能キャパシティ)によって結合条件毎に抽選確率を配分することで、例えば、在庫数が多くリソースの組み合わせパターンが多い結合条件がある場合にも、第2方式と比較して結合条件毎の在庫数に応じてより適切に販売することができる。すなわち、リソースの組み合わせパターンが多い結合条件に係るリソースが優先的に販売されるようなことにならず、結合条件毎のリソースの組み合わせでの在庫数(割り当て可能キャパシティ)が同じであれば、リソースの組み合わせパターンの多寡によって優先度(抽選確率)が影響されないようにすることができる。
また、同じ結合条件内では組み合わせ毎に各リソースの在庫数を乗算した結合条件内組み合わせ毎ウェイトによって抽選確率を配分することで、組み合わせとして余剰がある(在庫数が多い)リソースほど販売されやすくなり、在庫を最後まで効率的に販売することができる。また、各リソースの種類(本実施の形態では「リソース1」、「リソース2」)それぞれの在庫数の比率に応じて抽選確率を配分することになり、より適切に在庫を販売することができる。
なお、第3方式では、組み合わせにおけるリソース毎の在庫数を乗算して得た結合条件内組み合わせ毎ウェイトを用いていることから、実質的には、上述の第1方式などと同様に、「リソース1」と「リソース2」それぞれ個別に抽選・選択して結果を組み合わせることと等価である。したがって、いずれの方法を用いてもよいが、「リソース1」と「リソース2」でそれぞれ個別に抽選・選択して結果を組み合わせる後者の手法の場合、結合条件内組み合わせ毎ウェイトの算出は不要であるものの、全ての組み合わせに対して順位付けを行う際には組み合わせを考慮した消し込み処理等を行う必要があり非効率な処理となり得る。
図18は、第3方式により各リソースにウェイトを設定した場合の抽選確率の例を示した図である。図18(a)、(b)は、図17に示したリソースの組み合わせ毎の抽選確率(右辺の組み合わせ毎ウェイト)を、「リソース1」、「リソース2」に分けてそれぞれリソースのレコード毎に集計したものを示している。上述したように、第3方式は、図18に示したような抽選確率によって「リソース1」、「リソース2」それぞれ個別にレコードを抽選・選択し、これらを組み合わせて決定することと等価である。
図18に示した第3方式により決定された抽選確率を、図16に示した第1方式により決定された抽選確率と比較すると、図18の例では、結合条件間の在庫数のバランス、「リソース1」、「リソース2」それぞれにおける在庫数のバランスに基づいて抽選確率が補正されていることが分かる。例えば、図18(a)の例では、在庫数が同じ30の「リソース1」のリソースでも、属性値が「A」の「A1_1」と属性値が「B」の「B1_1」では、結合条件毎の「リソース2」の在庫数によって抽選確率が調整されて前者の方が抽選確率が高くなっている。
なお、本実施の形態では、抽選確率(もしくはウェイト)の異なる複数のリソースやその組み合わせから抽選で選択された要素を順次取り出して順位付け(ランキング)するが、その手法については特に限定されず、公知のものも含めて任意の手法をとることができる。
図19は、本実施の形態におけるリソースの組み合わせ毎の抽選確率が決定された際の優先順位の決定方法の例について概要を示した図である。例えば、A、B、Cの3つの要素に対して順位付けを行う場合、それぞれの抽選確率がW=1、2、3であったとすると、左側の図に示すように、要素Aの当選範囲HAを0<HA≦1、要素Bの当選範囲HBを1<HB≦3、要素Cの当選範囲HCを3<HC≦6とする。なお、当選範囲Hの配置の順序はこれに限られず任意とすることができる。
その後、乱数値Pを0<P≦6の範囲で発生させ、Pが属する当選範囲Hに対応する要素が当選したものとする。図19の例では要素Bが当選したことを示している。その後、当選した要素Bを順位リストの末尾に追加するとともに、当選範囲HBを取り除き、右側の図に示すように当選範囲HB部分の間隙を詰めて当選範囲を再構成した上で次回の抽選を行う。このとき次回の抽選で生成する乱数値Pの範囲は0<P≦4となる。このようにして当選した要素の当選範囲Hを順次取り除き、当選範囲Hが全てなくなるまで抽選を繰り返すことで、全ての要素について順位付けを行った結果の順位リストを得ることができる。
図2に戻り、ステップS32においてリソースの組み合わせについての優先順位が決定されると、ステップS24で作成した結合条件リストに含まれる所定の数の結合条件の情報をユーザ端末40上に表示させる等によりユーザに対して出力する(S33)。すなわち、この時点では、結合条件の候補はユーザに通知されるが、いずれのリソースの組み合わせが選択される(もしくは選択された)かはユーザにとって不明である。
その後、ユーザはリソースの割り当ての申し込みをするか否かを判断するが、申し込みをしなかった場合(他の画面に遷移したり、アプリケーションを終了させたり等の場合)は、上述したように、ステップS10で入力された検索条件と、ステップS24で作成した結合条件リストの情報をCookie等を用いて記憶するようにしてもよい。一方で、ユーザが申し込みをする場合は、ユーザ端末40からの申し込みの要求を受け付けて申込処理を行い(S40)、一連の処理を終了する。
申込処理では、例えば、ステップS24で作成した結合条件リストや、ステップS32で決定されたリソースの組み合わせ毎の優先順位のリスト等の情報を申込DB17等に記録した上で、本実施の形態では、優先順位リストの最上位に記録されたリソースの組み合わせについて、リソース管理システム20の割り当て処理部21を介して実際に割り当ての処理を行い、在庫数を減算する(もしくは販売済み数を加算する)。上述したように、リソース管理システム20での実際の割り当ての際に在庫数が不足するような状態となった場合には、優先順位リストの次順位に記録された往復便により代替して割り当て処理を行う。実際に割り当てられたリソースの組み合わせの情報については、本実施の形態では対象のリソースの利用日の数日前にユーザに対して通知する。
以上に説明したように、本発明の一実施の形態であるリソース割り当てシステム1によれば、ユーザから入力された条件に基づいて抽出した複数の結合条件やリソースの組み合わせの候補から最終的に割り当てるリソースの組み合わせをシステムが抽選により自動的に決定するというリソースの提供・販売手法を実現することができ、販売者が希望するリソースを優先的に選択して在庫の販売促進を図ることが可能である。また、自動的に決定したリソースの組み合わせを利用直前までユーザに対して秘匿しておくことで、リソースの利用に対する意外性や期待感をユーザに対して提供することも可能である。
そして、複数の結合条件の選択や、最終的なリソースの組み合わせの決定の際には、組み合わせられたリソース毎の在庫数や結合条件毎の在庫数などを含む各種のパラメータによってウェイトを設定して重み付けし、優先順位の高いものから販売するようにすることで、効率的、効果的に在庫の販売促進を行うことが可能である。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
具体的には、例えば上記の実施の形態では、複数種類のリソースについて、結合条件として属性値が同じもの(例えば、行きの新幹線の到着駅と帰りの新幹線の出発駅)を組み合わせてリソースの組み合わせとして販売する場合を例としているが、このようなパターンに限られず、適宜他のパターンに応用、適用することができる。例えば、結合条件として属性値が同じではなくても、一定の関係や範囲にあるリソースであれば組み合わせることができるようにしてもよい。
また、上記の実施の形態では新幹線における行きと帰りという異なる種類のリソースの組み合わせについて在庫数の多いものから優先的、効率的に販売する場合について例として言及しているが、これに限らず、組み合わせて割り当てるべき異なるリソースを、リソースの在庫量に応じて適切に割り当てる他のシステムや方法にも適用することができる。例えば、新幹線に限らず航空便などの他の交通機関にも適用可能であるし、交通機関やレンタカーとホテル、ホテルとレストラン、英会話の講師とレッスン用の部屋、人材派遣会社における要員と派遣先、弁当とお茶、など幅広く適用することができる。また、2つのリソースの組み合わせに限らず、3つ以上のリソースの組み合わせにも応用することが可能である。