ヘッダーをスキップ

Oracle Advanced Pricingインプリメンテーション・マニュアル
リリース12
E05612-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

優先と最善価格

この章では次のトピックについて説明します。

優先と最善価格の概要

価格設定エンジンが複数の価格またはモディファイアを戻す対象として検出したが、価格設定エンジンとユーザー定義のルールによって複数の対象の適用が禁止されている場合に、非互換が発生します。「イベント・フェーズ」ウィンドウの「非互換性解決コード」フィールドを「優先」または「最善価格」に設定することにより、非互換性を解決できます。

デフォルトの優先番号

優先による非互換解決では、価格設定エンジンは価格設定属性およびクオリファイア属性に割り当てられた優先番号を評価します。シード済属性およびユーザー入力の属性の優先番号は、「コンテキスト設定」ウィンドウの「優先」フィールドで定義されます。

属性および属性の優先値は、「価格表」ウィンドウ、「モディファイア」ウィンドウおよび「クオリファイア」ウィンドウの適切な価格表にデフォルト設定されます。ただし、価格表、モディファイアまたはクオリファイア明細の特定の属性について優先値を変更する場合は、特定の明細の優先値のみを手動で上書きできます。この上書きでは、その明細の優先値のみが変更されます。ただし、属性の実際の優先番号を更新して新しい値にデフォルト設定されるようにするには、「コンテキスト設定」ウィンドウで優先番号を変更する必要があります。

警告: 将来のアップグレードで問題が発生しないように、「コンテキスト設定」ウィンドウではシード済属性の元の優先番号は変更しないでください。

優先と価格設定属性

価格設定コンテキスト(品目コンテキストを除く)に定義された属性に対する優先番号は、価格設定エンジンによる優先判別時の評価に関して重要な意味はありません。

モディファイア/価格表に対する一致クオリファイア

価格設定エンジンは、優先を順序付けするときに、価格表またはモディファイアに対する一致クオリファイアのみを評価します。一致クオリファイアとは、TRUEとして評価される属性のことです。クオリファイアはOR条件で定義することができるため、価格表またはモディファイアの設定時に存在している一部のクオリファイア属性は、エンジンによって選択されない、つまり対象とされない場合があります。価格設定エンジンは、クオリファイア属性を順序付けして最上位優先度が設定されている属性を判別するときに、一致クオリファイアのみを使用します。

次の表に、モディファイア・リストの各属性に対して属性番号が設定されたシード済のクオリファイア・コンテキストとクオリファイア属性をいくつか示します。クオリファイア属性である基本契約タイプと顧客区分はグループ化番号が同じで、受注タイプはグループ化番号が異なります。エンジンがモディファイアを選択するには、受注について基本契約タイプと顧客区分がTRUEであるか、受注タイプがTRUEである必要があります。この例では、受注タイプがTRUEで、基本契約タイプと顧客区分はFALSEです。受注タイプが一致属性です。優先の評価には、受注タイプに対する値のみ使用されます。

注意: 明細の有効な優先 = 最小(製品/クオリファイア優先)

グループ化番号 クオリファイア・コンテキスト クオリファイア属性 優先 一致するかどうか
1 顧客 基本契約タイプ 240 不一致
1 顧客 顧客区分 310 不一致
2 受注 受注タイプ 470 一致

価格表の非互換解決

価格設定エンジンは、フェーズ順序0で価格表から基準価格を計算するようにコーディングされています。フェーズ0は、非互換性解決コードが優先でコーディングされています。この設定は変更できません。価格設定エンジンは、価格設定要求に対して複数の価格表の価格が適用可能であると判断した場合、クオリファイア属性と品目属性を順序付けして非互換を解決しようとします。この詳細は、この章の優先による解決の項で説明します。

複数の価格表明細が一致し優先度が同じ場合、価格設定エンジンは一致した価格設定属性が多い価格表明細を選択します。価格表間の非互換が解決できない場合は、価格を適用できないことを示すエラー・メッセージが呼出し側アプリケーションに戻され、非互換がある価格表の名前がリストされます。

モディファイアの非互換解決

