価格の概要
Liferayは、商品価格を細かく調整するための堅牢な価格システムを提供します。 1つの商品SKUに対して複数の価格項目を定義し、どのアカウント、アカウントグループ、チャネルが各価格を受け取る資格があるかを決定することができます。 同じSKUに複数の価格エンティティが存在する場合、Commerceの価格設定エンジンは、各チャネルの顧客に対してどのエンティティを使用すべきかを計算します。
以下の概要では、Commerce Pricing Engine v2.0について説明しています。 このエンジンバージョンは、Commerce 3.0以降およびPortal/DXP 7.3以降で使用されているデフォルトのアルゴリズムです。 Commerce 2.1.x 以前のバージョンでは、デフォルトでCommerceの Pricing Engine v1.0 が使用されます。 必要であれば、インスタンスに使用されている 価格設定エンジンのバージョンを変更する ことができます。
Commerceの価格設定システムのコンポーネント
Liferay では、すべての製品はカタログに格納され、各カタログは独自のデフォルト 基本価格リスト と 基本プロモーションリスト を持っています。 これらのリストは、カタログに含まれるすべての商品SKUの基本価格エントリーを保存するために使用され、すべての顧客が利用できるようになります。 また、カスタムの 価格リスト と プロモーションリスト を作成し、よりターゲットを絞った設定可能な価格エンティティを定義することができます。 各エントリーの一部として、数量に応じて商品の特別価格を設定する 価格帯 を定義することもできます。 最後に、 割引 を作成し、価格エントリーを上書きすることなく、その上に適用されるようにします。
基本価格表
基本価格リストは、カタログ内のすべての商品SKUの開始価格エントリを格納します。 これらのエントリは、各SKUに上書きが適用されていないときに使用される標準通貨と価格を設定します。 このリストは、すべてのカタログに対して自動的に作成され、すべてのアカウントとチャンネルで利用可能です。 詳細は、商品の基本価格を設定するを参照してください。
基本プロモーション表
ベースプロモーションリストは、カタログ内のすべての商品SKUのベースプロモーション価格のエントリを格納します。 SKUに適用されると、基本プロモーション価格エントリはすべての顧客に対して基本価格を上書きします。 このリストは、すべてのカタログに対して自動的に作成され、すべてのアカウントとチャンネルで利用可能です。 詳しくはプロモーションの基本リストのリファレンス を参照してください。
価格表
カスタム価格表は、特定の商品の価格項目を保存し、対象となる顧客のみが利用できるものです。 これらのリストは、基本価格リストとは異なる通貨を使用することができ、カタログの全商品または一部の商品のみを含むことができます。 カスタム価格リストの入力は、対象となる顧客に対してSKUの基本価格をオーバーライドします。 また、 Price Modifiers を定義して、特定の価格エントリーを修正することもできます。 詳細は、価格表の作成を参照してください。
プロモーションリスト
カスタムプロモーションリストは、特定の商品のプロモーション価格のエントリーを格納し、対象となる顧客のみが利用できるものです。 これらのリストは、基本価格リストとは異なる通貨を使用し、カタログの全製品または一部の製品のみを含むことができます。 適用されると、対象となるユーザーに対して、SKUの他の価格項目(例:基本価格、階層価格)を上書きする。 これらのリストでは、 Price Modifiers を定義して、特定の価格エントリーを変更することもできます。 有効にされている場合は、元の価格とプロモーション価格、両方が商品ページに表示され、購入者が値下げを確認できます。 詳細は、プロモーションの作成を参照してください。
Liferay DXP 7.4 U42/GA42以前では、Promotion PriceはSale Priceと呼ばれていました。
価格レート
価格帯は、価格入力の中で直接設定され、最低数量要件を満たす注文に対して特定の価格を定義します。 これらの価格は、割引された注文オプションとしてお客様に表示されます。 詳細は、価格レートを使うを参照してください。
割引
割引は価格に上乗せして適用され、価格に優先することなく修正されます。 これらは、既存の価格項目で定義するか、または別のエンティティとして作成し、製品、製品グループ、カテゴリ、出荷コスト、小計、または合計をターゲットに使用することができます。 詳細は、割引の概要を参照してください。
プライシングエンジンによる製品価格の算出方法
プライシングエンジンは、各プライシングコンポーネントがチャネルにおけるSKUの価格にどのように貢献するかを決定する。 エンジンが価格要求を受け取ると、まず商品の 単価 と プロモーション価格 を計算する。 これらの価格をもとに、 最終価格 が決定され、お客様に提供されます。
SKUの単価を計算する
SKUの単価を計算する際、プライシングエンジンは対象となるカスタムプライスリストを検索します。 複数のリストが存在する場合、エンジンは最も高い優先度を持つリストを選択します。 そして、選択されたリストの価格項目から商品SKUを検索します。
SKUのエントリがある場合、アルゴリズムは既存の価格修飾子のそのSKUのエントリを適用し、SKUの単価の合計を使用します。
SKUのエントリーが存在しない場合、エンジンはSKUの基本価格を使用し、最も優先度の高い価格リストの中から修正項目を適用します。 合計がSKUの単価となる。
noteこのエンジンは、最も優先度の高いリストのみを検索し、優先度の低いリストのSKUは検索しません。 これは、同じカタログ内のSKUに異なる価格表の価格が適用されるのを避けるためです。
適格なカスタム価格リストが存在しない場合、エンジンはSKUの基本価格リストの項目を単価に使用します。
その際、適用されるティア価格もチェックされる。 ティア価格がある場合は、その価格が特定の数量のデフォルトの価格の代わりに使用されます。
SKUのプロモーション価格の計算
SKUの単価を計算した後、プライシングエンジンはSKUのプロモーション価格を計算する。 この計算は、2つの例外を除き、基本的には単価の計算プロセスと同じです:
適用可能なプロモーションリストにSKUの価格項目がない場合、既存の価格修飾子が単価に適用され、その合計がプロモーション価格として使用されます。
適用可能なプロモーションリストがなく、ベースプロモーションリストが0に設定されている場合、プロモーション価格は0に設定されます。
SKUの最終価格を計算する
単価とプロモーション価格を計算した後、プライシングエンジンが両者を比較し、より安い価格を選択する。 そして、価格設定アルゴリズムが適用可能なすべての割引を検索し、その価格に適用する。 合計はSKUの最終価格、つまり顧客が製品を購入するために支払う価格である。
プライシングエンジンによる注文価格の計算方法
注文価格を計算する際、プライシングエンジンはまず送料を取得し、送料を対象とした割引を適用します。
次に、エンジンは注文に含まれるすべてのSKUの最終価格を加算して小計を決定する。 小計を対象とした割引が適用されます。
最後に、価格設定エンジンは、割引後の送料と割引後の小計を合計して、注文の合計金額を算出する。 合計を対象とした割引が適用されます。
価格設定エンジン v1.0 リファレンス
価格設定方法 | 概要 | 基本価格のオーバーライドの有無 | 設定場所 | 適用者 | 適用対象 |
---|---|---|---|---|---|
基本価格 | 基本価格 | n/a | 商品SKU | すべての購入者 | 商品SKU |
基本プロモーション | 値下げ価格 | はい | 商品SKU | すべての購入者 | 商品SKU |
価格表(定価、プロモーション価格) | 商品ごと、購入者ごとの特別な価格設定(または通貨 | はい | 価格表 | 選択された購入者(アカウント & アカウントグループ) | 個々の商品SKU |
レート価格表(レート価格、プロモーションレート) | 製品および購入者ごとの特別価格(または通貨)大量に購入する場合 | はい | 価格表 | 選択された購入者(アカウント & アカウントグループ) | 個々の商品SKU |
割引 | 製品または購入者のグループの価格を変更する(数量を制限し、クーポンコードを使用することができます)。 | いいえ | 割引 | 選択された購入者(アカウント & アカウントグループまたは特定の資格を満たす人) | 商品のグループ(または個々の商品SKU) |
Commerce Pricing Engine v1.0では、価格項目はSKU、標準価格、プロモーション価格の3つの要素から構成されます。 v2.0では、それぞれが個別のエンティティとなっています。
Commerce2.1.xでのPricing Engine v2.0の有効化
デフォルトでは、Commerce 2.1.x以前のバージョンではCommerce Pricing Engine v1.0が使用されています。 以下の手順に従って、Commerce Pricing Engine v2.0を有効にします:
コントロールパネルを開き、 [システム設定] → [コマース] → [価格] に移動します。
左パネルの [コマース価格設定] をクリックします。
[価格計算のキー] フィールドで
[v1.0]
を[v2.0]
に置き換えます。[保存] をクリックします。
一度保存すると、インスタンスはすべての価格計算にPricing Engine v2.0を使用します。