IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オラクル・インターナショナル・コーポレイションの特許一覧 ▶ マサチューセッツ インスティテュート オブ テクノロジーの特許一覧

特表2024-536940最適化されたツリー・アンサンブル・ベースの需要モデル
<>
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図1
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図2
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図3
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図4
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図5
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図6
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図7
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図8
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図9
  • 特表-最適化されたツリー・アンサンブル・ベースの需要モデル 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-09
(54)【発明の名称】最適化されたツリー・アンサンブル・ベースの需要モデル
(51)【国際特許分類】
   G06Q 30/0202 20230101AFI20241002BHJP
   G06N 20/20 20190101ALI20241002BHJP
【FI】
G06Q30/0202
G06N20/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024515396
(86)(22)【出願日】2022-07-18
(85)【翻訳文提出日】2024-03-08
(86)【国際出願番号】 US2022073828
(87)【国際公開番号】W WO2023056115
(87)【国際公開日】2023-04-06
(31)【優先権主張番号】17/449,112
(32)【優先日】2021-09-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(71)【出願人】
【識別番号】596060697
【氏名又は名称】マサチューセッツ インスティテュート オブ テクノロジー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】タヤパラン,リーン
(72)【発明者】
【氏名】パンチャンガム,キラン ヴイ.
(72)【発明者】
【氏名】ボルジアン,セタレー
(72)【発明者】
【氏名】ペラキス,ジョージア
【テーマコード(参考)】
5L030
【Fターム(参考)】
5L030BB02
(57)【要約】
実施形態は、小売品目についての最適化された需要モデルを生成する。実施形態は、複数のツリーを含むツリー・アンサンブル機械学習モデルをトレーニングし、トレーニングは、ツリーのそれぞれについての上限を記憶することを含み、ツリーは、品目についての需要に影響する需要特徴に対応するレベルおよびブランチを含む。実施形態は、需要モデルのための目的関数を生成する。各ツリーのトップ分割において、実施形態は、記憶された上限を使用して最適な子ノードを決定し、各ツリーについて新しい実現可能領域を計算する。新しい実現可能領域の限界値を使用して、実施形態は、各ツリーを分割の次のレベルに進ませ、全ツリーのリーフ・ノードに達したときに、最適化された需要モデルを生成する。
【特許請求の範囲】
【請求項1】
小売品目についての最適化された需要モデルを生成する方法であって、当該方法は:
複数のツリーを含むツリー・アンサンブル機械学習モデルをトレーニングする段階であって、前記トレーニングは、前記ツリーのそれぞれについての上限を記憶することを含み、前記ツリーは、前記品目についての需要に影響する需要特徴に対応するレベルおよびブランチを含む、段階と;
前記需要モデルのための目的関数を生成する段階と;
各ツリーのトップ分割において、前記記憶された上限を使用して最適な子ノードを決定する段階と;
各ツリーについて新しい実現可能領域を計算する段階と;
前記新しい実現可能領域の限界値を使用して、各ツリーを分割の次のレベルに進ませる段階と;
全ツリーのリーフ・ノードに到達したときに、前記最適化された需要モデルを生成する段階とを含む、
方法。
【請求項2】
前記上限は、各ツリーについての前記分割のいずれかの側の最良のペイオフに関する情報を含む、請求項1に記載の方法。
【請求項3】
全ツリーのリーフ・ノードに到達していない場合、分割の次のレベルを最適化する段階をさらに含む、
請求項1に記載の方法。
【請求項4】
最適化された需要モデルに基づいて、前記小売品目についての最適化された値下げ価格を生成する段階をさらに含む、請求項1に記載の方法。
【請求項5】
前記最適化された需要モデルに基づいて、複数の小売店のそれぞれにおける前記小売品目についての最適化された在庫レベルを生成する段階をさらに含む、
請求項1に記載の方法。
【請求項6】
前記ツリー・アンサンブル機械学習モデルは並列分割を含み、前記トレーニングはボックス法を使用することを含む、請求項1に記載の方法。
【請求項7】
前記ツリー・アンサンブル機械学習モデルは超平面分割を含み、前記トレーニングは超平面法を使用することを含む、請求項1に記載の方法。
【請求項8】
前記生成された最適化された在庫レベルに基づいて、在庫管理システムからの電子注文を生成する段階であって、前記電子注文は、輸送機構を使用して、複数の倉庫のうちの第1の倉庫から複数の小売店のうちの第1の小売店にある量の前記小売品目を送らせ、最適化されていない在庫レベルを使用することと比較して、追加的な量の前記小売品目を前記第1の小売店に送らせる、段階と;
前記複数の倉庫のうちの一つまたは複数において、前記生成された電子注文を履行する段階とをさらに含む、
請求項5に記載の方法。
【請求項9】
命令を記憶しているコンピュータ可読媒体であって、前記命令は、一つまたは複数のプロセッサによって実行されると、前記プロセッサに、小売品目についての最適化された需要モデルを生成させ、前記生成することは:
複数のツリーを含むツリー・アンサンブル機械学習モデルをトレーニングする段階であって、前記トレーニングは、前記ツリーのそれぞれについての上限を記憶することを含み、前記ツリーは、前記品目についての需要に影響する需要特徴に対応するレベルおよびブランチを含む、段階と;
前記需要モデルのための目的関数を生成する段階と;
各ツリーのトップ分割において、前記記憶された上限を使用して最適な子ノードを決定する段階と;
各ツリーについて新しい実現可能領域を計算する段階と;
前記新しい実現可能領域の限界値を使用して、各ツリーを分割の次のレベルに進ませる段階と;
全ツリーのリーフ・ノードに到達したときに、前記最適化された需要モデルを生成する段階とを含む、
コンピュータ可読媒体。
【請求項10】
前記上限は、各ツリーについての前記分割のいずれかの側の最良のペイオフに関する情報を含む、請求項9に記載のコンピュータ可読媒体。
【請求項11】
前記生成することは:
全ツリーのリーフ・ノードに到達していない場合、分割の次のレベルを最適化する段階をさらに含む、
請求項9に記載のコンピュータ可読媒体。
【請求項12】
前記生成することは:
最適化された需要モデルに基づいて、前記小売品目についての最適化された値下げ価格を生成する段階をさらに含む、
請求項9に記載のコンピュータ可読媒体。
【請求項13】
前記生成することは:
前記最適化された需要モデルに基づいて、複数の小売店のそれぞれにおける前記小売品目についての最適化された在庫レベルを生成する段階をさらに含む、
請求項9に記載のコンピュータ可読媒体。
【請求項14】
前記ツリー・アンサンブル機械学習モデルは並列分割を含み、前記トレーニングはボックス法を使用することを含む、請求項9に記載のコンピュータ可読媒体。
【請求項15】
前記ツリー・アンサンブル機械学習モデルは超平面分割を含み、前記トレーニングは超平面法を使用することを含む、請求項9に記載のコンピュータ可読媒体。
【請求項16】
前記生成することは:
前記生成された最適化された在庫レベルに基づいて、在庫管理システムからの電子注文を生成する段階であって、前記電子注文は、輸送機構を使用して、複数の倉庫のうちの第1の倉庫から複数の小売店のうちの第1の小売店にある量の前記小売品目を送らせ、最適化されていない在庫レベルを使用することと比較して、追加的な量の前記小売品目を前記第1の小売店に送らせる、段階と;
前記複数の倉庫のうちの一つまたは複数において、前記生成された電子注文を履行する段階とをさらに含む、
請求項9に記載のコンピュータ可読媒体。
【請求項17】
小売品目についての履歴販売データを使って前記小売品目についての需要モデルを最適化するシステムであって、当該システムは:
複数のツリーを含むツリー・アンサンブル機械学習モデルをトレーニングする段階であって、前記トレーニングは、前記ツリーのそれぞれについての上限を記憶することを含み、前記ツリーは、前記品目についての需要に影響する需要特徴に対応するレベルおよびブランチを含む、段階と;
前記需要モデルのための目的関数を生成する段階と;
各ツリーのトップ分割において、前記記憶された上限を使用して最適な子ノードを決定する段階と;
各ツリーについて新しい実現可能領域を計算する段階と;
前記新しい実現可能領域の限界値を使用して、各ツリーを分割の次のレベルに進ませる段階と;
全ツリーのリーフ・ノードに到達したときに、前記最適化された需要モデルを生成する段階とを実行するための一つまたは複数のプロセッサを有する、
システム。
【請求項18】
前記上限は、各ツリーについての前記分割のいずれかの側の最良のペイオフに関する情報を含む、請求項17に記載のシステム。
【請求項19】
前記プロセッサがさらに、全ツリーのリーフ・ノードに到達していない場合、分割の次のレベルを最適化する、
請求項17に記載のシステム。
【請求項20】
前記プロセッサがさらに、最適化された需要モデルに基づいて、前記小売品目についての最適化された値下げ価格を生成する、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
ある実施形態は、概括的にはコンピュータ・システムに関し、より詳細には需要を予測するコンピュータ・システムに関する。
【背景技術】
【0002】
製品は、典型的には、製造業者、流通業者、輸送業者、小売業者などのネットワークを通じて消費者に配送される。製品を消費者に一緒に配送するそのような施設のネットワークは、一般に「サプライチェーン」ネットワークと呼ばれる。
【0003】
製品の供給者(たとえば、製造業者、ベンダー、小売業者など)は、しばしば、絶えず変化する市場条件の存在下で、サプライチェーン・ネットワークを通じて製品の円滑で効率的な流れを提供するために、製品/品目の需要を予測するタスクに直面する。需要を過大評価することは、過剰生産、および在庫を保持することに関連するコストの増加(たとえば、保管コスト、陳腐化など)をもたらす可能性がある。一方、需要を過小評価することは、収益の損失をもたらす可能性がある。
【0004】
さらに、小売業界では、小売業者は、在庫またはプロモーション/値下げ計画をよりよく管理するために、将来の需要を予測する必要がある。小売業者は、販売を促進するために多くのタイプのプロモーションに従事することがある。正確な予測を生成するために、小売業者は、プロモーション、価格、季節、天候などの、需要に影響を与える可能性のあるすべての要因/特徴〔フィーチャー〕を考慮しなければならない。
【0005】
一般に、需要予測システムは、小売品目の販売単位の週ごとの予測を生成する際に問題に直面する。所与の週における小売品目の需要は、季節的要因、その週の間に割引が小売品目に適用されたかどうか、およびその週が商品のライフサイクルのどの時点に該当するかなど、多くの要因によって影響を受ける。週単位の需要単位を予測するための1つの一般的なアプローチは、小売品目の「因果的需要モデル」を構築することに関わる。この需要モデルは、上記に列挙したような要因に関して、週ごとの需要単位を記述する数学的モデルである。これらの要因は、需要モデルを形成する「需要変数」または「需要特徴」として知られている。
【0006】
需要モデルは、需要変数がどのように需要単位に影響を及ぼすかを数学的に指定する。たとえば、割引の量が需要変数である場合、履歴データは、50%の値下げが販売単位の4倍の増加をもたらした(すなわち、価格弾力性に関連する)ことを示すことがありうる。この例では、需要変数は50%の値下げであり、履歴販売データは販売の4倍の増加である。履歴販売単位は、履歴期間中に在庫切れの週がなかったとした場合の需要を示す。典型的には、履歴販売データは、検閲されたデータを訂正するために、すなわち、在庫が不十分であった週についての販売単位を調整するために、前処理される。因果需要モデルが需要単位を予測する際に有用であるためには、需要変数(50%の値下げ)と履歴販売単位(4倍の増加)との関係を決定することが必要である。この関係は、需要変数に関連する「需要パラメータ」と呼ばれる。
【0007】
この例では、需要パラメータは、25%の価格低下ごとに、特定の小売品目の需要が2倍増加することを指定するように決定されてもよい。決定された需要パラメータを用いて、需要変数の将来の値を指定することによって需要単位を予測することが可能である。価格削減の例を続けると、小売業者は、次のシーズンに数週間の間に40%の価格削減を実行することを知ることができる。すると、需要モデルは、40%の価格削減を考慮して、これらの週についての需要単位を予測する。
【0008】
需要パラメータは、小売品目自体または類似の小売品目の値下げを含む履歴小売販売データ(「小売パネル・データ」として知られる)を調べることによって決定される。しかしながら、上述したように、いくつかの需要変数が小売品目の販売に影響を及ぼす。これらいくつかの需要変数は同時に適用される。たとえば、小売業者は、夏の品目について、夏の間に50%の値下げを行った可能性があり、その場合、売上の4倍の増加は、部分的には、夏の間の夏の小売品目に対する季節的な需要の増加によるものである可能性がある。販売に対するいくつかの需要変数の影響を分離するために、需要モデルに対して回帰が実行され、需要モデルを小売パネル・データに最も適合させる需要パラメータの値を決定することができる。
【発明の概要】
【課題を解決するための手段】
【0009】
実施形態は、小売品目についての最適化された需要モデルを生成する。実施形態は、複数のツリーを含むツリー・アンサンブル機械学習モデルをトレーニングし、トレーニングは、ツリーのそれぞれについての上限(upper bound)を記憶することを含み、ツリーは、当該品目についての需要に影響する需要特徴に対応するレベルおよびブランチを含む。実施形態は、需要モデルのための目的関数を生成する。各ツリーのトップ分割において、実施形態は、格納された上限を使用して最適な子ノードを決定し、各ツリーについて新しい実現可能領域を計算する。新しい実現可能領域上の限界値(bound)を使用して、実施形態は、各ツリーを分割の次の下のレベルに進め、すべてのツリーのリーフ・ノードが到達済みとなったときに、最適化された需要モデルを生成する。
【図面の簡単な説明】
【0010】
さらなる実施形態、詳細、利点、および修正は、添付の図面と併せて解釈されるべきである、実施形態の以下の詳細な説明から明らかになるであろう。
【0011】
図1】本発明のある実施形態によるコンピュータ・サーバー/システムのブロック図である。
【0012】
図2】ある実施形態による、需要モデルのための最適化されたツリー・アンサンブルを生成するときの図1の需要モデル生成の機能の流れ図である。
【0013】
図3】実施形態に従って図2の機能をさらに説明するために、3つの例示的なツリーおよび対応する表記を示す。
【0014】
図4図3の表記を用いて図2の機能を示す。
【0015】
図5】ある実施形態による、需要モデルのための最適化されたツリー・アンサンブルを生成するときの図1の需要モデル生成の機能の流れ図である。
【0016】
図6図3の表記に用いて図5の機能を示す。
【0017】
図7】本発明の実施形態による、4ツリー・アンサンブルについての図2の機能の結果の一例を示す。
【0018】
図8】ある実施形態による、品目のセットについての価格スケジュールを生成するコンピュータ化されたシステムを示す。
【0019】
図9】ある実施形態による、トレーニングされた最適化ツリー・アンサンブルを使用して小売品目についての需要モデルを生成するときの図1の需要モデル生成の機能の流れ図である。
【0020】
図10】ある実施形態による、本明細書に開示されるような最適化された需要モデルを使用する需要予測を含む、統合された製造、在庫、および物流システムを示す。
【発明を実施するための形態】
【0021】
ある実施形態は、製品の需要に影響を及ぼす特徴を使用してツリー・アンサンブル・ベースの需要モデルを生成する。諸実施形態は、ツリーのそれぞれが構築されつつある間に上限を決定し、記憶することによってツリー・アンサンブルを最適化する。最適化されたツリー・アンサンブルは、製品の価格設定および在庫を最適化するために使用できる需要モデルを形成する。
【0022】
需要予測を改善するために、小売業者は、サポートベクターマシン(「SVM」)、人工ニューラルネットワーク(「ANN」)、ランダムフォレストなどの現代の機械学習技術に移行し始めている。しかしながら、典型的には、小売業者は、製品の各カテゴリーおよび位置の集合について1つのモデルを選ぶだけである。本明細書で使用されるところでは、小売業者は、単一の小売店を含むことができ、または、単一または複数の物流業務によってすべて統合され、管理される大量の小売店を含むことができる。
【0023】
さらに、多くの機械学習アルゴリズム(SVM、ANN、ランダムフォレストなど)について、小売業者は、特徴集合(すなわち、品目のさまざまな属性)を使用して、製品/位置/カレンダーの交わりにおけるデータ点を定義する。これらのアルゴリズムでは、小売業者は、予測のために行うのと同じ特徴集合を用いてモデルをトレーニングする。さらに、同じ特徴集合が、予測のためのいくつかの異なるアルゴリズムによって使用されうる。「特徴集合〔フィーチャー・セット〕」は、品目の需要または販売に影響を与え、品目の属性を記述する特徴の集合である。特徴の例は、価格、季節性、ブランド、プロモーション、サイズ、色、パック・サイズ、供給業者、長さなどを含む。価格および季節性などの特徴は、すべてのタイプの製品に関連する可能性があるが、他のいくつかは、品目特有である。たとえば、パック・サイズはヨーグルトの需要に影響を与えるが、パックの長さは重要ではない。逆に、ブランドはファッション品目にとって非常に重要であるが、釘や金槌などの金物品目にとってはそれほど重要ではない。
【0024】
実施形態は、一般に、需要予測のために以下の需要モデルまたは関数(「式(1)」)を利用する:
需要=基本需要×季節性×宣伝効果(×追加的な特徴効果) (1)
「基本需要」はいかなる影響または他の要因も考慮に入れない履歴需要である一方、季節性は、季節(すなわち、1年のうちの時期)に基づく需要に対する影響であり、宣伝効果は、ある期間中に提供される一つまたは複数のプロモーションに基づく需要に対する効果である。需要に影響を与える任意のまたはすべての追加的な特徴/変数が、適宜モデルに追加できる。しかしながら、特徴の数は、いくつかの状況では100を超えることがある。
【0025】
具体的には、小売業界は過去数十年にわたって進化してきたので、オンライン販売はオンライン小売業者の収益性の非常に重要な側面になっている。これにより、小売業者は、製品およびそのそれぞれの販売に関するだけでなく、製品を購入する顧客に関する大量のデータにアクセスすることが可能になった。結果として、小売業者は、小売業者の収益または利益を最大化する、よりインテリジェントな仕方で、次の四半期またはシーズンにわたって在庫を調達するかまたは価格を設定する(たとえば、プロモーションおよび値下げを決定する)ために、このデータ(たとえば、販売に関連する多数の特徴)を使用することを好む。小売業者にとっての2つの重要な課題は、需要予測のための正確で、スケーラブルで、解釈可能な方法を開発するために、このデータをどのように活用するかだけでなく、これらの方法をどのようにして価格設定または在庫最適化問題に統合するかである。
【0026】
ツールの機械学習および可用性における最近の進歩は、プロセスの第1の段階、すなわち、多数の特徴を組み込むことによる、精度を向上させながらの、データと需要(および/または販売)との間の洗練された関係の推定を可能にしている。特徴は、需要を予測するのに役立つだけでなく、意思決定を運用可能にするのにも役立つので、二重の役割を果たす。大きな特徴集合を有することは、需要予測の精度を高めるのに役立つ可能性があるが、大きな特徴集合を使用することは、その後の最適化問題(たとえば、価格決定)を扱えないものにする。
【0027】
需要予測の分野では、小売業者のためのソリューションは、線形回帰、対数‐対数回帰、および対数‐線形回帰などの、より伝統的なモデルよりも、回帰ツリー、ランダムフォレスト、分類、およびニューラルネットワークなどの機械学習モデルをますます使用する。しかしながら、プロモーションや値下げ価格設定などの小売店の最適化問題のためにこれらの需要モデルを利用することは、依然として困難である。たとえば、機械学習モデルは、典型的には、高次元であり、その結果、現在知られている最適ツールでは最適化困難な非パラメトリックな目的関数を生じさせる。さらに、これらは高次元であるため、混合整数線形計画法(mixed-integer linear programming、「MILP」)を使用する制約条件付き決定問題は、しばしば、計算上、扱える問題ではない。対照的に、実施形態は、これらの問題を解くための実現可能な近似方法を提供する。
【0028】
ここで、本開示の実施形態を詳細に参照する。その例が添付の図面に示されている。以下の詳細な説明では、本開示の十全な理解を提供するために、多数の個別的詳細が記載される。しかしながら、本開示がこれらの個別的詳細なしに実施されうることは、当業者には明らかであろう。他方、実施形態の諸側面を不必要に埋没させないように、周知の方法、手順、コンポーネント、および回路は詳細には説明されていない。可能な限り、同様の参照番号は同様の要素のために使用される。
【0029】
図1は、本発明のある実施形態によるコンピュータ・サーバー/システム10のブロック図である。単一のシステムとして示されているが、システム10の機能は分散システムとして実装されてもよい。さらに、本明細書に開示された機能は、ネットワークを通じて一緒に結合されうる別個のサーバーまたはデバイス上で実装されてもよい。さらに、システム10の一つまたは複数の構成要素が含まれなくてもよい。たとえば、サーバーの機能のために、システム10は、プロセッサおよびメモリを含む必要がありうるが、キーボードまたはディスプレイのような図1に示される他の構成要素のうちの一つまたは複数を含まない場合がある。図1は、本明細書に開示される構成要素のいずれかを実装するために使用されうる。
【0030】
システム10は、情報を通信するためのバス12または他の通信機構と、情報を処理するための、バス12に結合されたプロセッサ22とを含む。プロセッサ22は、任意のタイプの汎用または専用プロセッサであってもよい。システム10は、プロセッサ22によって実行される情報および命令を記憶するためのメモリ14をさらに含む。メモリ14は、ランダムアクセスメモリ(「RAM」)、読み出し専用メモリ(「ROM」)、磁気もしくは光学ディスクなどの静的記憶装置、または任意の他のタイプのコンピュータ可読媒体の任意の組み合わせから構成されうる。システム10は、ネットワークへのアクセスを提供するために、ネットワークインターフェースカードなどの通信デバイス20をさらに含む。したがって、ユーザーは、システム10と直接、またはネットワークを通じてリモートに、または任意の他の方法でインターフェースしうる。
【0031】
コンピュータ可読媒体は、プロセッサ22によってアクセスされうる任意の利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方、ならびに通信媒体を含む。通信媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他のトランスポート機構などの変調されたデータ信号内の他のデータを含むことができ、任意の情報送達媒体を含む。
【0032】
プロセッサ22は、バス12を介して、液晶ディスプレイ(「LCD」)などのディスプレイ24にさらに結合される。キーボード26およびコンピュータマウスのようなカーソル制御装置28がさらにバス12に結合され、ユーザーがシステム10とインターフェースすることを可能にする。
【0033】
ある実施形態では、メモリ14は、プロセッサ22によって実行されると機能を提供するソフトウェアモジュールを記憶する。モジュールは、システム10にオペレーティングシステム機能を提供するオペレーティングシステム15を含む。モジュールは、最適化されたツリー・アンサンブル・ベースの需要モデルを生成する需要モデル生成モジュール16と、本明細書に開示される他のすべての機能とをさらに含む。システム10は、より大きなシステムの一部であってもよい。したがって、システム10は、小売管理システム(たとえば、オラクル社の「オラクル小売需要予測システム(Oracle Retail Demand Forecasting System)」または「オラクル小売科学プラットフォーム(Oracle Retail Science Platform)」)または企業資源計画(enterprise resource planning、「ERP」)システムなどの追加的な機能を含むために、一つまたは複数の追加的な機能モジュール18を含むことができる。追加的な機能モジュール18は、最適化されたプロモーションおよび値下げ価格設定または在庫最適化を生成するために前記需要モデルを使用する機能など、需要モデル生成16によって生成された需要モデルを実施する追加的な機能を含む。追加的な機能は、「オラクル小売オファー最適化クラウドサービス(Oracle Retail Offer Optimization Cloud Service)」および「オラクル小売在庫最適化クラウドサービス(Oracle Retail Inventory Optimization Cloud Service)」を含みうる。
【0034】
データベース17は、バス12に結合され、モジュール16および18のための中央集中された記憶を提供し、顧客データ、製品データ、取引データ等を記憶する。ある実施形態では、データベース17は、記憶されたデータを管理するために構造化クエリー言語(「SQL」)を使用することができるリレーショナルデータベース管理システム(「RDBMS」)である。ある実施形態では、特化したポイントオブセール(「POS」)端末99が、需要を予測するために使用される取引データおよび履歴販売データ(たとえば、各小売店における各品目/SKUの取引に関するデータ)を生成する。POS端末99自体は、ある実施形態に従って需要モデルを生成するための追加的な処理機能を含むことができ、それ自体で、または図1の他のコンポーネントとの関連で、特化した需要モデル生成システムとして動作することができる。
【0035】
ある実施形態では、特に多数の小売店、多数の品目、および大量の履歴データがある場合、データベース17は、メモリ内データベース(「IMDB」)として実装される。IMDBは、コンピュータデータ記憶のために主としてメインメモリに頼るデータベース管理システムである。これは、ディスク記憶機構を用いるデータベース管理システムとは対照的である。ディスクアクセスはメモリアクセスよりも遅いので、メインメモリデータベースはディスク最適化されたデータベースより高速であり、内部の最適アルゴリズムはより単純であり、より少数のCPU命令を実行する。メモリ内のデータにアクセスすることは、データを問い合わせるときのシークタイムをなくし、ディスクよりも高速で、より予見可能なパフォーマンスを提供する。
【0036】
ある実施形態では、データベース17は、IMDBとして実装されるとき、分散データグリッドに基づいて実装される。分散データグリッドは、コンピュータ・サーバーの集合体が一つまたは複数のクラスターにおいて一緒に動作して、分散されたまたはクラスタリングされた環境内で情報および関連動作、たとえば計算を管理するシステムである。分散データグリッドは、サーバーをまたいで共有されるアプリケーション・オブジェクトおよびデータを管理するために使用できる。分散データグリッドは、低レスポンスタイム、高スループット、予見可能なスケーラビリティ、連続的な可用性、および情報信頼性を提供する。特定の例では、たとえばオラクル社からの「オラクルコヒーレンス(Oracle Coherence)」データグリッドなどの分散データグリッドは、より高い性能を達成するために情報をメモリ内に記憶し、その情報のコピーを複数のサーバーにわたって同期させておことにおいて冗長性を用い、よって、システムの弾力性およびサーバーの故障の場合のデータの継続した可用性を保証する。
【0037】
ある実施形態では、システム10は、企業組織のためのアプリケーションまたは分散アプリケーションの集合体を含むコンピューティング/データ処理システムであり、物流、製造、および在庫管理機能を実装することもできる。アプリケーションおよびコンピューティングシステム10は、クラウドベースのネットワーキングシステム、サービスとしてのソフトウェア(「SaaS」)アーキテクチャー、または他のタイプのコンピューティングソリューションと一緒に動作するように構成されてもよく、またはそれらとして実装されてもよい。
【0038】
論じたように、諸実施形態は、「ツリー・アンサンブル」と称される機械学習(「ML」)モデルのクラスを組み込む需要モデルを実装する。回帰ツリーのために使用できる既知の近似最適化アルゴリズムは、「単純な」回帰ツリーについてはうまく機能するが、ツリー・アンサンブルが使用される場合には、一般に不十分である。目的関数が、分類および回帰ツリー(Classification and Regression Trees、「CART」)およびランダムフォレストなどのツリー・アンサンブル法に由来する場合の最適化問題は、問題の高次元性およびそのツリー(またはフォレスト)からの実現可能な決定が何でありうるかに関する関連する制約条件のために、非自明な問題である。さらに、ランダムフォレストはそれ自体が組み合わせ問題であるという事実から、重要な困難が生じる。(特殊な構造を有する)いくつかの組み合わせ問題は、混合整数線形計画法(「MILP」)のパワーを活用することができる。
【0039】
実施形態は、小売業界における上記のML方法と、価格設定および在庫などの最適化問題のための開発中の方法との間のギャップを埋める。これらのML機能はパラメトリックではないので、スケーラブルで効率的な仕方でどのように最適化するかという問題は困難である。一般に、小売業界における既知の最適化ソリューションは、MLモデルを活用することができない。
【0040】
実施形態は、ランダムフォレストまたはXGBoostを含むツリー・ベースのMLモデルを実装する需要モデルのための上限最適化を実装する。アンサンブル方法を使用して特定の小売製品についての需要モデルを形成する際に、多数のツリーが構築され、それぞれがデータのサブセット(この場合、履歴販売高のサブセット)でトレーニングされる。これは、回帰ツリーがトレーニングセットに過剰適合する傾向を緩和する助けとなる。個々のツリーのそれぞれには、異なる需要特徴に対応する多くのブランチおよびレベルがある。強力な予測モデルは、しばしば、数千のツリーと、各ツリー内の数百のブランチとを含み、大きなツリー・アンサンブルを形成するので、ツリー・アンサンブルにわたる最適化は困難である。したがって、実施形態は、各ツリーが構築されつつあるときに実施されるボックス法(ツリー・アンサンブル機械学習が平行分割を有するとき)または超平面法(ツリー・アンサンブル機械学習が超平面分割を有するとき)のいずれかを使用して、上限最適化を組み込む。
【0041】
実施形態は、まず、ランダムフォレストまたはXGBoostのようなMLモデルを使用して需要モデルを形成する。目標変数(すなわち、モデルが予測するように設計される変数)は、ある実施形態では、ある位置および週における品目の需要である。含まれる特徴は、製品属性、価格、季節データ、休日情報、国勢調査データ、天候、株価、在庫情報などであってもよい。ランダムフォレストまたはXGBoostなどのMLモデルは、特徴と従属変数との間の複雑な非線形関係をモデル化することができるため、また、解釈可能性および伝統的に使用されているモデルよりも高い予測精度を提供するため、小売品目予測モデルについて頻繁に使用される。
【0042】
一般に、需要モデルが形成された後、既知の諸最適化アルゴリズムが逐次的に実行される。しかしながら、これらの既知のアプローチは、ランダムフォレストまたはXGBoost等の非パラメトリックなMLモデルでは機能しない。なぜなら、最適解を割り出すためにすべての可能な解を生成するには、指数関数的な時間量を要するからである。たとえば、品目の需要を予測する3つの特徴を有する二分決定木を考える。すべてのノードにおいて、2つの可能な結果、すなわち、「はい」および「いいえ」がある、行うべき決定(たとえば、品目が割引を有するかどうか)がある。ひとたびツリー内のそのノードが下にたどられると、次のノードにおいて、2つの結果がある、行うべき別の決定(たとえば、品目が特設ディスプレイ上にあるか)がある。これは、ツリーの「リーフ・ノード」と呼ばれるツリーの底部に達するまで続く。3つの特徴を有する例では、8つのリーフ・ノードがある。一般化すると、n個の特徴を有する二分木については、最大で2n個のリーフ・ノードがある。ツリー・アンサンブルでは、予測を行うために一緒に使用されるいくつかのツリー(たとえば、m個のツリー)がある。リーフ・ノードの数が指数関数的に増加するにつれて、すべてのツリーをたどってペイオフを評価することによって、価格設定決定の影響がどうなるかを予測することは、実際上、不可能である。
【0043】
需要モデルが形成された後に最適化を試みる既知のソリューションとは対照的に、実施形態は、ツリー構築/トレーニング・プロセスを活用し、ツリーが予測目的のために構築/トレーニングされつつある間に上限を記憶する。実施形態は、アンサンブル・ツリーの予測、または予測に基づく関数のいずれかを最大化/最小化する変数の集合についての最適領域を見出すことによって最適化する。
【0044】
実施形態は、ビジネス制約条件を組み込むことができ、他の凸最適化定式化(たとえば、二次計画法、二値計画法、およびラグランジュ緩和法)と比較して、うまくスケーリングする。実施形態は、ツリーの構築プロセス(すなわち、トレーニング)を活用して、「上限(upper bound[アッパー・バウンド])」最適化と呼ばれる、ツリー分割のいずれかの側で最良ペイオフはどんなものでありうるかに関する情報を記憶する。この情報は、分割のデータに基づいて作成され、記憶され、ツリーの深さ全体を探索する必要がなく、逐次反復的な3ステップのアルゴリズムにおいて迅速に最適化するために使用される。
【0045】
図2は、ある実施形態による、需要モデルのための最適化されたツリー・アンサンブルを生成するときの、図1の需要モデル生成16の機能の流れ図である。ある実施形態では、図2(ならびに以下の図5および図9)の流れ図の機能は、メモリまたは他のコンピュータ可読媒体もしくは有形媒体に記憶されたソフトウェアによって実装され、プロセッサによって実行される。他の実施形態では、機能は、ハードウェアによって(たとえば、特定用途向け集積回路(「ASIC」)、プログラマブルゲートアレイ(「PGA」)、フィールドプログラマブルゲートアレイ(「FPGA」)等の使用を通して)、またはハードウェアおよびソフトウェアの任意の組み合わせによって実行されてもよい。
【0046】
図2の機能は、ツリー・アンサンブル機械学習が並列分割を有する場合にボックス法を使用する上限最適化である。図2の機能は、小売製品についての価格または在庫レベルを使用する需要モデルなどの目的関数を最適化するときに適用される。図2の機能は、需要予測モデルを生成し、そのモデルに対して(たとえば価格または在庫を)最適化する(すなわち、生成されたモデルの予測によって需要単位が与えられるという仮定の下で価格/在庫を最適化する)。
【0047】
202において、各ツリーを構築/トレーニングするとき、分割のいずれかの側からの上限(すなわち、最良の期待されるペイオフ)が記憶される。
【0048】
204において、各ツリーのトップ分割が考慮される。
【0049】
206において、最大数のツリーがそれに基づいて分割される特徴が選択される。
【0050】
208において、206からの特徴は、202からの記憶された上限を使用して最適化される。これは、上限およびツリー分割基準によって最適と考えられるものに基づいて、特徴の実現可能領域をサブセット化する(subsetting)ことによって行われる。
【0051】
210において、208からの最適化された特徴の上限/下限(upper/lower bounds)が保存される。
【0052】
212において、ツリーは、限界値(bounds)を使用して下の次のリーフに進まされる。
【0053】
214において、すべてのツリーのリーフに到達したかどうかが判定される。もしそうであれば、216で最適化は完了する。そうでない場合、次のノードの機能は206に進む。
【0054】
図3は、諸実施形態による、図2の機能をさらに説明するための、3つの例示的なツリー301~303および対応する表記を示す。図3の表記は以下の通りである。
(at i)Tx≦bt iは、ツリーtにおけるノードiにおける分割決定である
St iは、ツリーtにおけるリーフ・ノードiにおけるペイオフである
qt i,Li、qt i,Riは、ノードiの左(left)または右(right)の子に進む二分決定である
Ltは、リーフ・ノードの集合である。
【0055】
図4は、図3の表記を用いて図2の機能を示す。401は、図2の206に対応する。402は、図2の208に対応する。403は、図2の210に対応する。
【0056】
図5は、ある実施形態による、需要モデルのための最適化されたツリー・アンサンブルを生成するときの、図1の需要モデル生成16の機能の流れ図である。図5の機能は、ツリー・アンサンブル機械学習が超平面分割を有するときに超平面法を使用する上限最適化である。図5の機能は、小売製品についての需要モデルなどの目的関数を最適化するときに適用される。
【0057】
502において、各ツリーを構築/トレーニングするとき、分割のいずれかの側からの上限(すなわち、最良の期待されるペイオフ)が記憶される。
【0058】
504において、各ツリーのトップ分割が考慮される。
【0059】
506において、502からの記憶された上限を使用して、各ツリーについての最適な子ノードを見つけるために、分割が最適化される。
【0060】
508において、各ツリーの子ノードによって決定された最適領域と楕円体近似とに基づいて、新しい実現可能領域が計算される。
【0061】
510において、ツリーは、508の実現可能領域上の限界値を使用して下に進まされる。
【0062】
512において、ツリーの各リーフが考慮されたかどうかが判定される。もしそうであれば、514で最適化は完了する。そうでなければ、次のリーフのための機能は506に続く。
【0063】
図6は、図3の表記を用いて図5の機能を示す。601は、図5の504、510、512に対応する。602は、図5の506に対応する。603は、図5の508に対応する。
【0064】
図7は、本発明の実施形態による4ツリー・アンサンブルについての図2の機能の結果の一例を示す。図7の例は、生理化学的試験に基づいてワイン品質を予測することを目的として、北ポルトガルからサンプリングされたワインから作成されたワイン・データセットを利用した。データセットは、12の特徴および4,898のデータ点を含んでいた。目標変数(すなわち、ツリー・アンサンブルによって生成される予測)は、ワイン品質を予測する3~8の整数である。部分的な特徴リストは、アルコール(Alcohol)含有率、硫酸塩(Sulphate)レベル、揮発性酸量(Volatile Acidity)、およびpHを含む。
【0065】
図7は、4つのツリーのフォレスト上の最適化の例を示す。典型的には200~500個のツリーがあるので、図7の例は簡略化された見本である。ボックス701~704は、最適化によって見出された解をハイライトする。諸実施形態に従った最適化によって見出された解は、ハイライトされた部分711~714に示される真の最適に近いことがわかる。大スケール(たとえば、200~500ツリー)では、特徴のどの値が最適解につながるかを解明することはほとんど不可能である。対照的に、諸実施形態は、図7の4つのツリー上での見つかった解によって示されるように、最適に近い解を生成する。
【0066】
図2の機能の結果として、生成される限界値は以下を含む。
・揮発酸量(Volatile Acidity)≦0.363
・11.55≦アルコール(Alcohol)
・0.645≦硫酸塩(Sulphates)
・0.995≦密度(Density)
・固定酸量(Fixed Acidity)≦8.85
したがって、図7の4つのツリーによれば、他の7つの特徴は、ワインの品質に関して問題にならない。諸実施形態は、予測モデルにおいて使用される特徴に対する限界値を生成するだけである。モデルによれば、これらの限界値内の任意の点は、高いワイン品質を有することになり、よって、ワイン供給者/提供者は、適切に選択を行うことができる。同様の分析が、商品販売が予測されるときに小売について実行され、よって、品目の需要/販売を予測するのを助ける特徴についてのみ限界値が生成される。
【0067】
開示されるように、諸実施形態において、上記の機能(すなわち、図2および図5)を使用して生成された需要モデルは、小売品目の最適化された価格設定、または小売品目の最適化された在庫レベルを決定するために使用され、非パラメトリックMLモデルを必要とする他の用途にも使用できる。
【0068】
価格最適化
ある実施形態では、需要モデル生成16によって生成された最適化されたツリー・アンサンブル需要モデルは、価格最適化システムにおいて実装される。図8は、諸実施形態による、最適化されたツリー・アンサンブル需要モデルを使用する例示的な価格最適化システムを示す。図8は、ある実施形態による、品目の集合についての価格スケジュールを生成するコンピュータ化されたシステム100を示す。価格スケジュールは、たとえば、本明細書に記載されるような情報についてのデータ値および/またはレコードを含む、メモリに記憶されたデータ構造である。システム100は、以下に開示されるさまざまな動作を実行するようにプロセッサを制御する価格スケジュール論理110を含む。ある実施形態では、価格スケジュール論理110は、非一時的なコンピュータ記憶媒体に記憶されたモジュールにおいて具現されたコンピュータ命令として実装され、命令は、コンピューティング・デバイスの少なくともプロセッサによって実行されたときに本明細書に記載された機能を実行するように構成された実行可能アルゴリズムとして構成される。
【0069】
価格スケジュール論理110は、ネットワークまたはインターネット接続を通じた電子通信によって、小売業者のコンピューティング・デバイスと対話する。「小売業者」または「要求デバイス」という用語は、販売のための品目の価格を決定し、小売業者によって販売される品目についての価格スケジュールをシステム100に要求する小売業者の制御下にあるコンピューティング・デバイスを含むことが意図されている。価格スケジュール論理110は、品目についての価格データ、品目についての在庫データ、品目についてのセグメント毎の需要モデル、および選択された目的関数を通信する小売業者のリモート・コンピューティング・デバイスからの電子通信を受信するように構成される。
【0070】
価格データは、各品目について考慮されるべき価格の集合を定義する。価格の集合は、品目についての通常価格、プロモーション価格、および値下げ価格を含む。ある実施形態では、プロモーション価格および値下げ価格は、プロモーションおよび値下げシーズンにおける計算を簡単にするために、2つの集合に分けられ、そのどちらも品目についての通常価格を含まない。価格の集合は、品目についての「価格ラダー」と呼ばれることがある。ある実施形態では、各品目についてのコスト・データも、利益を計算する際に使用するために、価格スケジュール論理110によって入力される。
【0071】
在庫データは、「在庫量」を含み、これは、この説明の目的のためには、通常シーズンの始めに手元にある品目の初期在庫量と、任意的に、通常シーズンの間に在庫を補充するための当該品目の予定された出荷とを含む。品目の集合についての価格および在庫データを入力または受信するために、価格スケジュール論理110は、そのようなデータ(たとえば、価格ラダーおよび在庫および補充量をエンコードする電子レコード)を記憶しているデータベースに問い合わせてもよい。
【0072】
セグメント毎の需要モデルは、小売業者によって提供されてもよく、またはさもなくば、価格スケジュール論理110にとってアクセス可能であってもよく、需要モデル生成モジュール16を使用して決定される。ある実施形態では、セグメントごとの需要モデルは、ランダムフォレストまたはXGBoostなどの非パラメトリック・ツリー・ベースのMLモデルである。ある実施形態では、セグメントごとの需要モデルは、プロセッサによって実行されると、品目の価格と、弾力性、プロモーション疲れ、季節性などの他の要因とに基づいて品目についての需要を計算する、記憶された命令の集合である。セグメントごとの需要モデルは、異なる顧客セグメントについて異なる需要パラメータ値を含む。セグメントごとの需要モデルの一例を以下に詳細に説明するが、異なる顧客セグメント間を区別しない需要モデルを含む任意の需要モデルが諸実施形態において使用できることを理解されたい。ある実施形態では、小売業者は、自身の販売履歴および経験に基づいて需要パラメータについての値を供給する。他の実施形態では、価格スケジュール論理110は、セグメントごとの需要モデルを記憶し、維持するか、または、異なるソースからセグメントごとの需要モデルおよびパラメータ値を取得する。
【0073】
目的関数は、小売業者が最大化しようとする販売関連量を定義し、需要モデルの目標変数と考えることができる。例示的な目的関数は、利益および歳入を含む。
【0074】
価格論理110は、プロモーション部分と値下げ部分とを含む価格スケジュールを生成するように構成される。価格スケジュールは、品目に対して、品目についての通常シーズン中およびクリアランスシーズン中のそれぞれの期間(たとえば、数週間または数日間)についての価格の前記集合から選択された一連の価格を割り当てる。品目についての価格スケジュールは、各顧客セグメントについて生成される。「単身者」顧客セグメントおよび「母親」顧客セグメントについての例示的な価格スケジュールを図8に示す。価格スケジュールの「通常/プロモーション」部分の期間中は、2つの顧客セグメントについて価格スケジュールが異なるが、価格スケジュールの「クリアランス/値下げ」部分の期間中は、2つの顧客セグメントについて価格スケジュールが同じであることがわかる。価格スケジュール論理110は、ネットワーク接続によって、品目の価格設定に使用するために価格スケジュールを小売業者に送信するように構成される。
【0075】
プロモーションおよび値下げスケジュールの問題は、顧客セグメントを考慮に入れるときには、比例して増大する。セグメントごとのプロモーションおよび値下げスケジューリングを実行することに対する課題の1つは、異なる顧客セグメントが同じ在庫を共有することである。別の課題は、ターゲットとされるマーケティングによってセグメントごとのプロモーション価格設定を達成することができる一方で、値下げ方針は、典型的には、すべての顧客セグメントにわたって同じであることである。価格スケジュール論理110は、価格スケジュールのプロモーション部分および値下げ部分を生成するために、マルチフェーズ・プロセスを使用してこれらの課題に対処するように一緒に協働する、割り当て論理120、プロモーション論理130、および値下げ論理140を含む。
【0076】
割り当て論理120は、目的関数に対する各顧客セグメントの予測される寄与に少なくとも基づいて、複数の顧客セグメントの間で在庫量(たとえば、初期在庫、および任意的には補充量)を割り当てるように構成される。各顧客セグメントについてプロモーション価格決定を実行する前に各顧客セグメントに在庫を割り当てることによって、顧客セグメント間のリンクが破られ、価格スケジュールのプロモーション部分および値下げ部分を生成するプロセスが大幅に簡略化される。
【0077】
たとえば、財布は、独身女性、母親および退職者という3つの異なる顧客セグメントに販売されうる。セグメントごとの需要モデルは、各セグメントについて異なる需要パラメータ値を含むことによって、これらの異なるタイプの顧客の特定の挙動を指定する。割り当て論理120は、目的関数に対する各顧客セグメントの寄与を予測するように構成される。ある実施形態では、セグメントごとの需要モデルに基づいて、割り当て論理120は、(1)すべての在庫量が独身女性セグメントに割り当てられるとき、1200.00ドルの歳入(すなわち、目的関数)が生成されるであろうこと、(2)在庫量のすべてが母親に割り当てられるとき、1000.00ドルの歳入が生成されるであろうこと、および(3)在庫量のすべてが退職者に割り当てられるとき、300.00ドルの歳入が生成されるであろうことを決定することができる。割り当て論理120は、この予測された寄与に基づいて、在庫量を異なる顧客セグメントに割り当てる(たとえば、在庫量の1200/(1200+1000+300)または48%が、独身女性顧客セグメントに割り当てられる、など)。他の実施形態では、目的関数に対する各顧客セグメントの寄与を予測する他の方法が使用される。
【0078】
プロモーション論理130は、価格スケジュールのプロモーション部分を決定するように構成される。顧客セグメントごとに、顧客セグメントに割り当てられた在庫の量に基づいて、プロモーション論理130は、目的関数を最大にする価格スケジュールのプロモーション部分を決定するように構成される。プロモーション部分は、品目についての通常シーズン中のそれぞれの期間についての価格の前記集合から選択された一連の価格を品目に割り当てる。
【0079】
値下げ論理140は、通常シーズンの終わりに各顧客セグメントにおける残りの在庫の量を集計するように構成される。値下げ論理140は、少なくとも集計された在庫に基づいて、目的関数を最大化する当該品目についての価格スケジュールの値下げ部分を決定するように構成される。値下げ部分は、品目についてのクリアランスシーズン中のそれぞれの期間について、価格の前記集合から選択された一連の価格を品目に割り当てる。価格論理110は、各顧客セグメントについてのプロモーション部分および値下げ部分を組み合わせて、顧客セグメントについての価格スケジュールを作成する。
【0080】
ある実施形態では、システム100は、企業組織のためのアプリケーションまたは分散アプリケーションの集合体を含むコンピューティング/データ処理システムであり、図1のシステム10によって実装されうる。アプリケーションおよびコンピューティングシステム100は、クラウドベースのネットワーキングシステム、「サービスとしてのソフトウェア」(「SaaS」)アーキテクチャー、または他のタイプのネットワーク化されたコンピューティングソリューションと一緒に動作するように構成されてもよく、またはそれらとして実装されてもよい。ある実施形態において、価格スケジュール論理110は、少なくとも本明細書に開示される機能を提供し、コンピュータネットワークを通じて(サーバーとして機能する)コンピューティングシステム100と通信するコンピューティング・デバイス/端末を介して多くのユーザーによってアクセスされる中央集中型のサーバー側アプリケーションである。システム100のさらなる詳細は、米国特許出願第16/380,185号に開示されており、その詳細は、参照により本明細書に組み込まれる。
【0081】
在庫最適化
ある実施形態では、需要モデル生成16によって生成された最適化されたツリー・アンサンブル需要モデルは、在庫管理最適化システムにおいて実装される。需要モデルを使用する任意の既知の在庫最適化システムは、実施形態に従って最適化されたツリー・アンサンブル需要モデルを実装することによって使用されうる。一般に、在庫最適化は、品揃えにおける各製品についての2つの質問、すなわち、いつ注文を出すか、および、どれだけ注文するかに関わる。在庫管理の最も広く使用されているモデルは、s/Sポリシーである。そのようなモデルでは、在庫は定期的に見直され、在庫ポジションが「s」を下回ると、在庫レベルを「S」に上げるように注文が出される。sおよびSの値が大きいほど、欠品および期待される歳入喪失のリスクは低いが、在庫保有コストは大きい。他方、sおよびSの値が小さいほど、期待される歳入喪失が高くなることを代償に、在庫コストは低くなる。このトレードオフを考慮すると、目標は、スペース容量、最小/最大注文量、およびリードタイム変動性を考慮しながら、歳入喪失と在庫コストとの間の最適なバランスを達成するよう、各在庫管理単位(stock-keeping unit、「SKU」)-店舗についての最適なs/Sポリシーを決定することである。
【0082】
既知の慣行では、各SKU-店舗についての最適なポリシーは、コスト‐歳入のトレードオフを数値的に評価するために、s/Sの多数の組み合わせに対して大規模なシミュレーションを実行することによって、一般的にはブルートフォース探索を通じて決定される。中規模の食料雑貨店チェーンについては、SKU-ストアの数は300,000に達することがあり、これは、数百万のSKU-ストア・ポリシーについてシミュレーションを実行することを必要とし、これを週ごとに実行することはほぼ不可能である。
【0083】
上記の課題を克服するために、諸実施形態は、図1図7との関連で上記で開示された最適化されたツリー・アンサンブルMLモデルを形成して、需要分布、リードタイム、パック・サイズ、およびスペース容量などの変数に基づいて、種々のs/Sポリシーに関連付けられた喪失歳入および在庫コストを予測する。その目的に向け、諸実施形態は、異なる需要分布およびs/Sの異なる範囲についてSKU-ストア・ポリシーのサブセットについてシミュレーションを実行することによってトレーニング・データセットを構築する。これらのシミュレーションの出力は、ランダムフォレストなどの教師ありモデルをトレーニングするために使用できるラベル付きデータとして機能する。
【0084】
次に、諸実施形態は、目的関数を最小化するために、生成された最適化されたツリー・アンサンブルMLモデルを使用して、混合整数計画として在庫最適化問題を定式化する。典型的な目的関数は、保有コストおよび固定注文(fixed ordering)を含む在庫の総コストと、喪失歳入との重み付けされた組み合わせを最小化することである。これらの制約条件は、スペース容量および種々の供給業者との契約上の合意、ならびにストック在庫において必要な最小限度によって駆動される。プロモーションおよび値下げ価格設定問題と同様に、諸実施形態は、上限最適化定式化を活用し、精度および速度の点で実績〔パフォーマンス〕を調査することができる。MLモデルを用いたこの最適化問題は、大規模シミュレーションに取って代わることになり、よって、種々の制約条件を組み込むことに対してより堅牢であると同時に、計算時間およびハードウェアコストを削減することに関して、大きな改善となる。
【0085】
図9は、ある実施形態による、トレーニングされた最適化されたツリー・アンサンブルを使用して小売品目についての需要モデルを生成するときの図1の需要モデル生成16の機能の流れ図である。上記の図3および図5の機能と同様に、図9の機能は、需要予測モデルを生成し、そのモデルに対して(たとえば、上述のように価格または在庫を)最適化する。
【0086】
902において、諸実施形態は、(200~500個のツリーなどの複数のツリーを含む)ツリー・アンサンブルMLモデルを生成/トレーニングし、それらのツリーについての上限を記憶する。トレーニングは、トレーニング・データセットおよび検証データセットの使用を含むことができ、データは、すべての関連する特徴を含む、小売品目についての履歴販売データであってもよい。
【0087】
904において、諸実施形態は、価格または歳入を最大化することなどの目的関数と、小売品目に関連する任意のビジネス上の制約条件とを生成する。
【0088】
906において、各ツリーのトップ分割が考慮される。
【0089】
908において、分割は、前記上限を使用して、前記ビジネス上の制約条件の任意のもののもとで、最適な子ノードを見つけるように最適化される。
【0090】
910において、新しい実現可能領域が計算される。
【0091】
912において、諸実施形態は、実現可能領域の限界値を使用してツリーを下方に、分割の次のレベルへと進む。
【0092】
914において、すべてのツリーにおけるリーフ・ノードに到達したかどうかが判定される。もしそうであれば、最適化は916で完了する。そうでない場合、機能は908に進む。
【0093】
916で完成した最適化された需要モデルは、次いで、ある種の実施形態では、上記で説明されるように、最適化された価格設定または最適化された在庫レベルを決定するために使用される。
【0094】
図10は、ある実施形態による、本明細書に開示されるような最適化された需要モデルを使用する需要予測を含む、統合された製造、在庫および物流システム1000を示す。諸実施形態は、最適化された需要モデルを使用して、これらのプロセスを完全に自動化することができる。たとえば、最適化された需要モデルを使用し、最適化された価格設定または最適化された在庫レベルを決定した結果として、図1のシステム10は、決定された最終在庫配分のために在庫管理システムからの電子注文を生成することができ、電子注文は、輸送機構を使用して、一つまたは複数の倉庫から一つまたは複数の小売店に、小売品目の再配分された量を送らせ、複数の倉庫のうちの一つまたは複数において、生成された電子注文を履行する。
【0095】
図10に示されるように、システム1000は、将来の製品需要を予測し、場合によっては、一つまたは複数の小売店1001~1004における数十万の製品、またはいくつかの用途では数千万以上の製品についての将来の需要を予測および/または考慮する製品需要予測システム1070を含むことができる。予測システム1070は、クラウドネットワーク1050または他のタイプの通信ネットワークを通じて、一つまたは複数の在庫システム1020および一つまたは複数の製造システム1080と通信する。
【0096】
予測システム1070は、最適化された需要モデルを生成することによって、上記で図1図7に関連して開示された機能を実施することによって需要予測を生成する。在庫システム1020は、在庫を保管し、トラック1010~1013または他の何らかの輸送機構を使用して品目を店舗1001~1004に配送するための輸送物流を提供する。ある実施形態における在庫システム1020は、需要予測システム1070からの入力を使用して在庫のレベルならびに店舗1001~1004への品目の配達の量およびタイミングを決定する企業資源計画(Enterprise Resource Planning、「ERP」)の特化したコンピュータ・システムまたは特化した在庫管理システムを実装する。図10の機能は、いくつかの実施形態では、自動ローディング機構および自動運転輸送および特化したデータ構造を使用して完全に自動化できる。
【0097】
製造システム1080は、在庫システム1020に送られる品目を製造し、トラック1081または他の何らかの輸送機構を使用して品目を在庫システム1020に配送するための輸送物流を提供する。ある実施形態における製造システム1080は、予測システム1070からの入力を使用して、製造する品目の量、製造のために使用される資源の在庫、および在庫システム1020への品目の配送の量およびタイミングを決定する、ERPの特化したコンピュータ・システムまたは特化した製造システムを実装する。
【0098】
予測システム1070は、製品についての需要を予測する際に、在庫システム1020、販売追跡システム(図示せず)、および/またはデータベースからの情報を利用することができる。需要を予測する際に、予測システム1070は、イベント、天候、社会的需要、経済的要因、および他の要因から生じる一つまたは複数の製品の非特徴的な需要を予測しようと試みる。一つまたは複数の製品の需要に影響を及ぼす可能性がある数十、ないし数百、ないし数千の異なる変数を追跡することができる。これらの変数の変化は、非特徴的な需要をもたらす可能性がある。たとえば、予測された天候の変化を追跡することができ、予測された天候に関連する一つまたは複数の変数を、そのような天候の変化が需要に影響を及ぼす可能性があるかどうかを判定する際に使用されることができ、さらに需要の変化を予測することができる。
【0099】
一般に、図10の要素は、販売、製造、または在庫の消費を実行する。直接消費者販売のための小売位置/店舗1001~1004は、ランダムな性質および販売に影響を及ぼす外部要因のために、最も変動しやすい在庫パターンを示す。しかしながら、製造施設および在庫を消費するサイト(製品統合者、インターネット出荷業者等、ローカル施設で使用される製品)も、本明細書に開示される需要予測から利益を得る。開示されるように、各小売店位置1001~1004は、販売データおよび履歴予測データを予測システム1070に送信する。販売データは、前の販売サイクル(すなわち週)、典型的には4~7週間の在庫サイクルにおける、各販売期間、典型的にはそれぞれの日についての、各品目またはSKU/UPCについての在庫枯渇統計を含む。
【0100】
予測システム1070は、販売データをリポジトリ1072に格納し、在庫を補充するための注文を生成するために販売データを使用する。注文は、店舗1001~1004における在庫レベルを維持するための、品目の集合および各品目の量を含む。
【0101】
多くの小売注文方式は、販売期間および販売サイクルについて曜日に依存する。ある構成では、在庫統計が各曜日に固有である在庫統計を有する在庫管理環境において、在庫システム1020は、各曜日について、以前の販売から在庫レベル統計を収集することによって、目標在庫レベルを決定する。諸実施形態は、在庫レベル統計に基づいて、安全ストックが異なる曜日の間の在庫の変動を受け入れるように、曜日ごとの在庫レベルを計算する。諸実施形態は、複数の品目のそれぞれについて、曜日ごとの安全ストックを含む目標在庫レベルを示すストック・レベルをレンダリングする。諸実施形態は、決定された曜日に、レンダリングされたストック・レベルを満たすように注文量が到着するように、リードタイムに基づいて注文量を計算する。実際のストック・レベルを識別することは、履歴データから前の諸週からの曜日のストック・レベルを識別することを含み、よって、その週のすべての日の平均ではなく、経時的に同じ曜日に焦点を当てる。
【0102】
具体的構成では、開示される実施形態は、特化したおよび/または特に大量の小売販売環境との関連で採用されてもよい。大規模な物流および流通業務では、トラックにできるだけ満載に積載することが有益であり、また、後続の移動への品目の延期が必要な場合には、販売活動を中断する可能性が最も低い品目を選択することが有益である。よって、実施形態は、他の品目よりも速く販売され補充される傾向がある高速または高回転率の品目を識別するために、POSシステム99との関連で動作可能である。品目上のUPCバーコード記号または無線周波数識別情報(「RFID」)が含むフィールド、指定、または値が、単独で、またはデータベース検索との関連で、品目を本明細書で定義されるような安全在庫処理に適切な高速品目として指定する。
【0103】
高速品目は、在庫データベースにおいて表される複数の品目のそれぞれについて、製品識別子のためのフィールドと、当該品目についての安全在庫を示すフィールドとを識別し、製品識別子のそれぞれについて、販売量から生じる製品補充需要の増加を示す製品速度に基づいて製品セグメンテーション・フィールドを決定することによって、受け入れられてもよい。開示される実施形態は、速度フィールドに基づいて、安全在庫を計算するかどうか、すなわち、安全在庫に従って補給するためのオーバーヘッドおよび負担が、製品スループットを考慮して価値があるかどうかを判定する。
【0104】
他の実施形態では、供給物流は、1日に1台のトラックよりも高い配達頻度を呼び出し、よって、より高い粒度での補給ウィンドウをトリガーしうる。そのような場合、安全在庫は、月曜日の午前および月曜日の午後など、個々の日よりも特定的であってもよく、または午前7:00、午前11:00、および午後4:00などの特定の曜日内の複数の配送または時間ウィンドウを指定することができる。
【0105】
生成された需要予測を含む実施形態は、供給物流を実施し、輸送される品目の需要および利益マージンに従って配送(すなわち、トラック)および積荷目録(すなわち、含まれる品目)を指定する際に使用されてもよい。高速品目は、特定の配達に関して優先スペースを有すると考えられてもよいが、含まれる品目に関する利益マージンまたはマークアップに基づいてさらに選択され、最大の歳入生成可能性をもつ品目が、含めるために選択されてもよい。
【0106】
本明細書に開示される需要予測を使用し、複数の輸送車両を有するそのような製品在庫出荷環境では、各車両(たとえば、トラック)は、在庫補充のために販売位置に配送するための固定されたペイロードの品目を受け取るように構成される。実施形態は、第1の品目および第2の品目を含む複数の品目の各品目について、安全在庫を計算し、第1の品目および第2の品目の計算された安全在庫に基づいて、配送車両に積み込まれる第1の品目および第2の品目のそれぞれの量を決定することによって、配送車両に積み込む際のガイダンスを提供することができる。実施形態は、第1の品目および第2の品目の決定された数量のために配送車両において利用可能なスペースが不十分である場合、安全在庫に基づいてトラック積み込み数量を再計算する。つまり、ある種の品目が省かれ、後続の配送に延期される必要がある。
【0107】
開示されるように、上限最適化は、アンサンブル・ツリーの予測または該予測に基づく関数のいずれかを最大化/最小化する変数の集合についての値の最良の範囲(すなわち、領域)を見出す。アンサンブル・ツリー学習法では、複数の決定ツリーからの予測を組み合わせて、個々のツリーのいずれか単独から得られるよりも良好な予測性能を得る。各ツリー内で、ブランチは異なる決定経路を表し、各リーフ・ノードは結果を表す。実施形態は、ツリーの構築プロセスを活用して、ツリー分割のいずれかの側で最良のペイオフがどれほどでありうるかに関する情報を、よって上限最適化を記憶する。この情報は、ツリーの深さ全体を探索する必要なく、分割のデータに基づいて作成され、記憶され、逐次反復的な3ステップ・アルゴリズムにおいて迅速に最適化するために使用される。
【0108】
実施形態は、一般に、逐次反復的な仕方でツリーの諸レベルを下に進む。各レベルで、それは、上限に関して最良の子ノードを選択するように最適化し、それに応じて各特徴の限界値を再計算する。
【0109】
実施形態は、効率的な仕方で情報を格納し、取り出すことによってスケーラブルでありうる。これは、ツリーをデータフレームに変換し、分割のいずれかの側の上限がどれほどであるかについての各ノードについての情報を記憶し、該情報を記憶するためにハッシュテーブルなどのデータ構造を活用することによって達成される。そして、一連の最適化を実行する。
【0110】
諸実施形態による上限最適化は、予測に基づく関数を最小化または最大化するその後の最適化問題において、ツリー・アンサンブルなどの非パラメトリック予測モデルを処理することができる。そのような非パラメトリック機械学習モデルは、しばしば予測精度を改善することができ、これはひいては、最適化定式化によって生成される、より堅牢な価格設定および在庫決定につながる。実施形態は、良好にスケーリングし、多数の特徴またはツリーおよび大きいサイズのデータを取り扱うことができる。小売における最適化問題のサイズが、中規模の小売業者については数十万に達する可能性があるSKU/店舗の数に比例するので、これは重要である。
【0111】
実施形態は、ビジネス制約条件を容易に組み込むことができ、扱いやすい。同様の問題に対処しようとする他の解決策とは異なり、実施形態は、問題が制約されないことを必要とせず、または単一の特徴に基づく制約条件を有するだけである。たとえば、価格設定最適化問題では、プロモーションおよび値下げに関連するさまざまな時間的制約条件および製品横断的な制約条件がある。同様に、在庫最適化問題では、供給者との契約上の合意、スペース容量、およびリードタイムに基づいて、数千の制約条件が存在することがある。
【0112】
実施形態は、小売予測および最適化問題の文脈においてのみ適用可能であるのではなく、同様の構造的特性を示す任意のクラスの最適化問題に適用されうる。実施形態は、ツリー・アンサンブルMLモデルを複雑で大規模な最適化問題とシームレスに統合する。実施形態の利点は、以下を含む:最適方法を使用して、機械学習モデルによって生成される予測を、その後の最適化問題において使用することができる;実施形態は、ビジネス制約条件を容易に組み込むことができる;実施形態は、良好にスケーリングし、実サイズの大規模な問題を解くのに適している;実施形態は、広範なクラスの最適化問題に適用されることができる。
【0113】
本明細書を通じて説明される本開示の特徴、構造、または特性は、一つまたは複数の実施形態において任意の適切な仕方で組み合わされうる。たとえば、本明細書全体を通して、「一実施形態」、「いくつかの実施形態」、「ある種の実施形態」、「ある実施形態」、または他の同様の言辞の使用は、その実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれうるという事実を指す。よって、本明細書を通して、句「一実施形態」、「いくつかの実施形態」、「ある種の実施形態」、「ある実施形態」、または他の同様の言辞の出現は、必ずしも、みなが、実施形態の同じグループを指すわけではなく、説明される特徴、構造、または特性は、一つまたは複数の実施形態において任意の好適な仕方で組み合わされてもよい。
【0114】
当業者は、上述の実施形態が、異なる順序のステップで、および/または開示されたものとは異なる構成の要素で実施されうることを容易に理解するであろう。したがって、本開示は、概説された実施形態を考慮するが、本開示の精神および範囲内に留まりながら、ある種の修正、変形、および代替構造が明白であることが、当業者に明白であろう。したがって、本開示の外縁を決定するためには、添付の特許請求の範囲を参照すべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
【国際調査報告】