モディファイア処理に関連するフェーズに対する非互換性解決コードは、シード済値から、ビジネス・ニーズを反映する値に変更できます。この例外はフェーズ0で、このコードは変更できません。

モディファイアに対する最善価格による解決

非互換のモディファイアはモディファイア・タイプ間にわたる場合があります。したがって、エンジンが最善価格によって非互換性を解決するとき、同じ基準でモディファイアを評価する必要があります。このように評価するために、各モディファイアについて共通の特典パーセントを計算します。次の表は、各モディファイア・タイプの最善価格の評価に使用されるモディファイア値を示しています。

モディファイアのタイプ モディファイア値
値引/追加料金: パーセント 定価%
値引/追加料金: 金額 金額
値引/追加料金: 新価格 定価-新価格
値引/追加料金: 総額 総額/明細数量
価格分岐 価格分岐の最善価格の比較は、一致する分岐モディファイアとその定価×%の値に基づきます。
条件代替 モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。
品目アップグレード モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。
クーポン発行 モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。
他の品目値引 モディファイア明細の「比較値」フィールドで定義された見積値引値。
販促品 モディファイア明細の「比較値」フィールドで定義された見積値引値。
運送費 値引および追加料金と同じです。

価格設定エンジンは、算式を使用するモディファイアは最善価格の計算の対象としません。

共通の特典パーセントの計算

価格設定エンジンは、モディファイア・タイプを評価して最善価格となるモディファイアを判別するために、共通の基準を必要とします。このために、共通の特典パーセントを計算します。一部のモディファイア・タイプについては、エンジンが最善価格の評価に使用できる明確な値がないため、エンジンは、ユーザーがモディファイア要約明細の「比較値」列に入力した値を使用します。エンジンは、比較値(分子)を、モディファイアが適用される品目の定価(分母)で除算して、特典パーセントを計算します。特典パーセントは、評価対象のモディファイア明細に対する他の特典パーセントと比較されます。特典パーセントの数値が最も大きいものが、最善価格となるモディファイアです。エンジンはこのモディファイアを適用します。

注意: 比較値はユーザー入力フィールドです。価格設定エンジンは、この値を使用して共通の特典パーセントを計算します。

最善価格の計算におけるバケットの無視

価格設定エンジンは、モディファイアの選択および最善価格の計算の判定時に、バケットを無視します。最善価格は、定価からの値引で計算されます。たとえば、品目の定価が100ドルだとします。エンジンは、品目がモディファイアA、BおよびCの適用対象であることを確認します。モディファイアBとCは非互換で、エンジンは最善価格によって非互換性を解決する必要があります。モディファイアBは次のように計算されます。

モディファイアCは次のように計算されます。

この結果、より有利な価格であるモディファイアBが選択されます。

モディファイア 非互換 バケット 適用方法 最善価格の計算 エンジンの選択
A 該当なし 1 パーセント 20 = 選択
B レベル1 2 新価格 75 75 選択
C レベル1 2 パーセント 12.5 87.5 非選択

適用対象のモディファイアのみが計算エンジンに送信されると、これらのモディファイアは適切なバケットで計算されます。この例では、計算エンジンは定価100ドルを取得し、バケット1の値引20%分を減算し、販売価格は80ドルになります。次に、エンジンは80ドルからバケット2の値引を計算します。モディファイアBは新価格の値引であるため、5ドルの値引が作成され、新販売価格は75ドルになります。

モディファイアに対するヘッダー・クオリファイアと明細クオリファイア

優先を判別するために、エンジンは、モディファイア明細に対して、適用対象となるすべてのヘッダー・レベル・クオリファイアと明細レベル・クオリファイアおよび品目コンテキストを選択します。次に、最小の優先番号が設定されている属性を選択します。この属性が非互換解決に使用されます。

優先処理時に複数のモディファイアが優先処理に基づいて関連付けられた場合、エンジンは設定されている優先を下回らない、最善価格処理を使用して非互換を解決します。

優先によるモディファイアの非互換解決

フェーズの非互換性解決コードが優先で、複数のモディファイア明細が適用対象となる場合、エンジンは次のように非互換を解決します(この例の場合、すべてのクオリファイア属性が一致していると仮定しています)。

