今で アマゾン予測、what-if 分析を最大 80% 迅速にシームレスに実行して、需要予測に対するビジネス レバーの潜在的な影響を分析および定量化できます。 Forecast は、ML の経験がなくても、機械学習 (ML) を使用して正確な需要予測を生成するサービスです。 what-if 分析によるシナリオのシミュレーションは、仮想シナリオから起こり得る結果を捉えることで、将来の出来事の不確実性をナビゲートするための強力なビジネス ツールです。 ビジネス上の意思決定が収益や収益性に与える影響を評価したり、市場動向に関連するリスクを定量化したり、顧客の需要を満たすために物流や労働力を編成する方法を評価したりすることは一般的な方法です。
最初に需要を予測するための正確なモデルが必要であり、次にさまざまなシナリオで予測を再現するための迅速かつ簡単な方法が必要になるため、需要予測のために what-if 分析を実行することは困難な場合があります。 これまで、Forecast は正確な需要予測を提供していましたが、Forecast を使用して what-if 分析を実行するのは面倒で時間がかかる可能性がありました。 たとえば、小売販売促進計画は、収益を最大化するための製品の最適な価格を特定するための what-if 分析の一般的なアプリケーションです。 以前の Forecast では、テストするシナリオごとに新しい入力ファイルを準備してインポートする必要がありました。 XNUMX つの異なる価格帯をテストする場合は、最初に XNUMX つの新しい入力ファイルを作成し、データを手動でオフラインに変換してから、各ファイルを別々に Forecast にインポートする必要がありました。 実際には、すべてのシナリオで同じ一連のタスクを実行していました。 さらに、シナリオを比較するには、各シナリオから個別に予測をダウンロードし、オフラインでマージする必要がありました。
本日のリリースにより、最大 80% 高速化された what-if 分析を簡単に実行できます。 シナリオごとにオフラインでデータを操作したりインポートしたりする必要がなくなるため、新しいシナリオを簡単に作成できるようになりました。 これで、製品 A の価格を 90% 倍にする、製品 B の価格を 10 ドル引き下げるなどの簡単な操作で初期データセットを変換することで、シナリオを定義できます。 これらの変換を条件と組み合わせて、シナリオが適用されるパラメーターを制御することもできます (たとえば、製品 A の価格を 1 か所だけ引き下げるなど)。 今回のリリースにより、同じタイプの分析 (プロモーション分析など) または異なるタイプの分析 (地域 2 での販売促進分析や地域 XNUMX での在庫計画など) の複数のシナリオを同時に定義して実行できます。 最後に、シナリオの結果をオフラインでマージして比較する必要がなくなりました。 これで、同じグラフ内のすべてのシナリオにわたる予測予測を表示したり、オフライン レビュー用にデータを一括エクスポートしたりできます。
ソリューションの概要
この投稿の手順では、what-if 分析を使用する方法を示します。 AWSマネジメントコンソール. 予測 API を what-if 分析に直接使用するには、 GitHubレポ 類似のデモンストレーションを提供します。
トレーニング データをインポートする
what-if 分析を実行するには、ターゲットの時系列データ (予測ターゲットを示す) と関連する時系列データ (ターゲットに影響を与える属性を示す) を表す XNUMX つの CSV ファイルをインポートする必要があります。 サンプルのターゲット時系列ファイルには、商品アイテム ID、タイムスタンプ、需要、店舗 ID、都市、および地域が含まれており、関連する時系列ファイルには、商品アイテム ID、店舗 ID、タイムスタンプ、都市、地域、および価格が含まれています。
データをインポートするには、次の手順を実行します。
- Forecastコンソールで、 データセットグループを表示する.
- 選択する データセットグループを作成する.
- データセットグループ名、データセット名を入力します (この投稿では、
my_company_consumer_sales_history
). - 予測ドメイン、予測ドメインを選択します (この投稿では、
Retail
). - 選択する Next.
- ソフトウェア設定ページで、下図のように ターゲット時系列データセットを作成する ページで、データセット名、データの頻度、およびデータ スキーマを提供します。
- データセットのインポートの詳細を提供します。
- 選択する 開始.
次のスクリーンショットは、この例で入力されたターゲット時系列ページの情報を示しています。
進行状況を追跡するために使用できるダッシュボードが表示されます。
- 関連する時系列ファイルをインポートするには、ダッシュボードで、 インポート.
- ソフトウェア設定ページで、下図のように 関連する時系列データセットを作成する ページで、データセット名とデータ スキーマを指定します。
- データセットのインポートの詳細を提供します。
- 選択する 開始.
次のスクリーンショットは、この例で入力された情報を示しています。
予測子をトレーニングする
次に、予測子をトレーニングします。
- ダッシュボードで、 予測子のトレーニング.
- ソフトウェア設定ページで、下図のように 予測子のトレーニング ページで、予測子の名前、予測する将来の期間と頻度、および予測する分位数を入力します。
- AutoPredictor を有効にする - これは、what-if 分析を使用するために必要です。
- 選択する 創造する.
次のスクリーンショットは、この例で入力された情報を示しています。
予測を作成する
予測子がトレーニングされた後 (これには約 2.5 時間かかる場合があります)、予測を作成します。 が表示されると、予測子がトレーニングされていることがわかります。 予測子を表示 ダッシュボードのボタン。
- 選択する 予測を作成する ダッシュボードで
- ソフトウェア設定ページで、下図のように 予測を作成する ページで、予測名を入力し、作成した予測子を選択して、予測分位数 (オプション) と予測を生成する項目を指定します。
- 選択する 開始.
これらの手順を完了すると、予測が正常に作成されました。 これは、what-if 分析を行うために使用するベースライン予測シナリオを表しています。
ベースライン予測の作成についてさらにヘルプが必要な場合は、次を参照してください。 はじめに(コンソール). 次に、what-if 分析を実行する次のステップに進みます。
what-if 分析を作成する
この時点で、ベースライン予測を作成したので、what-if 分析を実行する方法のウォークスルーを開始します。 what-if 分析の実行には XNUMX つの段階があります。分析の設定、シナリオで何が変更されたかを定義することによる what-if 予測の作成、および結果の比較です。
- 分析を設定するには、 what-if 分析を調べる ダッシュボード上。
- 選択する 創造する.
- 一意の名前を入力し、ドロップダウン メニューでベースライン予測を選択します。
- what-if 分析を実行するデータセット内のアイテムを選択します。 次の XNUMX つのオプションがあります。
- すべてのアイテムを選択 がデフォルトで、この投稿で選択します。
- 特定のアイテムを選択する場合は、 ファイルで項目を選択 対応するアイテムと関連するディメンション (地域など) の一意の識別子を含む CSV ファイルをインポートします。
- 選択する what-if 分析を作成する.
what-if 予測を作成する
次に、what-if 予測を作成して、分析するシナリオを定義します。
- 選択する 創造する.
- シナリオの名前を入力します。
次の XNUMX つのオプションを使用してシナリオを定義できます。
- 変換関数を使用する – 変換ビルダーを使用して、インポートした関連する時系列データを変換します。 このチュートリアルでは、ベースライン予測の価格と比較して、価格が 10% 引き下げられ、次に 30% 引き下げられたときに、データセット内のアイテムの需要がどのように変化するかを評価します。
- 代替データセットを使用して what-if 予測を定義する – インポートした関連する時系列データセットを置き換えます。
変換関数ビルダーは、以前にインポートした関連する時系列データを変換する機能を提供します。単純な操作を使用して、データ内の特徴 (価格など) を指定した値で加算、減算、除算、および乗算します。 この例では、価格を 10% 引き下げるシナリオを作成します。価格はデータセットの特徴です。
- what-if予測の定義方法選択 変換関数を使用する.
- 選択する 掛ける 私たちのオペレーターとして、 ブランド を時系列として、0.9 と入力します。
条件を追加して、シナリオをさらに絞り込むこともできます。 たとえば、データセットに地域別に整理された店舗情報が含まれている場合、値下げシナリオを地域ごとに制限できます。 Region_10 にない店舗に適用できる 1% の値下げのシナリオを定義できます。
- 選択する 条件を追加.
- 選択する 等しくない 操作としてRegion_1と入力します。
関連する時系列を変更する別のオプションは、シナリオを定義するデータが既に含まれている新しいデータセットをインポートすることです。 たとえば、10% の値下げのシナリオを定義するには、変更されるアイテムの一意の識別子と 10% 低い価格変更を指定する新しいデータセットをアップロードできます。 そのためには、 代替データセットを使用して what-if 予測を定義する 価格変更を含む CSV をインポートします。
- what-if 予測の定義を完了するには、次を選択します。 創造する.
このプロセスを繰り返して、価格を 30% 引き下げる別の what-if 予測を作成します。
各 what-if 予測に対して what-if 分析が実行されると、ステータスがアクティブに変わります。 これで第 XNUMX 段階が終了し、what-if 予測の比較に進むことができます。
予測を比較する
これで、10% の値下げと 30% の値下げを比較して、両方のシナリオの what-if 予測を比較できます。
- 分析インサイト ページで、 what-if 予測を比較する のセクションから無料でダウンロードできます。
- item_id、分析するアイテムを入力します。
- 仮定の予測、比較するシナリオを選択します (この投稿では、
Scenario_1
&Scenario_2
). - 選択する もしもを比較する.
次のグラフは、両方のシナリオで得られた需要を示しています。
デフォルトでは、P50 とベース ケース シナリオが表示されます。 で好みの分位数を選択すると、生成されたすべての分位数を表示できます。 予測を選択 ドロップダウンメニュー。
データをエクスポートする
データを CSV にエクスポートするには、次の手順を実行します。
- 選択する エクスポートを作成する.
- エクスポート ファイルの名前を入力します (この投稿では、
my_scenario_export
) - でシナリオを選択して、エクスポートするシナリオを指定します。 仮定の予測 ドロップダウンメニュー。 複数のシナリオを結合ファイルに一度にエクスポートできます。
- エクスポート先、を指定します Amazon シンプル ストレージ サービス (Amazon S3) の場所。
- エクスポートを開始するには、 エクスポートの作成.
- エクスポートをダウンロードするには、まず AWS マネジメント コンソールから S3 ファイル パスの場所に移動し、ファイルを選択してダウンロード ボタンを選択します。 エクスポート ファイルには、タイムスタンプ、アイテム ID、ディメンション、および選択したすべてのシナリオ (基本シナリオを含む) の各分位数の予測が含まれます。
まとめ
シナリオ分析は、ビジネスの不確実性を乗り越えるための重要なツールです。 アイデアをストレステストするための先見性とメカニズムを提供し、企業の回復力を高め、準備を整え、将来をコントロールできるようにします。 Forecast は、what-if シナリオ分析の予測をサポートするようになりました。 シナリオ分析を行うには、Forecast コンソールを開き、この投稿で概説されている手順に従うか、 GitHub ノートブック API 経由で機能にアクセスする方法について説明します。
詳細については、 WhatIf分析の作成 開発者ガイドのページ。
著者について
ブランドン・ネア Amazon Forecast のシニア プロダクト マネージャーです。 彼の専門的な関心は、スケーラブルな機械学習サービスとアプリケーションの作成にあります。 仕事以外では、国立公園を探索したり、ゴルフ スイングを完成させたり、冒険旅行を計画したりしています。
アキル・ラージ・アジコダン は、Amazon Forecast に取り組んでいるソフトウェア開発エンジニアです。 彼の関心は、複雑な顧客の問題を解決する信頼性の高いシステムを設計および構築することにあります。 仕事以外では、歴史の学習、ハイキング、ビデオ ゲームを楽しんでいます。
コナー・スミス は、Amazon Forecast に取り組んでいるソフトウェア開発エンジニアです。 彼は、顧客に価値を提供する、安全でスケーラブルな分散システムの構築に注力しています。 仕事以外では、フィクションを読んだり、ギターを弾いたり、ランダムに YouTube の動画を見たりしています。
シャノンキリングスワース Amazon Forecast の UX デザイナーです。 彼は XNUMX 年間、プロセスを簡素化し、ユーザーにとって意味のある方法で新機能を追加することで、Forecast のユーザー エクスペリエンスを改善してきました。 仕事以外では、ランニング、絵を描くこと、読書を楽しんでいます。