HANA Demand Forecasting コンポーネントは HANA のアルゴリズムを実行し、将来の一定の期間における販売予測を生成します。このコンポーネント機能は、SAP Customer Activity Repository (CAR) のモジュールである Unified Demand Forecast (UDF) の一部です。このコンポーネントの主眼は、消費者の需要を予測することにあります。本アルゴリズムは、予測および予測区間情報を提供するだけでなく、ワークフローに含まれるすべての製品について、価格弾力性に基づいたデータも提供します。以下では、HANA Demand Forecasting コンポーネントの設定可能なプロパティ、結果グリッド、およびアルゴリズムの概要について説明します。
セクション名 |
プロパティの説明 |
|---|---|
予測のホライゾン |
予測期間の開始日と終了日を設定します。 |
変数 |
以下の変数プロパティを設定します。 製品 ID:入力テーブルから、製品 ID コードが含まれる文字列のみの列 (最長 60 文字) を選択します。 ロケーション ID:入力テーブルから、ロケーション ID コードが含まれる文字列のみの列 (最長 60 文字) を選択します。 トランザクションタイムスタンプ:入力テーブルからトランザクションタイムスタンプが含まれる列を選択します。列の形式は日付またはタイムスタンプである必要があります。 販売単位:入力テーブルから、販売単位量が含まれる数値のみの列を選択します。 収益:入力テーブルから、収益量が含まれる数値のみの列を選択します。 |
休日 (任意) |
特定のロケーションにおける祝日についての情報を含みます。以下の休日プロパティを設定します。 スキーマ:HANA データベースのリストから入力テーブルのスキーマを選択します。テーブル:スキーマからテーブルを選択します。 ビュー:スキーマからビューを選択します。 タイムストリーム ID:入力テーブルから、タイムストリーム ID コードが含まれる文字列のみの列 (最長 10 文字) を選択します。 祝日キー:入力テーブルから、祝日キーが含まれる文字列のみの列 (最長 3 文字) を選択します。 操作ステータス:入力テーブルから、操作ステータスが含まれる整数のみの列を選択します。 タイムスタンプ:入力テーブルからトランザクションタイムスタンプが含まれる列を選択します。列の形式は日付またはタイムスタンプである必要があります。 |
ロケーションと休日のマッピング (任意) |
以下のロケーションと休日のマッピングプロパティを設定します。 スキーマ:ロケーションと休日のマッピングに関する情報が含まれるテーブルを含むスキーマを選択します。 テーブル:スキーマからテーブルを選択します。 ビュー:スキーマからビューを選択します。 ロケーション ID:入力テーブルから、ロケーション ID コードが含まれる文字列のみの列 (最長 60 文字) を選択します。 休日 ID:入力テーブルから、休日 ID コードが含まれる文字列のみの列 (最長 10 文字) を選択します。 |
需要影響要因 (任意) |
以下の需要影響要因プロパティを設定します。 スキーマ:需要影響要因に関する情報が含まれるテーブルを含むスキーマを選択します。 テーブル:スキーマからテーブルを選択します。 ビュー:スキーマからビューを選択します。 製品 ID:入力テーブルから、製品 ID コードが含まれる数値のみの列を選択します。 ロケーション ID:入力テーブルから、ロケーション ID コードが含まれる数値のみの列を選択します。 DIF 属性:入力テーブルから、需要影響要因 (DIF) 属性が含まれる文字列のみの列 (最長 32 文字) を選択します。 タイムスタンプ開始時点:入力テーブルから、タイムスタンプ開始日が含まれる日付のみの列を選択します。 タイムスタンプ終了時点:入力テーブルから、タイムスタンプ終了日が含まれる日付のみの列を選択します。 DIF 値:入力テーブルから、需要影響要因 (DIF) 値が含まれる数値のみの列を選択します。 |
今後の予想価格 (任意) |
以下の今後の予想価格プロパティを設定します。 スキーマ:今後の予想価格に関する情報が含まれるテーブルを含むスキーマを選択します。 テーブル:スキーマからテーブルを選択します。 ビュー:スキーマからビューを選択します。 製品 ID:入力テーブルから、製品 ID コードが含まれる数値のみの列を選択します。 ロケーション ID:入力テーブルから、ロケーション ID コードが含まれる数値のみの列を選択します。 タイムスタンプ開始時点:入力テーブルから、タイムスタンプ開始日が含まれる日付のみの列を選択します。 価格:入力テーブルから、価格が含まれる数値のみの列を選択します。 |
セクション名 |
プロパティの説明 |
|---|---|
設定パラメータ (任意) |
設定パラメータセクションでは、以下の設定を行うことができます。 ダンピング要因 (FC_TREND_DAMP):トレンドリグレッサのダンピング要因を定義します。範囲は 0.00000 以上です。後退の合計量 (MOD_HDM_NEAR_HOLIDAY_DENSITY):中間日の右側 (POST: left) の合計後退量の比率を設定します。HDM-リグレッサには、SYS:CAL:YR:HDM:PRE:* と SYS:CAL:YR:HDM:POST:* の 2 グループがあることに注意してください。PRE リグレッサは休日前の増加を定義しますが、POST リグレッサは休日後の減少を定義します。範囲は 0.50000 以上 1.00000 未満です。 |
| 時間遅延の影響 (任意) | 時間遅延の影響セクションでは、以下を設定します。 監視の重み (MOD_TIME_WEIGHT):本日行った監視に対して、モデリングにおける 1 年前の監視の重みを設定します。この変数で重みを設定することで、すべてのレコードに対してそのタイムスタンプにかかわらず等しい重要性 (つまり重み) を与えるべきかどうか判断できるようになります。たとえば、モデルの作成時にこのパラメータの値を 1 に設定すると、すべてのレコードに対してその記録時刻にかかわらず等しい重要性が与えられます。一方で、このパラメータの値を 1 未満に設定すると、ユーザは、タイムスタンプが新しいレコードに比べて、タイムスタンプが古いレコードほど与える重要性を低くすることができます。範囲は 0.50000 以上 1.00000 未満です。 重みの下限 (MOD_TIME_WEIGHT_MIN):重みの下限を定義します。範囲は 0.00001 以上 1.00000 以下です。 |
在庫切れ検出 (任意) |
在庫切れ検出セクションでは、以下を設定します。 ゼロ販売期間(MOD_OOSD_MIN_LEN):在庫切れ期間の評価で、販売が連続的にゼロであるとみなす最短期間を設定します。範囲は 1.00000 以上です。 確率しきい値 (MOD_OOSD_THRSHLD):品目が在庫切れであるかどうかを決定する確率スコアのしきい値を設定します。各品目の確率スコアは、パラメータ MOD_OOSD_MIN_LEN で指定した値より大きな期間に販売がゼロとなるかどうかに基づいて導出されます。範囲は 1.00000 以上です。 |
時系列分解 (任意) |
得られた結果に対する以下の要因の影響を分解してわかりやすく表示するには、適切な時系列分解チェックボックスをオンにします。 季節性:季節性は、年末年始や隔月ごとなど、年内のさまざまな時期の結果に影響を及ぼす可能性があります。 ユーザプロモーション:ユーザプロモーションは、結果に対して売上の急上昇を伴う影響を及ぼす可能性があります。 休日:クリスマスや感謝祭日のような国民の休日は売上に影響を及ぼす可能性があります。 結果に対するこれらの要因の影響を考慮しない場合は、該当するチェックボックスをオフにします。 |
外れ値検出 (任意) |
外れ値検出セクションでは、以下を設定します。 外れ値検出の設定:外れ値検出のオンとオフを切り替えるチェックボックスです。 平均からの許容可能な距離 (MOD_OUTLIER_MEAN_FACTOR):許容可能な平均からの距離を決定する外れ値検出係数を定義します。 ゼロ以外の監視数の最少数 (MOD_OUTLIER_STD_DEV_FACTOR):外れ値検出のゼロ以外の監視数の最小数を定義します (通常およびプロモーション、ゼロ充填前にカウント)。 標準偏差係数 (MOD_OUTLIER_STD_DEV_FACTOR):許容可能な平均からの逸脱数を決定する外れ値検出係数を定義します。 |
セクション名 |
プロパティの説明 |
|---|---|
基本 (任意) |
コンポーネント名:設定不能です。 外れ値検出セクションでは、以下を設定することができます。エイリアス名:コンポーネント名のエイリアスです。 説明:コンポーネントの用途です。 |
列 |
説明 |
|---|---|
PROD_ID |
製品 ID |
LOC_ID |
ロケーション ID |
TSTMP_FR |
タイムスタンプ開始時点 |
TSTMP_TO |
タイムスタンプ終了時点 |
ACTUAL_UNIT_SALES |
実際の販売単位 |
FC_CONF_INDEX |
予測信頼指数 (FCI) |
FC_UNIT_SALES |
予測販売単位 |
INTERCEPT |
時系列分解コンポーネントの切片です。 |
| TREND | 時系列分解コンポーネントの傾向です |
SEASONALITY |
時系列分解コンポーネントの季節性です |
DAY_OF_WEEK |
時系列分解コンポーネントの曜日です。 |
HOLIDAY |
時系列分解コンポーネントの休日です。 |
| SALES_PROMOTION | 時系列分解コンポーネントのセールスプロモーションです。 |
PRICE |
製品ロケーションに固有の日次ベースの将来価格です。売上と単価に基づいて計算される過去の価格です。 |
PRICE_ELASTICITY |
価格弾力性です。品物またはサービスの価格変動に対する需要量の反応性を表す指標です。 |
FORECAST_INFO_MSG |
予測信頼指数 (FCI) についての詳細情報を提供します。 |
FORECAST_INFO_DIF_DESC |
予測に影響を与える需要影響要因についての詳細情報を提供します。 |
カテゴリ |
製品とロケーションの組み合わせの数 |
基準 |
説明 |
|---|---|---|---|
完全に非弾力的な需要 |
0 |
E = 0 |
需要量があらゆる価格変動の影響を受けないため、このカテゴリは極端な例です。需要量が固定されているため、価格を変更しても結果に影響が及びません。 |
非弾力的 |
0 |
-1 < E < 0 |
デフォルトのパラメータ設定では、UDF により、価格弾力性が 0 より小さく -10 より大きい値になるように制限されます。このため、-1 を超える価格弾力性は非弾力的需要と呼ばれます。つまり、品物またはサービスの需要量に対する価格変動の影響は比較的小さいということです。対照的に、価格弾力性が -1 を下回ると、要求される品物またはサービスの数量に対する価格変動の影響は比較的大きくなり、弾力的需要となります。 |
単位弾力的 |
0 |
E = -1 |
あらゆる価格変動により、数量に同等の相対変化が生じます。たとえば、価格が 20% 変動すると、需要量も 20% 変化します。単位弾力性は、弾力的な範囲と非弾力的な範囲の境界線です。 |
比較的弾力的な需要 |
1 |
E < -1 |
比較的小さな価格変動で比較的大きな数量の変化が生じるため、需要量は価格に対して非常に反応しやすくなります。たとえば、価格が 2% 変動すると、需要量は 20% を超えて (おそらくは 40% 超) 変化することになります。 |
HANA Demand Forecasting コンポーネントは、SAP HANA の SAP Retail アプリケーションのための Unified Demand Forecast (UDF) の一部です。UDF は SAP Customer Activity Repository (CAR) の一部です。UDF では、このプラットフォームに含まれる準リアルタイムの入力データのうち、必要なものをすべて自動的に使用します。このため、UDF は CAR の Demand Data Foundation コンポーネントに依存しています。このコンポーネントは、NW ベースのジョブスケジューリング、バッチジョブの並列化フレームワーク、例外ワークベンチ、IMG 画面の設定などのタスクに対応しています。
統一予測エンジンは、科学的予測に関する複数ソースからの専門知識と方法論を組み合わせたものです。こうしたソースには、SAP の買収会社である SAF AG (SAP Forecasting and Replenishment) と Khimetrics (Demand Management Foundation) などがあります。
UDF を使用すると、ビジネスアナリストは、過去の消費者需要に対してそれぞれの需要影響要因 (DIF) が与えた影響を知ることができます。DIF の例としては、価格変動、プロモーション、季節性、傾向などがあります。分解された値を使用して、小売および消費財における多大なサポートを必要とするアプリケーションに対する将来の需要を予測することができます。さらに、UDF は新しい需要データから学習します。つまり、導入されるデータが増えるほど、自動で需要モデルを適応させ、予測を強化するということです。
インメモリデータベース技術の能力が最大限に活用されています。したがって、ビッグデータで得られるチャンスを十分に活かすことができます。結果として、大量のデータをモデル化し予測して、新たなビジネスシナリオを実現することができます。UDF を使用することで、大量のデータに対応し、準リアルタイム処理を実行して、需要データに関する詳細なインサイトを得ることができます。