モディファイア コンテキスト・タイプ コンテキスト 属性 優先番号 優先の選択 非互換性の解決
A クオリファイア 顧客 基本契約タイプ 240 選択 非選択
A クオリファイア 顧客 顧客区分 310 非選択 非選択
A 価格設定 品目 品目番号 300 非選択 非選択
B クオリファイア 受注 受注タイプ 470 非選択 非選択
B 価格設定 品目 品目カテゴリ 290 可能 非選択
C クオリファイア 受注 受注額 100 選択 選択
C 価格設定 品目 品目番号 200 非選択 非選択

最初に、エンジンは、モディファイアごとに最小の優先番号が設定されている属性を選択します。モディファイアAについては、基本契約タイプが最も小さい番号であるため選択されます。モディファイアBについては品目カテゴリが選択され、モディファイアCについては受注額が選択されます。

エンジンは、3つのモディファイアの優先番号を順序付けして非互換性を解決します。モディファイアCの番号が最も小さいため、最上位優先度であるとして選択されます。このモディファイアがエンジンによって戻されます。

フェーズの非互換性解決コードが優先であり、エンジンが複数のモディファイア間の非互換性を優先によって解決できない場合、エンジンは最善価格による解決を使用して非互換性を解決します。複数のモディファイアの計算結果が同じ最善価格になる場合、エンジンはその中から1つをランダムに選択して、呼出し側アプリケーションに戻します。

非互換グループの設定

価格設定エンジンが複数のモディファイアを戻す対象として検出したが、適用できるモディファイアがそのうちの1つのみの場合に非互換性が発生します。モディファイア明細間に非互換がある場合、価格設定エンジンは優先値を評価し、最上位優先度(優先番号1が最上位優先度)が設定されているモディファイア明細を選択して非互換を解決しようとします。

注意: フェーズの非互換処理の優先度を決定する非互換性解決コードは、「優先」に設定する必要があります。

最上位優先度が設定されているクオリファイア属性または品目属性が他のすべての属性より優先され、エンジンは、この属性が含まれているモディファイアを選択します。

注意:

フェーズ順序、フェーズ名および非互換グループ名でモディファイアを問い合せ、「非互換グループ」ウィンドウに結果を表示するには、「非互換グループの検索」ウィンドを使用します。問合せはフェーズ固有のもので、リスト明細調整フェーズのような特定のフェーズに割り当てられているモディファイア明細のみ戻します。選択したフェーズのすべてのモディファイア明細を表示でき、非互換グループを変更または割り当てることができます。関連モディファイアとその明細詳細を表示および編集するには、「モディファイア」をクリックします。

非互換解決の例

次に、優先または最善価格によるモディファイアと価格表の非互換処理の例を示します。

価格表: 優先による非互換解決

次の表に、各属性に対して優先番号が設定された、シード済のクオリファイア・コンテキスト、クオリファイア属性および品目コンテキストと品目番号属性をいくつか示します。

コンテキスト・タイプ コンテキスト 属性 優先番号 価格表
クオリファイア 顧客 基本契約タイプ 240 B
クオリファイア 顧客 顧客区分 310 A、B
クオリファイア 受注 受注タイプ 470 A
価格設定 品目 品目カテゴリ 290 A、B

次の設定について考えます。

価格表A

価格表B

両方の価格表に品目カテゴリZの価格が記載されています。品目Xは品目カテゴリZに属しています。品目Xに対して定義されている価格表はありません。

Oracle Order Managementで品目Xが注文されます。Oracle Order Managementから価格表名を含まない価格設定要求が価格設定エンジンに送信された場合、価格設定エンジンは品目Xの価格表を検索する必要があります。価格設定エンジンは品目Xの価格を検出しませんが、品目Xが品目カテゴリZに属していることがわかります。品目カテゴリZは、価格表Aと価格表Bの両方に記載されています。1つの品目に対して戻すことができる価格は1つのみであるため、エンジンはどちらの価格表を選択するかを決定する必要があります。

この問題を解決するために、エンジンは最初に価格表Aのクオリファイア属性と品目コンテキスト属性を評価します。価格表Aで、顧客区分の優先番号は310、品目カテゴリの優先番号は290です。したがって、エンジンは、価格表Aの最上位優先として品目カテゴリを選択します。

価格表Bで、基本契約タイプの優先番号は240、受注タイプの優先番号は470です。したがって、エンジンは品目コンテキストと比較するために、番号240が設定されている基本契約タイプを選択します。優先番号が290の品目カテゴリが番号240の基本契約タイプと比較されます。基本契約タイプの番号の方が小さく、これは価格表Bでの最上位優先です。エンジンは価格表AとBの優先番号を、最も小さい番号から最も大きい番号まで順序付けします。エンジンは最も小さい番号(最も優先度が高い番号)を選択します。

エンジンは、次の表に示すように属性を順序付けします。

コンテキスト・タイプ コンテキスト 属性 属性番号 価格表
クオリファイア 顧客 基本契約タイプ 240 B
価格設定 品目 品目カテゴリ 290 A、B

基本契約タイプの属性番号は240であるため、価格設定エンジンは品目Xの価格を価格表Bから選択し、この情報を呼出し側アプリケーションに戻します。

注意: 呼出し側アプリケーションが、価格設定要求で有効な価格表をエンジンに送信し、この価格表の価格を受信する場合、エンジンは優先による解決を実行せずに、指定された価格表の価格を戻します。前述の例を使用すると、Oracle Order Managementから価格表Aを使用する価格設定要求が送信され、その適格ルールが一致する場合、エンジンは価格表Aの価格をOracle Order Managementに戻し、非互換処理を実行する必要はありません。

デフォルトの優先番号は、設定時に「価格表」ウィンドウで変更できます。

モディファイア: 優先による非互換解決

次の例で、価格設定エンジンは優先による解決に基づいて次のモディファイアを選択します(この例の場合、すべてのクオリファイア属性が適格であると仮定しています)。

リスト明細調整フェーズでは次のように選択されます。

明細手数料フェーズでは、この非互換レベルのモディファイアが他にないため、「再包装手数料」が適用されます。

ヘッダー・レベル調整フェーズでは、「新規サイト値引」は排他グループであるため、このフェーズで適用される唯一のモディファイアです。

ヘッダー・レベル手数料フェーズでは、この非互換レベルのモディファイアが他にないため、「取扱手数料」が適用されます。

価格設定フェーズ モディファイア 非互換グループ クオリファイア/製品属性 優先 エンジンの選択
リスト明細調整 優先値引 レベル1 顧客区分
品目番号
310
220
選択
リスト明細調整 サマー・キャンペーン レベル2 販売チャネル
全品目
320
315
非選択
リスト明細調整 XYZブランド値引 レベル2 品目カテゴリ 290 選択
明細手数料 再包装手数料 レベル1 品目番号 220 選択
ヘッダー・レベル調整 新規サイト値引 排他 サイト使用
品目ALL
270
315
選択
ヘッダー・レベル調整 受注額による値引 レベル1 顧客名
品目番号
260
220
非選択
ヘッダー・レベル調整 独立記念日キャンペーン レベル1 販売チャネル
全品目
320
315
非選択
ヘッダー・レベル手数料 取扱手数料 レベル1 なし なし 選択

モディファイア: 最善価格による非互換解決

価格設定エンジンは、モディファイアAとモディファイアBが非互換であることを確認します。フェーズの非互換性解決コードは最善価格に設定されています。モディファイアAは10%の値引で、モディファイアBは他の品目値引で比較値は200です。モディファイアが適用される品目の定価は1000ドルです。エンジンは、共通の特典パーセントを計算して、最も数値の大きいモディファイアを判別します。

モディファイア 計算 共通の特典パーセント 最大数値
A 10% なし 10 非選択
B 200比較値 200比較値/1000定価 20 選択

モディファイアBの共通の特典パーセントが最も大きいため、最善価格の値引として適用されます。

注意: 最善価格処理は、受注レベルのモディファイア・タイプ(「値引」、「追加料金」、「運送および特別手数料」)には使用できません。